From mboxrd@z Thu Jan 1 00:00:00 1970 From: crimola@gmail.com (Carlos Rimola) Date: Tue, 4 Mar 2014 14:28:11 -0800 Subject: [Printing-architecture] Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel In-Reply-To: References: <530CCC53.8070007@gmail.com> <3F2A4315-4F2C-4BB1-BC9C-67B6F6BCD3A3@apple.com> <20140226014714.GA8346@kroah.com> <8E2929D6-4A60-4D27-9012-5250503D9B51@apple.com> <20140226230247.GA8283@kroah.com> <1A785707-19A7-43D8-8B21-98707C89AFCC@apple.com> <93BF1B5B-19A0-4C58-8D0D-C9B966AA44D7@apple.com> Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org Hello All, I have a couple of "simple" follow-up questions on IPP USB (IPP-over-USB) "Host device" support: Is IPP USB designed to support connecting and printing from a device like a tablet or smartphone (e.g., iPad, iPhone, Etc.) directly connected to a printer over USB? If the answer is yes - is there any device that currently supports this? I imagine a special cable or converter would be needed? Or is IPP USB designed only for Hosts like Linux or Mac acting as print servers/gateways for these, and other, devices? Thanks, Carlos On Thu, Feb 27, 2014 at 11:29 AM, Michael Sweet wrote: > Carlos, > > Any Mac running OS X 10.9 supports IPP USB; note that we have a bunch of > pending bug fixes (sorry, can't say when the fixes will be released...) > that address issues found in testing with multiple vendors' implementations > of IPP USB, but the current 10.9.2 will work with all of the HP printers > mentioned below. > > > On Feb 27, 2014, at 2:23 PM, Carlos Rimola wrote: > > Michael, > > Thanks for the comprehensive response to my questions on IPP USB and > confirming my assumptions. > > The only remaining question I have for the list at this time is - are > there any Hosts, including model, OS and OS version (or other S/W > requirements), presently available on the market (or otherwise) which > support IPP USB as per the Specification? > > Thanks again, > > Carlos Rimola > > > On Thu, Feb 27, 2014 at 7:37 AM, Michael Sweet wrote: > >> Carlos, >> >> On Feb 26, 2014, at 9:33 PM, Carlos Rimola wrote: >> >> 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". >> >> Correct. >> >> 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. >> >> >> Correct (a port number can be passed by the "client" over USB to allow >> gateways/proxies to work...) >> >> 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? >> >> While you might get away with that for simple IPP messages, that wouldn't >> work for document data since IPP by itself has no framing or other niceties >> - you'd never know when the data ended. >> >> Also, the HTTP portion is used for the embedded web server, doing >> firmware updates, and so forth. >> >> >> 2) Section 3.2 "Interface Set" paragraph 2 states that "All IPP USBcapable >> 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 via any 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)? >> >> No, each interface is an independent channel to the printer. >> >> The reason for this requirement is to prevent having an IPP USB endpoint >> just for printing, and another just for scanning, and so forth. >> Effectively IPP USB defines an interface protocol that allows arbitrary >> HTTP and IPP requests to be performed. >> >> 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? >> >> Here is the latest list we have from HP: >> >> Deskjet 3520 >> Envy 120 >> Envy 4500 >> Envy 5530 >> Officejet 3620 >> Officejet 4630 >> Officejet 7610 >> Officejet Pro 276 MFP >> Officejet Pro X576 dw >> Photosmart 5520 >> Photosmart 6520 >> Photosmart 7520 >> >> I know of four other manufacturers that either have shipping products or >> will soon be shipping - will post here when I can do so publicly... >> >> _________________________________________________________ >> Michael Sweet, Senior Printing System Engineer, PWG Chair >> >> > > _________________________________________________________ > Michael Sweet, Senior Printing System Engineer, PWG Chair > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140304/68b3db88/attachment-0001.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=cLCIqdImpj+5vQxUkSVsBDf+JiLJqrskVodSfylFAEc=; b=TzB/K1hQ+p8+Qhkj9xVgUaqQ7S+PQv5lZYnDWFxE3TJsI8E4O0EYyySBd0jRh3n8S6 pyz/hzJrzPEP1nsw0L9nw+V4OnIcGmqkQd5HWQXfinJMmkCxf1HJ7vC8+viUr0srDbPq wSsSbOorcKi0WiujOkNVaIdYeWcgU6qEwsQiysAOPdYHJRwuE5DOhsYkO01EN9Eni42Y d14prj+Vt+GEAazx/0FNGydhyfcJizqbZBX16n5CW35BqoToJUkychdNoxRMPbJFiqLE Dp2w07nunirAhO9PxcQC7KxXJVHNqm6iOHmm92C1PmHjhku3BaJcf9imjRFFKLho8hrs qlrw== MIME-Version: 1.0 In-Reply-To: References: <530CCC53.8070007@gmail.com> <3F2A4315-4F2C-4BB1-BC9C-67B6F6BCD3A3@apple.com> <20140226014714.GA8346@kroah.com> <8E2929D6-4A60-4D27-9012-5250503D9B51@apple.com> <20140226230247.GA8283@kroah.com> <1A785707-19A7-43D8-8B21-98707C89AFCC@apple.com> <93BF1B5B-19A0-4C58-8D0D-C9B966AA44D7@apple.com> Date: Tue, 4 Mar 2014 14:28:11 -0800 Message-ID: From: Carlos Rimola Content-Type: multipart/alternative; boundary=001a11c25dea545f5104f3cf6b39 Subject: Re: [Printing-architecture] Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel List-Id: Printing architecture under linux List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Sweet , "printing-architecture@lists.linux-foundation.org" , Ubuntu Kernel Team , kernelnewbies@kernelnewbies.org, Till Kamppeter --001a11c25dea545f5104f3cf6b39 Content-Type: text/plain; charset=ISO-8859-1 Hello All, I have a couple of "simple" follow-up questions on IPP USB (IPP-over-USB) "Host device" support: Is IPP USB designed to support connecting and printing from a device like a tablet or smartphone (e.g., iPad, iPhone, Etc.) directly connected to a printer over USB? If the answer is yes - is there any device that currently supports this? I imagine a special cable or converter would be needed? Or is IPP USB designed only for Hosts like Linux or Mac acting as print servers/gateways for these, and other, devices? Thanks, Carlos On Thu, Feb 27, 2014 at 11:29 AM, Michael Sweet wrote: > Carlos, > > Any Mac running OS X 10.9 supports IPP USB; note that we have a bunch of > pending bug fixes (sorry, can't say when the fixes will be released...) > that address issues found in testing with multiple vendors' implementations > of IPP USB, but the current 10.9.2 will work with all of the HP printers > mentioned below. > > > On Feb 27, 2014, at 2:23 PM, Carlos Rimola wrote: > > Michael, > > Thanks for the comprehensive response to my questions on IPP USB and > confirming my assumptions. > > The only remaining question I have for the list at this time is - are > there any Hosts, including model, OS and OS version (or other S/W > requirements), presently available on the market (or otherwise) which > support IPP USB as per the Specification? > > Thanks again, > > Carlos Rimola > > > On Thu, Feb 27, 2014 at 7:37 AM, Michael Sweet wrote: > >> Carlos, >> >> On Feb 26, 2014, at 9:33 PM, Carlos Rimola wrote: >> >> 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". >> >> Correct. >> >> 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. >> >> >> Correct (a port number can be passed by the "client" over USB to allow >> gateways/proxies to work...) >> >> 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? >> >> While you might get away with that for simple IPP messages, that wouldn't >> work for document data since IPP by itself has no framing or other niceties >> - you'd never know when the data ended. >> >> Also, the HTTP portion is used for the embedded web server, doing >> firmware updates, and so forth. >> >> >> 2) Section 3.2 "Interface Set" paragraph 2 states that "All IPP USBcapable >> 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 via any 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)? >> >> No, each interface is an independent channel to the printer. >> >> The reason for this requirement is to prevent having an IPP USB endpoint >> just for printing, and another just for scanning, and so forth. >> Effectively IPP USB defines an interface protocol that allows arbitrary >> HTTP and IPP requests to be performed. >> >> 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? >> >> Here is the latest list we have from HP: >> >> Deskjet 3520 >> Envy 120 >> Envy 4500 >> Envy 5530 >> Officejet 3620 >> Officejet 4630 >> Officejet 7610 >> Officejet Pro 276 MFP >> Officejet Pro X576 dw >> Photosmart 5520 >> Photosmart 6520 >> Photosmart 7520 >> >> I know of four other manufacturers that either have shipping products or >> will soon be shipping - will post here when I can do so publicly... >> >> _________________________________________________________ >> Michael Sweet, Senior Printing System Engineer, PWG Chair >> >> > > _________________________________________________________ > Michael Sweet, Senior Printing System Engineer, PWG Chair > > --001a11c25dea545f5104f3cf6b39 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hello All,

