Backend for Canon network protocol
mike at easysw.com
Sat May 3 17:02:34 PDT 2008
Louis Lagendijk wrote:
> A month ago I bought a Canon multi functional with network
> capabilities. This happens to use a proprietary protocol (BJNP), for
> which I could not find any documentation or drivers. I have now
> reverse engineered the protocol and written a first draft of a Cups
> backend. This is piggy backed on the existing socket backend. The
> changes are pretty small. Would there be interest in including this
> backend in CUPS?
Possibly, just depends on how extensive the changes are.
> If so, I can cleanup the code and add missing bits
> and pieces. If not, would it be ok to package my code with the
> relevant parts of Cups (mainly a copy of socket.c and small
> modifications to runloop.c) and release it under GPL?
Sure, that's in line with both the spirit and "the law" of the
> For those interested: I have made some changes to runloop.c that
> allow me to use my own write functions that do the Canon bjnp magic.
> I have for now copied socket.c, but could easily make it double as
> both socket and bjnp driver. best regards, Louis
If it is just a matter of providing some encoding on top of a
regular socket connection, it might make sense to write a port
monitor instead - then any Canon driver PPD can use:
*cupsPortMonitor socket/BJNP: "bjnp"
to tell CUPS to use the port monitor with the socket backend.
Michael Sweet, Easy Software Products mike at easysw dot com
More information about the cups