Code:
$ lsusb;ls -l /dev/usb*;ls -l /proc/bus/usb/002
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 004: ID 0781:0621 SanDisk Corp. SDDR-86 Imagemate 6-in-1 Reader
Bus 002 Device 003: ID 05e3:0604 Genesys Logic, Inc.
Bus 002 Device 002: ID 046d:0870 Logitech, Inc. QuickCam Express
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
crw-rw---- 1 root root 189, 0 2006-04-09 09:28 /dev/usbdev1.1
crw-rw---- 1 root root 189, 128 2006-04-09 09:28 /dev/usbdev2.1
crw-rw---- 1 root root 189, 129 2006-04-09 09:28 /dev/usbdev2.2
crw-rw---- 1 root root 189, 130 2006-04-09 09:28 /dev/usbdev2.3
crw-rw---- 1 root root 189, 131 2006-04-09 09:28 /dev/usbdev2.4
crw-rw---- 1 root root 189, 0 2006-04-09 09:28 /dev/usbdev3.1
total 0
-rw-r--r-- 1 root root 43 2006-04-09 09:28 001
-rw-r--r-- 1 root root 73 2006-04-09 09:28 002
-rw-r--r-- 1 root root 43 2006-04-09 09:28 003
-rw-r--r-- 1 root root 50 2006-04-09 09:28 004
If I plug in my digital camera and do lsusb I get this:
Code:
$ lsusb;ls -l /dev/usb*;ls -l /proc/bus/usb/002
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 008: ID 040a:0576 Kodak Co. DX4530
Bus 002 Device 004: ID 0781:0621 SanDisk Corp. SDDR-86 Imagemate 6-in-1 Reader
Bus 002 Device 003: ID 05e3:0604 Genesys Logic, Inc.
Bus 002 Device 002: ID 046d:0870 Logitech, Inc. QuickCam Express
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
crw-rw---- 1 root root 189, 0 2006-04-09 09:28 /dev/usbdev1.1
crw-rw---- 1 root root 189, 128 2006-04-09 09:28 /dev/usbdev2.1
crw-rw---- 1 root root 189, 129 2006-04-09 09:28 /dev/usbdev2.2
crw-rw---- 1 root root 189, 130 2006-04-09 09:28 /dev/usbdev2.3
crw-rw---- 1 root root 189, 131 2006-04-09 09:28 /dev/usbdev2.4
crw-rw---- 1 root root 189, 135 2006-04-09 10:01 /dev/usbdev2.8
crw-rw---- 1 root root 189, 0 2006-04-09 09:28 /dev/usbdev3.1
total 0
-rw-r--r-- 1 root root 43 2006-04-09 09:28 001
-rw-r--r-- 1 root root 73 2006-04-09 09:28 002
-rw-r--r-- 1 root root 43 2006-04-09 09:28 003
-rw-r--r-- 1 root root 50 2006-04-09 09:28 004
-rw-r--r-- 1 root root 57 2006-04-09 10:01 008
As you can see the camera caused a device 008 to be created on bus 002. Now if I change the permissions of that device so I have r/w access then I will not get the error you are getting.
As root:
chmod go+w /proc/bus/usb/002/008
Code:
$ ls -l /proc/bus/usb/002
total 0
-rw-r--r-- 1 root root 43 2006-04-09 09:28 001
-rw-r--r-- 1 root root 73 2006-04-09 09:28 002
-rw-r--r-- 1 root root 43 2006-04-09 09:28 003
-rw-r--r-- 1 root root 50 2006-04-09 09:28 004
-rw-rw-rw- 1 root root 57 2006-04-09 10:15 008
I'm trying to figure out how to get usbfs to create the device with the correct permissions but havent had any luck so far. Please post if you have any luck.
This is the entry I have in /etc/fstab
usbfs /proc/bus/usb usbfs user,defaults 0 0
<edit> As a quick-fix I run this script when I need access to my camera.
Code:
#!/bin/bash
USBPATH="/proc/bus/usb"
STRING=( `lsusb|grep DX4530|sed 's/://'` )
BUS=${STRING[1]}
DEV=${STRING[3]}
[ ! -f $USBPATH/$BUS/$DEV ] && echo "Could not locate $USBPATH/$BUS/$DEV" && exit 1
echo "Changing permissions for $USBPATH/$BUS/$DEV"
sudo chmod go+w $USBPATH/$BUS/$DEV