I have a couple of "sim= ple" follow-up questions on IPP USB (IPP-over-USB) "Host device&q= uot; support:

Is IPP USB designed to support connecting and printing= from a device like a tablet or smartphone (e.g., iPad, iPhone, Etc.) direc= tly connected to a printer over USB? If the answer is yes - is there any de= vice that currently supports this? I imagine a special cable or converter w= ould be needed?

Or is IPP USB designed only for Hosts like Linux or Mac= acting as print servers/gateways for these, and other, devices?

Tha= nks,

Carlos


On Thu, Feb 27, 2014 at 11:29 AM, Michae= l Sweet <msweet@apple.com> wrote:
Carlos,

Any Mac runn= ing OS X 10.9 supports IPP USB; note that we have a bunch of pending bug fi= xes (sorry, can't say when the fixes will be released...) that address = issues found in testing with multiple vendors' implementations of IPP U= SB, but the current 10.9.2 will work with all of the HP printers mentioned = below.


On Feb = 27, 2014, at 2:23 PM, Carlos Rimola <crimola@gmail.com> wrote:

Michael,

Thanks for the comprehensive r= esponse to my questions on IPP USB and confirming my assumptions.=A0
<= div>
The only remaining question I have for the list at this = time is - are there any Hosts, including model, OS and OS version (or other= S/W requirements), presently available on the market (or otherwise) which = support IPP USB as per the Specification?

Thanks again,

Carlos Rimola


On T= hu, Feb 27, 2014 at 7:37 AM, Michael Sweet <msweet@apple.com>= wrote:
Carlos,<= div>
On Feb 26, 2014, at 9:33 PM, Carlos Rimola <crimola@gmail.com>= wrote:
Hi All,

I hav= e some quick and general questions regarding IPP over USB ("IPP USB&qu= ot; for short). Some are related to Till's proposed project "Google Summer of Code 2014 - IPP-ove= r-USB printer support". Any help and feedback will be greatly w= elcomed. I should mention that I am in favor of the proposed project for th= is 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 "U= SB Print Interface Class IPP Protocol Specification Revision 1.0" date= d 12/5/2012 and published by USB-IF and=A0authored by HP's Smith Kenned= y and Andrew R. Mitchell. I'll refer to it as the "IPP USB Spec&qu= ot;.

Correct.

2) As I understand the IPP USB Spec, there is NO network interface, NO= R TCP/IP involved. The Communication Protocol to be used between Host and D= evice (Printer) is=A0purely HTTP + IPP directly over USB. A place wh= ere this is noted is section 6.2 - "HTTP Headers" which states th= e following:

Since there is = NO network interface connection, NO DNS hostnames or IP addresses, and NO T= CP port numbers associated with USB connection, the requirements of the HTT= P Host field is addressed by requiring that the value of this header MUST b= e "localhost".

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


Correct (a port number can be passed by the "client&= quot; over USB to allow gateways/proxies to work...)

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 expe= cted format "Print Data" have sufficed?

While you might get away with that for si= mple IPP messages, that wouldn't work for document data since IPP by it= self has no framing or other niceties - you'd never know when the data = ended.

Also, the HTTP portion is used for the embedded web ser= ver, doing firmware updates, and so forth.

=A02= ) Section 3.2 "Interface Set" paragraph 2 states that "= All IPP USB= c= apable Print class interfaces provided by a device MUST be functionally equal from an IPP operation or HTTP perspective.=A0 In other words, any= IPP oper= ation or resource path that is valid over one IPP USB interface MUST be reachable via any and= =A0all 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)?

No, each interface is an independent channel to th= e printer.

The reason for this requirement is to p= revent having an IPP USB endpoint just for printing, and another just for s= canning, and so forth. =A0Effectively IPP USB defines an interface protocol= that allows arbitrary HTTP and IPP requests to be performed.

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 referenc= es 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 wi= th these Printers?

Here is the latest list we have from HP:

=A0 =A0 Deskjet 3= 520
=A0 =A0 Envy 120
=A0 =A0 Envy 4500
= =A0 =A0 Envy 5530
=A0 =A0 Officejet 3620
=A0 =A0 Officejet 4630
=A0 =A0 Offi= cejet 7610
=A0 =A0 Officejet Pro 276 MF= P
=A0 =A0 Office= jet Pro X576 dw
=A0 =A0 Photosmart 5520 =A0 =A0 Photosmart 6520=A0 =A0 Photosmart 7520
<= /div>

I know of four other manufacturers that either have shipping pro= ducts or will soon be shipping - will post here when I can do so publicly..= .

_________________________________________________________
Michael Sweet,= Senior Printing System=A0Engineer, PWG Chair



_________________________________________________________
Michael Sweet,= Senior Printing System=A0Engineer, PWG Chair


--001a11c25dea545f5104f3cf6b39--