Chapter 6. Driverless USB printing and scanning


Driverless printing and scanning has its variants for devices which are connected by using USB. It is covered by the IPP over USB standard. You need to install the ipp-usb package for driverless printing and scanning to work. It register’s the device with Avahi on local host, makes the USB device look as a network device.

6.1. Installing and checking device capabilities

In driverless printing, installing a device involves identifying this device on your network and using a print server to set up a print queue. You can then verify the device’s capabilities by accessing its settings within the print queue or using a tool such as ipptool.

Prerequisites

  • You update the device firmware.
  • You stopped and disabled the cups-browsed service if it is not used for installing printers from remote print servers. Note that in this case, the BrowsePoll server is used in /etc/cups/cups-browsed.conf file.

Procedure

  1. Install the ipp-usb package:

    # dnf install ipp-usb
    Copy to Clipboard
    Note

    The ipp-usb package is installed by default with CUPS and sane-airscane packages.

  2. Check if device has printing functionality:

    1. Verify that the device is recognized by ipp-usb:

      # sudo ipp-usb check
      Copy to Clipboard
    2. Check if the device is identified by CUPS among existing destinations. The service name created by ipp-usb has the suffix _USB.

      $ lpstat -e
      Canon_MF440_Series_USB
      Copy to Clipboard

      The service name created by ipp-usb has the _USB suffix. For example, here Canon_MF440_Series_USB represents IPP-over-USB device called Canon I-Sensys MF433

      Important

      If the Canon_MF440_Series_USB is displayed in the output of the lpstat -e command, but not in your application, report the issue to the application.

    3. Check device capabilities:

      # ipptool -tv ipp://localhost:60000/ipp/print get-printer-attributes.test
      
      # lpoptions -p Canon_MF440_Series_USB -l
      Copy to Clipboard

      The ipptool command returns all IPP attributes which the device supports. If your printing option is present in IPP response, but not in lpoptions output, then it is a CUPS issue because the common PPD options are generated from some of the attributes. The lpoptions utility returns available PPD options.

  3. Check if the device has scanning capabilities:

    1. Check if the sane-airscan backend recognizes your device:

      # scanimage -L
      
      device `airscan:e0:HP LaserJet MFP M130fw' is a eSCL HP LaserJet MFP M130fw ip=127.0.0.1
      Here, the HP LaserJet MFP M130fw device here is used for illustration, it does not show its real IPP-over-USB compatibility or its real options shared via AirScan from ipp-usb.
      Copy to Clipboard
    2. Check the device capabilities:

      # scanimage --help -d 'airscan:e0:HP LaserJet MFP M130fw (E700D6)'
      Copy to Clipboard

6.2. Migrating existing classic print queues and scanner devices

The ipp-usb package is incompatible with classic printing and scanning drivers for IPP-over-USB devices, so a manual intervention depending on user’s choice is required after upgrade. You can see the available printing and scanning capabilities and decide which type of support to use for the device:

  • Driverless
  • Classic drivers

Procedure

Using driverless to support the USB device

To migrate the existing configuration with classic drivers to driverless support for USB device, follow the below mentioned steps depending on the device capabilities:

  1. If the device has printing functionality, remove any existing printers installed for the device in the past.
  2. To search for printer name, run:

    # lpstat -a
    Copy to Clipboard
  3. Remove the printer:

    # lpadmin -x <printer_name>
    Copy to Clipboard
  4. If the device has scanning functionality, disable the SANE backend which provides the scanning support,for example, hpaio. You can achieve it by commenting out its name in the configuration file /etc/sane.d/dll.conf or in a specific file in directory /etc/sane.d/dll.d, or uninstall the scanning driver. For example, to disable hpaio scanning backend:

    # scanimage -L
    device `hpaio:/usb/laserjet_mfp_m129-m134?serial=XXXX' is a Hewlett-Packard laserjet_mfp_m129-m134 all-in-one
    device `airscan:e0:HP LaserJet MFP M130fw (E700D6)' is a eSCL HP LaserJet MFP M130fw (E700D6) ip=127.0.0.1
    
    # sudo sed -i 's,^\s*hpaio$,#hpaio,' /etc/sane.d/dll.d/hpaio
    Copy to Clipboard

    As a result, scanning devices supported by the backend HPAIO are not visible in the list of scanners.

Using classic driver to support the device

Choosing a classic driver requires rejecting the printer model in the ipp-usb configuration.

  1. Search for device model name:

    # sudo ipp-usb check
    Configuration files: OK
    IPP over USB devices:
     Num  Device              Vndr:Prod  Model
       1. Bus 001 Device 005  04a9:2823  "Canon MF440 Series"
    Copy to Clipboard
  2. Create a quirk for ipp-usb and use the name in the new quirk file in the /etc/ipp-usb/quirks directory. Note that the .conf suffix is required.

    # cat /etc/ipp-usb/quirks/canon.conf
    
    [Canon MF440 Series]
    blacklist = true
    Copy to Clipboard
  3. Restart the ipp-usb service:

    $ systemctl restart ipp-usb
    Copy to Clipboard

    This quirk denies device’s support in ipp-usb, and classic drivers will work. The printer generated by ipp-usb is removed from the list of existing printers.

Note

You can opt-out from driverless USB support by removing the ipp-usb package and excluding it from DNF operations.

Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat