All of lore.kernel.org
 help / color / mirror / Atom feed
From: crimola@gmail.com (Carlos Rimola)
To: kernelnewbies@lists.kernelnewbies.org
Subject: [Printing-architecture] Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel
Date: Thu, 27 Feb 2014 11:23:44 -0800	[thread overview]
Message-ID: <CAEzcFAS8LWcT+jH80Zeb-j+8bJDDoHoencERY7=zdBzeBSV09A@mail.gmail.com> (raw)
In-Reply-To: <93BF1B5B-19A0-4C58-8D0D-C9B966AA44D7@apple.com>

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 <msweet@apple.com> wrote:

> Carlos,
>
> On Feb 26, 2014, at 9:33 PM, Carlos Rimola <crimola@gmail.com> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140227/f914bdf8/attachment-0001.html 

WARNING: multiple messages have this Message-ID (diff)
From: Carlos Rimola <crimola@gmail.com>
To: Michael Sweet <msweet@apple.com>
Cc: "printing-architecture@lists.linux-foundation.org"
	<printing-architecture@lists.linux-foundation.org>,
	Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>,
	Till Kamppeter <till.kamppeter@gmail.com>,
	kernelnewbies@kernelnewbies.org
Subject: Re: [Printing-architecture] Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel
Date: Thu, 27 Feb 2014 11:23:44 -0800	[thread overview]
Message-ID: <CAEzcFAS8LWcT+jH80Zeb-j+8bJDDoHoencERY7=zdBzeBSV09A@mail.gmail.com> (raw)
In-Reply-To: <93BF1B5B-19A0-4C58-8D0D-C9B966AA44D7@apple.com>

[-- Attachment #1: Type: text/plain, Size: 4430 bytes --]

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 <msweet@apple.com> wrote:

> Carlos,
>
> On Feb 26, 2014, at 9:33 PM, Carlos Rimola <crimola@gmail.com> 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
>
>

[-- Attachment #2: Type: text/html, Size: 12781 bytes --]

  reply	other threads:[~2014-02-27 19:23 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-25 17:01 Google Summer of Code 2014 - IPP-over-USB printer support - Joint project idea for OpenPrinting and the kernel Till Kamppeter
2014-02-25 17:01 ` [Printing-architecture] " Till Kamppeter
     [not found] ` <CA+55aFx=5ubeSTcWVcM1bxnjG72fV0vwzTktuqccy1h4-aMScg@mail.gmail.com>
2014-02-25 17:26   ` Till Kamppeter
2014-02-25 17:26     ` [Printing-architecture] " Till Kamppeter
2014-02-25 18:42 ` Michael Sweet
2014-02-25 18:42   ` Michael Sweet
2014-02-26  1:47   ` Greg KH
2014-02-26  1:56     ` Michael Sweet
2014-02-26  1:56       ` Michael Sweet
2014-02-26 17:37       ` Till Kamppeter
2014-02-26 17:37         ` Till Kamppeter
2014-02-26 23:02       ` Greg KH
2014-02-27  0:05         ` Michael Sweet
2014-02-27  0:05           ` Michael Sweet
2014-02-27  1:35           ` Greg KH
2014-02-27  2:33           ` Carlos Rimola
2014-02-27  2:33             ` Carlos Rimola
2014-02-27 15:37             ` Michael Sweet
2014-02-27 15:37               ` Michael Sweet
2014-02-27 19:23               ` Carlos Rimola [this message]
2014-02-27 19:23                 ` Carlos Rimola
2014-02-27 19:29                 ` Michael Sweet
2014-02-27 19:29                   ` Michael Sweet
2014-03-04 22:28                   ` Carlos Rimola
2014-03-04 22:28                     ` Carlos Rimola
2014-03-05  1:00                     ` Michael Sweet
2014-03-05  1:00                       ` Michael Sweet
2014-02-26 22:31 ` Valdis.Kletnieks at vt.edu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEzcFAS8LWcT+jH80Zeb-j+8bJDDoHoencERY7=zdBzeBSV09A@mail.gmail.com' \
    --to=crimola@gmail.com \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.