ippusbxd (8) - Linux Manuals

ippusbxd: Communication driver for IPP-over-USB class printers


ippusbxd - Communication driver for IPP-over-USB class printers


ippusbxd [-v|--vid VENDOR_ID] [-m|--pid PRODUCT_ID] [-s|--serial SERIAL_NUMBER] [--bus BUS] [--device DEVICE] [--bus-device BUS:DEVICE] [-p|--only-port PORT_NUMBER] [-P|--from-port PORT_NUMBER] [-i|--interface INTERFACE] [-l|--logging] [-q|--verbose] [-d|--debug] [-n|--no-fork] [-B|--no-broadcast] [-N|--no-printer]


ippusbxd connects to a IPP-over-USB printer and exposes it to a network interface (like localhost or dummy0) on a given port, so that the printer can be accessed like an IPP network printer. The printer is also registered at Avahi to be advertised via DNS-SD on the interface, so CUPS and cups-browsed(8) will auto-discover the printer for easy setup of a print queue. This requires avahi-daemon to be running and the network interface to be supported by the Avahi version in use.

Upon successful startup the TCP port it is listening on and the process ID of the daemon are printed to stdout. ippusbxd will shut itself down when the connected printer disconnects. When not specifying information about the desired printer, ippusbxd scans the USB and connects to the first available IPP-over-USB printer.


-h, --help
Show help message.
USB vendor ID of desired printer.
USB product ID of desired printer.
Serial number of desired printer.
--bus BUS --device DEVICE, --bus-device BUS:DEVICE
USB bus and device numbers where the device is currently connected (see output of lsusb(8)). Note that these numbers change when the device is disconnected and reconnected. This method of calling ippusbxd is only for calling via UDEV. BUS and DEVICE have to be given in decimal numbers.
Port number ippusbxd will expose the printer over. If this port is already taken, ippusbxd will error out.
Port number ippusbxd will expose the printer over. If this port is already taken, ippusbxd will increase the port number by 1 and try again until it finds a free port.
Network interface to use. Default is the loopback interface (lo, localhost).
-l, --logging
Send all logging to syslog.
-q, --verbose
Enable verbose logging.
-d, --debug
Enables debug mode. Implies -q and -n. Verbose logging will be sent to stdout
-n, --no-fork
Enables no fork mode. Disables deamonization.
-B, --no-broadcast
No-broadcast mode, do not DNS-SD-broadcast
-N, --no-printer
No-printer mode, debug/developer mode which makes ippusbxd run without IPP-over-USB printer


ippusbxd does not detect whether a USB printer is already connected by another instance of ippusbxd, so the system/the user has to take care to not start ippusbxd more than once for one and the same printer. Especially one should never start ippusbxd repeatedly without specifying a printer to assure that all connected IPP-over-USB printers get their ippusbxd instance.