On my Ubuntu 12.04 when I plug in usb device, under dev directory tree usb device is added like this:
/dev/bus/usb/001/001
On my CentOS 5 added like below:
/dev/bus/usb/devices/2-1.4/
lsusb needs usb devices to be created under /dev like first one. To solve it when I try to link them manually, OS gives 'No such file or directory error.', but linking same directory can be done under ubuntu without a problem.
CentOS:
ln -s /dev/bus/usb/devices/2-1.4/descriptors /sys/bus/usb/001/001
ln: creating symbolic link `/sys/bus/usb/001/001' to `/dev/bus/usb/devices/2-1.4/descriptors': No such file or directory
In ubuntu creating under /dev/bus/usb is not giving errors.
When I plug in my usb device under CentOS logs are like this:
Dec 5 12:20:18 2012 kernel: [74465.103460] usb 2-1.4: new high-speed
USB device number 36 using ehci_hcd
Dec 5 12:20:18 2012 kernel: [74465.194011] scsi62 : usb-storage 2-1.4:1.0
Dec 5 12:20:18 2012 kernel: [74465.194091] scsi63 : usb-storage 2-1.4:1.1
Dec 5 12:20:19 2012 kernel: [74466.196062] scsi 62:0:0:0: CD-ROM
HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 2
Dec 5 12:20:19 2012 kernel: [74466.196441] scsi 63:0:0:0:
Direct-Access HUAWEI TF CARD Storage PQ: 0 ANSI: 2
Dec 5 12:20:19 2012 kernel: [74466.198548] sr0: scsi-1 drive
Dec 5 12:20:19 2012 kernel: [74466.198630] sr 62:0:0:0: Attached scsi
generic sg1 type 5
Dec 5 12:20:19 2012 kernel: [74466.198719] sd 63:0:0:0: Attached scsi
generic sg2 type 0
Dec 5 12:20:19 2012 kernel: [74466.201555] sd 63:0:0:0: [sdb]
Attached SCSI removable disk
Dec 5 12:20:22 2012 udevd-event[18390]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/host62/ioerr_cnt\'
failed
Dec 5 12:20:22 2012 udevd-event[18391]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.1/host63/ioerr_cnt\'
failed
Dec 5 12:20:25 2012 udevd-event[18443]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.1/host63/target63:0:0/ioerr_cnt\'
failed
Dec 5 12:20:25 2012 udevd-event[18442]: wait_for_sysfs: waiting for
\'/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/host62/target62:0:0/ioerr_cnt\'
failed
What can be the cause and how can I solve it?
You must upgrade following packages if you have the old versions of them.
And then you need to create "usb/bus/001/" directory under "/dev/" directory. if the problem will not solved. you can make node with "mknod" command.
I believe that lsusb uses the /sys mounted sysfs to discover devices. I confirmed this by looking at the output of
strace lsusb 2>&1 | grep open
. Are you sure that you have /sys mounted properly? Here's how my sysfs is mounted on Ubuntu:In current systems, the
/dev
namespace is dynamic and handled byudev(7)
. Perhaps the configurations asigning device files are different?My impression is that your udev is too old for your kernel. Maybe you need to update your udev if it's not up-to-date. Also please see http://us.generation-nt.com/answer/2-6-37-rc1-wait-sysfs-prints-errors-help-200947741.html (especially the patch in cooment #4)
lsusb should be unrelated. But if it's not working, make sure your sysfs is mounted on /sys with correct permissions.