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

Carlos Rimola crimola at gmail.com
Wed Feb 26 21:33:02 EST 2014


Hi All,

I have some quick and general questions regarding IPP over USB ("IPP USB"
for short). Some are related to Till's proposed project "Google Summer of
Code 2014 - IPP-over-USB printer support". Any help and feedback will be
greatly welcomed. I should mention that I am in favor of the proposed
project for this event.

Assumptions (please confirm or correct):

1) This first one may be obvious but to be sure - I am assuming that we are
referring to IPP USB as defined in the "USB Print Interface Class IPP
Protocol Specification Revision 1.0" dated 12/5/2012 and published by
USB-IF and authored by HP's Smith Kennedy and Andrew R. Mitchell. I'll
refer to it as the "IPP USB Spec".

2) As I understand the IPP USB Spec, there is NO network interface, NOR
TCP/IP involved. The Communication Protocol to be used between Host and
Device (Printer) is *purely HTTP + IPP directly over USB*. A place where
this is noted is section 6.2 - "HTTP Headers" which states the following:

*Since there is NO network interface connection, NO DNS hostnames or IP
addresses, and NO TCP port numbers associated with USB connection, the
requirements of the HTTP Host field is addressed by requiring that the
value of this header MUST be "localhost".*

Please correct me if I am wrong on either of these assumptions.


Questions:

1) I know the Spec is already cast in stone but I would like to understand
what function HTTP serves and if it is only used for identifying "Host:
localhost" and the "/ipp/printer" path? In other words, could pure IPP
Requests/Responses and IPP expected format "Print Data" have sufficed?

 2) Section 3.2 "Interface Set" paragraph 2 states that "All IPP USB capable
Print class interfaces provided by a device MUST be functionally equal from
an IPP operation or HTTP perspective.  In other words, any IPP operation or
resource path that is valid over one IPP USB interface MUST be
reachable viaany and
all of the IPP USB interfaces."

Does this imply that, for example, a Request from the host can be sent over
one interface (I/F #1) and the response received over a different interface
(e.g., I/F #2)?

3) The last question is much simpler but would be helpful to an implementor
- what specific printers (manufacturer, line and model) *on the
market*support IPP USB? I have seen references to HP Photosmart and
OfficeJet but
no model given. Similarly, what Host(s) on the market, including OS and
version, support the IPP USB protocol with these Printers?

Knowing this would be helpful to implement and test either device and/or
host support.

I look forward to your reply and discussing the project further.


Thanks!


Carlos Rimola

Software Developer

crimola at gmail.com

408-508-8339
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140226/e66c5340/attachment-0001.html 


More information about the Kernelnewbies mailing list