USB Port Permissions
Description: HP Linux Imaging and Printing - HPLIP is an HP developed solution for printing, scanning, and faxing with HP inkjet and laser based printers in Linux.
Keywords: HPLIP, HP, Linux, Printing, HPIJS

# Manual Process for USB Port Permissions Verification

1. Verify device/bus port has correct permission.

Check your USB port permissions.

A. Open a terminal.

Enter this commmand:

    lsusb

Result:

    Bus 002 Device 002: ID 046d:c016 Logitech, Inc. M-UV69a Optical Wheel Mouse
    Bus 002 Device 001: ID 0000:0000
    Bus 003 Device 013: ID 03f0:2312 Hewlett-Packard

B. Check the permission on the directory.

Enter this command:

    ls -l /dev/bus/usb/003/013

This WILL be different on your system, the 003 is the Bus and the 013 is the Device verify from the lsusb output.

Example:

    ls -l /dev/bus/usb/<bus>/<device>

Where from the result from the above 'lsusb' is: Bus 003 Device 013: ID 03f0:2312 Hewlett-Packard BUS = 003 DEVICE = 013

Hence the command to run would be: ls -l /dev/bus/usb/003/013

Result from ls -l /dev/bus/usb/<bus>/<device>:

    crw-r-r-- 1 root root 189, 268 2007-05-24 15:20 /dev/bus/usb/003/013

The above result will fail. The correct result should be: (notice the crw-rw-r-- permission settings)

    crw-rw-r-- 1 root root 189, 268 2007-05-24 15:20 /dev/bus/usb/003/013

To correct this go to Step 2. Otherwise go to the end of this document.

2. Update the rules for usb devices.

Use grep to determine the line number and file to be modified.

Enter this command:

    grep -Hn usb_device /etc/udev/rules.d/*

Possible Output:

    /etc/udev/rules.d/50-udev-default.rules:133:SUBSYSTEM=="usb_device", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"

Look for text similar to; SUBSYSTEM=="usb_devices" .......... MODE="0644".

If the usb_devices mode is not set to 0664 then the usb will have incorrect permissions and will not be usable or found by HPLIP

Notice in the above output each line starts with: "/etc/udev/rules.d/50-udev-default.rules". This filename (50-udev-default.rules) could be different on your system. Please note this. Notice the :number: after the filename, (eg: /etc/udev/rules.d/50- udev-default.rules:133:) this is the line number for where the text is located in the file. Please note this as well.

3. Edit the /etc/udev/rules.d/50-udev-default.rules file to update the permission settings.

Enter this commmand:

    su -c 'nano /etc/udev/rules.d/50-udev-default.rules'

Or on systems that use sudo run:

    sudo nano /etc/udev/rules.d/50-udev-default.rules

Go to the line number that is applicable (see above), in this case the line number is "133". Change the "MODE="0644"" TO MODE="0664"

Save the file, and exit. (Control-O, Enter, and then Control-X)

Close this window to continue.

Page last updated: Wed Apr 2 15:18:10 2008; HPLIP Version: 2.8.4