[cups.development] cups cupsBackChannelRead

Michael R Sweet msweet at apple.com
Fri Jan 25 09:34:36 PST 2008

velupillai wrote:
> Hello,
> Thanks for your response.
> It is the standard usb backend which is used.
> We are working for the manufacturer of the USB Printer.
> We have developed driver (The printing is working -- But we cannot receive the status)
> To Get the status we have to send a request. We do that directly in the data flow.
> The Printer sends a response (one byte) which is received by the backEnd
> (trace "Received 1 bytes of back-channel data!")
> We see in the sources that the Backend call "CupsBackchannelWrite"
> (this function write in fd=3)
> In our process (ijsserver) we try to get the status Byte by calling
> cupsBackChannelRead
> _bytes = cupsBackChannelRead(_buffer,1, 0.0)) which return -1

You can't read back-channel data from an IJS-based printer driver.
You MUST use CUPS raster, as IJS does not pass the back (or side)
channel file descriptors to the driver...

Also, using a timeout of 0 isn't recommended unless you are polling
on a regular basis.

Michael R Sweet                        Senior Printing System Engineer

More information about the cups-devel mailing list