1IPP-USB(8)                         ipp-usb.8                        IPP-USB(8)
2
3
4

NAME

6       ipp-usb - Daemon for IPP over USB printer support
7

DESCRIPTION

9       ipp-usb  daemon  enables  driver-less printing and scanning on USB-only
10       AirPrint-compatible printers and MFPs.
11
12       It works by connecting to the device by USB using  IPP-over-USB  proto‐
13       col,  and  exposing  the device to the network, including DNS-SD (Zero‐
14       Conf) advertising.
15
16       IPP printing, eSCL scanning and web console are fully supported.
17

SYNOPSIS

19   Usage:
20       ipp-usb mode [options]
21
22   Modes are:
23       standalone
24              run forever, automatically  discover  IPP-over-USB  devices  and
25              serve them all
26
27       udev   like  standalone, but exit when last IPP-over-USB device is dis‐
28              connected
29
30       debug  logs duplicated on console, -bg option is ignored
31
32       check  check configuration and exit
33
34   Options are
35       -bg    run in background (ignored in debug mode)
36

CONFIGURATION

38       ipp-usb  searched  for  its  configuration  file  in  two  places:   1.
39       /etc/ipp-usb/ipp-usb.conf  2.  ipp-usb.conf in the directory where exe‐
40       cutable file is located
41
42       Configuration file syntax is very similar to .INI files syntax. It con‐
43       sist  of named sections, and each section contains a set of named vari‐
44       ables. Comments are started from # or ; characters and continues  until
45       end of line:
46
47
48
49           # This is a comment
50           [section 1]
51           variable 1 = value 1  ; and another comment
52           variable 2 = value 2
53
54
55
56   Network parameters
57       Network parameters are all in the [network] section:
58
59
60
61           [network]
62             # TCP ports for HTTP will be automatically allocated in the following range
63             http-min-port = 60000
64             http-max-port = 65535
65
66             # Enable or disable DNS-SD advertisement
67             dns-sd = enable      # enable | disable
68
69             # Network interface to use. Set to `all` if you want to expose you
70             # printer to the local network. This way you can share your printer
71             # with other computers in the network, as well as with iOS and Android
72             # devices.
73             interface = loopback # all | loopback
74
75             # Enable or disable IPv6
76             ipv6 = enable        # enable | disable
77
78
79
80   Logging configuration
81       Logging parameters are all in the [logging] section:
82
83
84
85           [logging]
86             # device-log  - what logs are generated per device
87             # main-log    - what common logs are generated
88             # console-log - what of generated logs goes to console
89             #
90             # parameter contains a comma-separated list of
91             # the following keywords:
92             #   error     - error messages
93             #   info      - informative messages
94             #   debug     - debug messages
95             #   trace-ipp, trace-escl, trace-http - very detailed per-protocol traces
96             #   all       - all logs
97             #   trace-all - alias to all
98             #
99             # Note, trace-* implies debug, debug implies info, info implies error
100             device-log    = all
101             main-log      = debug
102             console-log   = debug
103
104             # Log rotation parameters:
105             #   log-file-size    - max log file before rotation. Use suffix M
106             #                      for megabytes or K for kilobytes
107             #   log-backup-files - how many backup files to preserve during rotation
108             #
109             max-file-size    = 256K
110             max-backup-files = 5
111
112             # Enable or disable ANSI colors on console
113             console-color = enable # enable | disable
114
115
116
117   Quirks
118       Some  devices,  due  to  their firmware bugs, require special handling,
119       called  device-specific  quirks.  ipp-usb   loads   quirks   from   the
120       /usr/share/ipp-usb/quirks/*.conf files. These files have .INI-file syn‐
121       tax with the content that looks like this:
122
123
124
125           [HP LaserJet MFP M28-M31]
126             http-connection = keep-alive
127
128           [HP OfficeJet Pro 8730]
129             http-connection = close
130
131           [HP Inc. HP Laser MFP 135a]
132             blacklist = true
133
134           # Default configuration
135           [*]
136             http-connection = ""
137
138
139
140       For each discovered device, its model name is matched against  sections
141       of  the  quirks files. Section name may contain glob-style wildcards: *
142       that matches any sequence of characters and ?, that matches any  single
143       character.  To  match  one of these characters (* and ?) literally, use
144       backslash as escape.
145
146       All matching sections from all quirks files are taken in consideration,
147       and applied in priority order. Priority is computed using the following
148       algorithm:
149
150       •   When matching model name against section name, amount of  non-wild‐
151           card matched characters is counted, and the longer match wins
152
153       •   Otherwise, section loaded first wins. Files are loaded in alphabet‐
154           ical order, sections read sequentially
155
156
157
158       If some parameter exist in multiple sections, used its value  from  the
159       most priority section
160
161       The following parameters are defined:
162
163       blacklist = true | false
164              If true, the matching device is ignored by the ipp-usb
165
166       http-XXX = YYY
167              Set  XXX header of the HTTP requests forwarded to device to YYY.
168              If YYY is empty string, XXX header is removed
169
170       usb-max-interfaces = N
171              Don´t use more that N USB interfaces, even if more is available
172

FILES

174/etc/ipp-usb/ipp-usb.conf: the daemon configuration file
175
176/var/log/ipp-usb/main.log: the main log file
177
178/var/log/ipp-usb/<DEVICE>.log: per-device log files
179
180/var/ipp-usb/dev/<DEVICE>.state: device state  (HTTP  port  alloca‐
181           tion, DNS-SD name)
182
183/var/ipp-usb/lock/ipp-usb.lock:  lock  file,  that helps to prevent
184           multiple copies of daemon to run simultaneously
185
186/usr/share/ipp-usb/quirks/*.conf:   device-specific   quirks   (see
187           above)
188
189
190
192       Copyright (c) by Alexander Pevzner (pzz@apevzner.com)
193       All rights reserved.
194
195       This  program  is licensed under 2-Clause BSD license. See LICENSE file
196       for details.
197

SEE ALSO

199       cups(1)
200
201
202
203                                 February 2021                      IPP-USB(8)
Impressum