cups cupsBackChannelRead

Michael Sweet mike at easysw.com
Mon Jan 28 08:35:23 PST 2008


velupillai wrote:
>> 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...
>>
> 
> So How can we get the printer status ?
> The backend receive the response (we verified it's the good one)
> Now what can we do ?
> Our IJS Server is already operational and delivered to our client.

You could do a port monitor, which is a separate filter between
your driver and the backend, but longer term you really want to
do a CUPS raster driver.  IJS requires Ghostscript, which kills it
as a solution systems without it (e.g. Mac OS X).

-- 
______________________________________________________________________
Michael Sweet, Easy Software Products           mike at easysw dot com




More information about the cups-devel mailing list