FreeBSD 8.0 and HPLIP - you also need execute permissions on /dev/usb

Torfinn Ingolfsen torfinn.ingolfsen at broadpark.no
Sun Jan 10 01:39:15 UTC 2010


Ok, I recently "upgraded" my main workstation to FreeBSD 8.0-stable
(clean install on a new slice):
tingo at kg-v2$ uname -a
FreeBSD kg-v2.kg4.no 8.0-STABLE FreeBSD 8.0-STABLE #1: Wed Jan  6 21:21:40 CET 2010     root at kg-v2.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64

After that I got the fun of installøing all my ports again. 

Anyway, this machine have a HP Photosmart 8250 printer connected to it
(via usb), and I have been using hplip from ports to controil it.
Before the upgrade (using FreeBSD 7.2-stable, I was running HPLIP
3.9.6b). Now I installed hplip 3.9.8 from ports, since it is the newest
i ports.

And of course it didn't print (nobody said it was going to be easy).
I had the necessary things in /etc/devfs.rules (or so I thought):
tingo at kg-v2$ more /etc/devfs.rules
[devfsrules_local=5]
add path 'usb*' group cups
add path 'usb*' mode 0660
add path 'usb/*' group cups
add path 'usb/*' mode 0660
add path 'uscanner*' group cups
add path 'uscanner*' mode 0660
add path 'ugen*' group cups
add path 'ugen*' mode 0660

But when listing the devices, I found a problem:
tingo at kg-v2$ ls -l /dev/ug* /dev/usb*
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen0.1 -> usb/0.1.0
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen0.2 -> usb/0.2.0
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen1.1 -> usb/1.1.0
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen1.2 -> usb/1.2.0
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen1.3 -> usb/1.3.0
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen2.1 -> usb/2.1.0
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen2.2 -> usb/2.2.0
lrw-rw----  1 root  cups         9 Jan  6 22:46 /dev/ugen3.1 -> usb/3.1.0
crw-rw----  1 root  cups    0,  63 Jan  6 22:46 /dev/usbctl

/dev/usb:
ls: 0.1.0: Permission denied
ls: 0.1.1: Permission denied
ls: 0.2.0: Permission denied
ls: 0.2.1: Permission denied
ls: 0.2.2: Permission denied
ls: 1.1.0: Permission denied
ls: 1.1.1: Permission denied
ls: 1.2.0: Permission denied
ls: 1.2.10: Permission denied
ls: 1.2.11: Permission denied
ls: 1.2.4: Permission denied
ls: 1.2.5: Permission denied
ls: 1.2.6: Permission denied
ls: 1.2.7: Permission denied
ls: 1.2.8: Permission denied
ls: 1.2.9: Permission denied
ls: 1.3.0: Permission denied
ls: 1.3.1: Permission denied
ls: 1.3.2: Permission denied
ls: 2.1.0: Permission denied
ls: 2.1.1: Permission denied
ls: 2.2.0: Permission denied
ls: 2.2.1: Permission denied
ls: 2.2.2: Permission denied
ls: 2.2.3: Permission denied
ls: 3.1.0: Permission denied
ls: 3.1.1: Permission denied
total 0

Ok, so you need execute permissions on /dev/usb as well (because it is a directory).
I fixed it by adding 'add path 'usb' mode 0770' to /etc/devfs.rules.

Is this the correct way to deal wih it?
-- 
Regards, 
Torfinn Ingolfsen



More information about the freebsd-usb mailing list