Open archenemies opened 6 years ago
Perhaps the Debian wiki will bring you up-to-speed with what driverless printing is:
https://wiki.debian.org/DriverlessPrinting
IPP is used for communication but up to about six years ago it was network-only. Then these people came along and devised an extension to the USB standard which made IPP available over a USB interface. Most modern printers use IPP and printer manufacturers applied the extension to their devices. Look for AirPrint on the box.
https://www.usb.org/document-library/ipp-protocol-10
Data can be shovelled to and from the printer using IPP over the USB connection, just like what is done over a wireless or ethernet connection - except ippusbxd is used for the task. ippusbxd is also used to make the printer visible to the machine it is attached to (using DNS-SD) so that all the usual CUPS tools be used (including being able to share the printer on the local network).
The advantage is that no drivers are needed if an Everywhere (-m everywhere) queue is set up or cups-browsed is allowed to auto-discover and setup the printer. I'm doing it now with an HP aio. :)
-- Brian.
Thank you Brian, that was helpful and I read the Debian link.
If I were to suggest some changes, maybe include both of those links in the README. Currently if you Google "IPP over USB", it turns up this project on GitHub, as well as standards documents, neither of which is very helpful to provide a general context. I also didn't realize that "driverless printing" referred to a specific set of standards, but including the Debian link would clear that up. OTOH maybe you don't want to link to a wiki, I don't know...
@tillkamppeter you pointed me here from here
I wanted to say that I read almost to the end of readme.md while trying to answer the question "what is this for?". Maybe you can put something about that at the top, to avoid torturing your readers!
Like, are we connecting a USB printer via USB to a host running your software, and then CUPS running on that host will connect to the printer thinking it is a network printer? What's the advantage of that? Does it make it easier to share the printer over the network? What did you mean by "driverless" in the comment I linked?
I wanted to share this feedback in case it helps you, and also in case this is something I should be more interested in...