[Printing-architecture] Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel

Michael Sweet msweet at apple.com
Tue Feb 25 13:42:00 EST 2014


Till,

Some comments inline...

On Feb 25, 2014, at 12:01 PM, Till Kamppeter <till.kamppeter at gmail.com> wrote:
> Hi,
> 
> a new standard not yet supported under Linux but starting to penetrate
> the market is IPP-over-USB (Internet Printing Protocol over USB).
> ...
> Fortunately, the PWG has added a standard to make it also go into USB
> printers, IPP-over-USB. Problem is that there is no Linux support for that.

Actually, it was the USB Implementers Forum (USB-IF) that defined and published the IPP USB specification, not the PWG.

> First, I want to make a feature request to the kernel to add it.

I don't think the kernel is the right place for this.  IPP USB isn't like IP-over-USB, and you'll want the interface to provide arbitration and multiplexing of HTTP requests over the available IPP USB interfaces.

> Second,
> I want to suggest this as a Google Summer of Code project, asking for
> mentors on the kernel side. Mentoring Organization will be the Linux
> Foundation, hosting projects for both OpenPrinting and the kernel.

This will make an excellent SoC project, but you'll need someone familiar with Avahi, libusb, HTTP, systemd, and general networking for this.  This isn't a kernel project.

> It should not be too complex. Probably one can start on the driver for
> USB Ethernet or WLAN sticks, as they are also USB devices which
> introduce a network interface to the system. What one has to do is to
> create a driver for another, probably similar device, the IPP-over-USB
> printer. The driver should not be specific to the printer model (it is
> an open standard protocol) and it also should provide a network
> interface to the system under which there is only found the printer. The
> printer should be accessible under this interface via port 80 (web
> interface), 631 (IPP), and 443 (encrypted).

OK, let's be clear on this - you DO NOT do SSL/TLS over IPP USB.  As there is no connection management, you would never be able to safely do a TLS negotiation or session management, and once encrypted you would not be able to multiplex access to the limited number of USB interfaces that are provided by the printer.

Conceptually you might want to support encryption to the IPP USB "proxy" (assuming you allow remote access to the local USB printer), but communications from the proxy to the USB printer need to be unencrypted.

_________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4881 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140225/bf60a090/attachment-0001.bin 


More information about the Kernelnewbies mailing list