IPP-USB(8) ipp-usb.8 IPP-USB(8) (NAME) ipp-usb - IPP USB (DESCRIPTION) ipp-usb (MFP) AirPrint USB . USB IPP-over-USB DNS-SD (ZeroConf) . IPP eSCL . (SYNOPSIS) (Usage): ipp-usb mode [options] (Modes): standalone IPP-over-USB udev (standalone) IPP-over-USB debug -bg check . status ipp-usb (Options): o -bg ( debug ) o -path-conf-files-srch dir1[:dir2...] (ipp-usb.conf) (/etc/ipp-usb) o -path-log-dir dir (main.log DEVICE.log) (/var/log/ipp-usb) o -path-lock-file file (/var/ipp-usb/lock/ipp-usb.lock) o -path-dev-state-dir dir (/var/ipp-usb/dev) o -path-ctrl-sock file (/var/ipp-usb/ctrl) o -path-quirks-files-srch dir1[:dir2...] (*.conf) (/etc/ipp-usb/quirks:/usr/share/ipp-usb/quirks) (NETWORKING) ipp-usb HTTP USB . ipp-usb (loopback) localhost ( 127.0.0.1 IPv4 ::1 IPv6) . TCP . TCP 60000-65535 . . (CONFIGURATION) . : 1. 2. . ipp-usb 3. IPP over USB Host HTTP localhost localhost:port . Host . . - ( ) (DNS-SD (AVAHI INTEGRATION)) IPP over USB ipp-usb DNS-SD . DNS-SD Avahi . DNS-SD . Avahi ipp-usb DNS-SD . : +------------+---------------+---------------------------+ |Instance | Type | Subtypes | +------------+---------------+---------------------------+ |Device name | _ipp._tcp | _universal._sub._ipp._tcp | +------------+---------------+---------------------------+ |Device name | _printer._tcp | | +------------+---------------+---------------------------+ |Device name | _uscan._tcp | | +------------+---------------+---------------------------+ |Device name | _http._tcp | | +------------+---------------+---------------------------+ |BBPP | _ipp-usb._tcp | | +------------+---------------+---------------------------+ : o Device name ( DNS-SD ) . " (USB)" USB . " (USB NNN)" NNN . "Kyocera ECOSYS M2040dn" "Kyocera ECOSYS M2040dn (USB)" "Kyocera ECOSYS M2040dn (USB 1)" "Kyocera ECOSYS M2040dn (USB 2)" o _ipp._tcp _printer._tcp MFP o _uscan._tcp MFP o _ipp._tcp _universal._sub._ipp._tcp iOS o _printer._tcp TCP 0 . o _http._tcp . o BBPP _ipp-usb._tcp USB ( BB) ( PP) () . CUPS <<>> ipp-usb USB . DNS-SD USB (Matching DNS-SD announcements against local USB bus) ipp-usb USB . USB ipp-usb . USB Class=7 SubClass=1 Protocol=4 ipp-usb . . IPP over USB ipp-usb . ipp-usb . ipp-usb . ipp-usb . ipp-usb DNS-SD USB ipp-usb TXT _ipp._tcp _printer._tcp _uscan._tcp : o usb_SER=VCF9192281 - USB o usb_HWID=0482&069d - USB () DNS-SD USB DNS-SD IP (127.0.0.1 ::1) . (CONFIGURATION) ipp-usb : 1. /etc/ipp-usb/ipp-usb.conf 2. ipp-usb.conf .INI . . # ; : # This is a comment [section 1] variable 1 = value 1 ; and another comment variable 2 = value 2 (Network parameters) [network] : [network] # TCP ports for HTTP will be automatically allocated in the # following range http-min-port = 60000 http-max-port = 65535 # Enable or disable DNS-SD advertisement dns-sd = enable # enable | disable # Network interface to use. Set to `all` if you want to expose you # printer to the local network. This way you can share your printer # with other computers in the network, as well as with iOS and # Android devices. interface = loopback # all | loopback # Enable or disable IPv6 ipv6 = enable # enable | disable (Authentication) ipp-usb USB . . ipp-usb (UID) . ( ). . ( snap flatpak ) . / UID ipp-usb UID . [auth uid] : # Local user authentication by UID/GID [auth uid] # Syntax: # operations = users # # Operations are comma-separated list of following operations: # all - all operations # config - configuration web-console # fax - faxing # print - printing # scan - scanning # # Users have the following suntax: # user - user name # @group - all users that belongs to the group # # Users and groups may be specified either by names or by # numbers. "*" means any # # Note, if user/group is not known in the context of request # (for example, in the case of non-local network connection), # "*" used for matching, which will only match wildcard # rules. # # User/group names are resolved at the moment of request # processing (and cached for a couple of seconds), so running # daemon will see changes to the /etc/passwd and /etc/group # # Examples: # fax, print = lp, @lp # Allow CUPS to do its work # scan = * # Allow any user to scan # config = @wheel # Only wheel group members can do that all = * (Logging configuration) [logging] : [logging] # device-log - what logs are generated per device # main-log - what common logs are generated # console-log - what of generated logs goes to console # # parameter contains a comma-separated list of # the following keywords: # error - error messages # info - informative messages # debug - debug messages # trace-ipp, trace-escl, trace-http - very detailed # per-protocol traces # trace-usb - hex dump of all USB traffic # all - all logs # trace-all - alias to all # # Note, trace-* implies debug, debug implies info, info implies # error device-log = all main-log = debug console-log = debug # Log rotation parameters: # log-file-size - max log file before rotation. Use suffix # M for megabytes or K for kilobytes # log-backup-files - how many backup files to preserve during # rotation # max-file-size = 256K max-backup-files = 5 # Enable or disable ANSI colors on console console-color = enable # enable | disable # ipp-usb queries IPP printer attributes at the initialization time # for its own purposes and writes received attributes to the log. # By default, only necessary attributes are requested from device. # # If this parameter is set to true, all printer attributes will # be requested. Normally, it only affects the logging. However, # some enterprise-level HP printers returns such huge amount of # data and do it so slowly, so it can cause initialization timeout. # This is why this feature is not enabled by default get-all-printer-attrs = false # false | true (Quirks) () (quirks) . ipp-usb /usr/share/ipp-usb/quirks/*.conf /etc/ipp-usb/quirks/*.conf . /etc/ipp-usb/quirks . .INI : # Various HP printers - match by bame [HP LaserJet MFP M28-M31] http-connection = keep-alive [HP OfficeJet Pro 8730] http-connection = close [HP Inc. HP Laser MFP 135a] blacklist = true # Xerox B210. Match by HWID, as model name is not reliable # before reset. [0924:42ea] mfg = Xerox model = B210 init-reset = hard # Default configuration [*] http-connection = "" ( ) . USB HWID ( Vendor:Product ) . (wildcard) : `[HP OfficeJet Pro 8730]` - match the "HP OfficeJet Pro 8730" device `[HP OfficeJet *]` - match all models with name started with the "HP OfficeJet" prefix. `[0924:42ea]` - match the device with the USB HWID 0924:42ea `[0924:*]` - match all devices with the Vendor ID equal to 0924 (this ID owned by Xerox). (glob) : * ? . (* ?) . HWID * (Product ID) . ipp-usb check . HWID USB lsusb . ipp-usb : . : o HWID ( [0924:42ea]) . o . . o HWID ( [0924:*]). o ( [*]). . . HWID HWID . HWID . . : o blacklist = true. HWID . o init-reset = hard. . o mfg = name model = name. HWID . : o blacklist = true | false true ipp-usb o buggy-ipp-responses = reject | allow | sanitize IPP () IPP . ipp-usb (reject ipp-usb ) (allow ipp-usb CUPS ) (sanitize IPP ). o disable-fax = true | false true . o disable-scan = true | false true . o http-XXX = YYY XXX HTTP YYY . YYY XXX . o ignore-ipp-status = true | false true IPP ipp-usb . IPP . ipp-usb . o init-delay = DELAY ( ) . o init-retry-partial = true | false . . . . HP . o init-reset = none | soft | hard . none o init-timeout = DELAY () HTTP ipp-usb . o mfg = name () USB . HWID . o model = name () USB . HWID . o request-delay = DELAY HTTP ( usb-send-delay USB ). o usb-max-interfaces = N N USB . o usb-send-delay = DELAY USB ( request-delay HTTP ). o usb-send-delay-threshold = N usb-send-delay USB . o zlp-recv-hack = true | false HP ( ) HTTP 503 . () ( '\n' ). ipp-usb . UDP . zlp-recv-hack ipp-usb USB . . o zlp-send = true | false (endpoint) . DELAY ( ) "300ms" "0.5s" "2m30s". "ns" "us" ( "s") "ms" "s" "m" "h". ipp-usb IPP-over-USB . . (FILES) o /etc/ipp-usb/ipp-usb.conf: o /var/log/ipp-usb/main.log: o /var/log/ipp-usb/.log: o /var/ipp-usb/dev/.state: ( HTTP DNS-SD) o /var/ipp-usb/lock/ipp-usb.lock: o /var/ipp-usb/ctrl: ipp-usb. ( ipp-usb status) o /usr/share/ipp-usb/quirks/*.conf: ( ) o /etc/ipp-usb/quirks/*.conf: ( ) (COPYRIGHT) (c) Alexander Pevzner (pzz@apevzner.com, pzz@pzz.msk.ru) . 2-Clause BSD . LICENSE . (SEE ALSO) cups(1) June 2026 IPP-USB(8)