[Pkg-cups-devel] Bug#533468: Bug might be in SpliX or the printer itself
Ulrich Eckhardt
doomster at knuut.de
Thu Jun 18 22:07:13 UTC 2009
Jeroen, I'm CC'ing you because you are the Debian SpliX maintainer.
I have been looking at the output generated by the filter[1] and at the
sources of SpliX, which is the one that converts between some rasterized
format and the one for the printer. The SpliX homepage has a document with
information about the reverse-engineered protocol where it claims that the
printer reads a fixed 32-bit value (0x09abcdef) and depending on the byte-
order switches into little endian or big endian mode for the bands, similar to
a byte-order marker (BOM) under Unicode.
Now, the reason why I don't rule out a printer defect is that it seems that
the format generated by the driver is correct, according to the spec. However,
that still doesn't rule out that simply the spec is wrong, after all it's not
an official document from the printer vendor.
Anyhow, I modified the sources to always create little-endian output and now I
can at least print. I need to clean up the sources and generate diffs still,
which won't be before Sunday, but I wanted to give that update here. Maybe
someone else beats me to it and finds the bug first.
Cheers and good night!
Uli
[1] Copy the following script in /usr/cups/filter/teefilter
#!/bin/bash
cat \
| tee /var/tmp/printjob_$1_in \
| /usr/lib/cups/filter/rastertoqpdl "$1" "$2" "$3" "$4" "$5" $6 \
| tee /var/tmp/printjob_$1_out
and change the line
*cupsFilter: "application/vnd.cups-raster 0 teefilter"
in the copy of the PPD file under /etc/cups/ppd in order to sniff the input
and output of each printjob.
More information about the Pkg-cups-devel
mailing list