Rupesh Gujare <rgujare@xxxxxxxxxxxxxxx> wrote on 2012/04/04 11:03:24: > >>>>> > >>>> Did you tried $lsusb -t > >>> Yes, but mine look: > >>> lsusb -t > >>> Bus# 2 > >>> `-Dev# 1 Vendor 0x1d6b Product 0x0002 > >>> `-Dev# 2 Vendor 0x8087 Product 0x0024 > >>> Bus# 1 > >>> `-Dev# 1 Vendor 0x1d6b Product 0x0002 > >>> `-Dev# 2 Vendor 0x8087 Product 0x0024 > >>> `-Dev# 3 Vendor 0x03f0 Product 0x0024 > >>> > >>>> Following is output when I connect USB mass storage drive on port 4. :- > >>>> > >>>> $ sudo lsusb -t > >>>> /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M > >>>> |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M > >>>> |__ Port 4: Dev 5, If 0, Class=stor., Driver=usb-storage, 480M > >>>> > >>> hmm, wonder what the problem might be. I got: > >>> lsusb -V > >>> lsusb (usbutils) 004 > >>> > >>> Jocke > >>> > >>> > >> $lsusb -V > >> lsusb (usbutils) 001 > >> > >> Which kernel version& linux distribution are you working on ? > >> If you are on older one moving to newer version might help. > > gentoo with kernel 3.2.1 > > > >> Can you find following device tree ? > >> /sys/bus/usb/devices/ > > Yes, lots of stuff there. > > ls /sys/bus/usb/devices/ > > 1-0:1.0 1-1 1-1:1.0 1-1.5 1-1.5:1.0 2-0:1.0 2-1 2-1:1.0 usb1 usb2 > > > >> If I remember correctly 'lsusb' will read USB device information from > >> above tree. > > Here is a strace with lsusb 005, do you see what is up? > > > > > > access("/proc/bus/usb/devices", R_OK) = 0 > > open("/proc/bus/usb/devices", O_RDONLY|O_LARGEFILE) = 6 > > > Looks like you have usbfs mounted at /proc/bus/usb > > Can you try after unmounting usbfs ? > > $ sudo umount /dev/bus/usb umount /proc/bus/usb/ you mean? Doing so fixes the problem: lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/3p, 480M |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M |__ Port 5: Dev 3, If 0, Class=HID, Driver=usbhid, 1.5M /proc/bus/usb seems to depend on kernel config USB_DEVICEFS, looks like it is safe to remove this option? In any case I think usbutils is buggy as it prefers something it cannot handle. config USB_DEVICEFS bool "USB device filesystem (DEPRECATED)" depends on USB ---help--- If you say Y here (and to "/proc file system support" in the "File systems" section, above), you will get a file /proc/bus/usb/devices which lists the devices currently connected to your USB bus or busses, and for every connected device a file named "/proc/bus/usb/xxx/yyy", where xxx is the bus number and yyy the device number; the latter files can be used by user space programs to talk directly to the device. These files are "virtual", meaning they are generated on the fly and not stored on the hard drive. You may need to mount the usbfs file system to see the files, use mount -t usbfs none /proc/bus/usb For the format of the various /proc/bus/usb/ files, please read <file:Documentation/usb/proc_usb_info.txt>. Modern Linux systems do not use this. Usbfs entries are files and not character devices; usbfs can't handle Access Control Lists (ACL) which are the default way to grant access to USB devices for untrusted users of a desktop system. The usbfs functionality is replaced by real device-nodes managed by udev. These nodes lived in /dev/bus/usb and are used by libusb. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html