hp-makeuri
Create a printer URI for HP devices
SYNOPSIS
hp-makeuri [-h|--help] [-d|--debug[=LEVEL]] [-v|--version] [-b|--bus=BUS] [-l|--location=LOCATION] [-m|--model=MODEL] [-p|--port=PORT] [-s|--serial=SERIALNO] [-i|--ip=IP] [-n|--netname=NETNAME] [-u|--ppdname=PPDNAME] [-r|--recommended] [-D|--deviceid=DEVICEID]
PARAMETERS
-h, --help
Show help and exit
-d, --debug[=LEVEL]
Turn on debugging (levels 1-4)
-v, --version
Print HPLIP version
-b, --bus=BUS
Bus/port type: usb, parallel, scsi, ieee1394, hpio, net, bluetooth
-l, --location=LOCATION
Device location (e.g., 1:1:1)
-m, --model=MODEL
Printer model name (e.g., HP_LaserJet_400)
-p, --port=PORT
Port number/address (e.g., 1 for USB)
-s, --serial=SERIALNO
Serial number (e.g., JNA123456)
-i, --ip=IP
IP address/hostname for network devices
-n, --netname=NETNAME
Network name (Bonjour/hostname)
-u, --ppdname=PPDNAME
PPD model name (overrides model)
-r, --recommended
Recommend best URI for connected device
-D, --deviceid=DEVICEID
Full IEEE-1284 device ID string
DESCRIPTION
hp-makeuri is a utility from the HPLIP (HP Linux Imaging and Printing) package that constructs standardized device URI strings for HP printers and MFPs. These URIs are required for CUPS integration with HPLIP drivers.
It supports connections like USB (hp:/usb/...), parallel, network (hp:/net/...), and fax. Users specify details such as bus type, model, port, serial number, IP, or device ID to build URIs like hp:/usb/HP_LaserJet_400_M401n?serial=ABC123 or hp:/net/HP_Color_LaserJet_CP2025?ip=192.168.1.100.
Commonly used with hp-setup or lpadmin for automated/manual printer addition. The -r flag suggests recommended URIs based on probed devices, simplifying setup.
CAVEATS
Some options are mutually exclusive (e.g., USB vs. net params). Requires HPLIP installed and USB/network access. May need root for some probes.
EXAMPLES
USB: hp-makeuri -b usb -m HP_LaserJet_400 -s ABC123
Network: hp-makeuri -i 192.168.1.100 -m HP_OfficeJet_Pro_8600
Recommended: hp-makeuri -r
OUTPUT FORMAT
Always prints one URI per line to stdout. Use with hp-setup -i <uri> for installation.
HISTORY
Developed as part of HPLIP since ~2005 by HP for Linux/Unix printing support. Evolved with CUPS 1.x/2.x and modern network protocols.


