March 19, 2021•434 words
https://download.opensuse.org/repositories/home:/pzz/xUbuntu_20.04/amd64/ [.deb file for download]
ipp-usb is written in Go, & provides HTTP library with needed functionality, but missing in C
libusb for USB access [v1.0.23 installed]
libavahi-common [v0.7 installed]
libavahi-client for DNS-SD [v0.7 installed]
Running Avahi-daemon [v0.7 installed]
Driverless printing is targeted at client side printing & refers to ability of the client device to print
without having to install any static capability files or drivers (manufacturer or otherwise) on the client.
There exists a variety of methods for a client to submit a job to a printing system & print driverlessly:
- Print directly from an application on the client.
- Use AirPrint or IPP Everywhere printing.
- Use a cloud service such as Google Cloud Print (GCP).
- Send the job as an email attachment to a special address.
- Web printing. The document is uploaded from a web browser via a web form style interface
Remember: CUPS can act as a client or server. In its server capacity it can emulate an IPP Everywhere or
Apple AirPrint printer. However, focus here is on CUPS as a client connecting to printer that offers
driverless printing functions.
IPP-over-USB: The Basics
Fortunately, driverless printing is not confined to network only but also works in exactly same way
via USB using the IPP-over-USB daemon, ipp-usb. ipp-usb serves for using the device via USB;
this is fully independent of whether there is also a network connection available between computer
& printer. The support situation regarding USB-only IPP printers has yet to be completely clarified.
Note that IPP-over-USB reserves the USB interface connection with the printer/scanner exclusively for itself
& communication with a printer/scanner device by software that does not operate using the IPP-over-USB
protocol becomes impossible while ipp-usb is running.
Only driverless print queues will work with IPP-over-USB.
Communicating with a USB connected scanner via classic SANE backends such as libsane-hpaio, sane-pixma
or sane-epson2 also becomes impossible with the ipp-usb daemon active and running.
An important idea underlying IPP-over-USB is having ability to expose the local USB-connected printer
only to localhost
----Example of driverless printer setup on Linux Mint using ipp-usb ------
HP printer = Color Laserjet Pro M454dn
linux mint blog- recommended changes to driverless USB printing
removed “ippusbxd v1.34” package in LM20 [existing USB printer package no longer supported]
$ sudo apt purge ippusbxd
- installed ipp-usb0.9.14+45.1amd64.deb
switch on printer
launch printer app in system settings
add printer [suffix name of printer with ipp-usb to differentiate with existing printers]