Here are some useful links:
There is even a downloadable book by Detlef Fliegl on programming linux USB device drivers, which I have a copy of right here.
ls -l | grep usb crw-rw---- 1 root root 249, 1 Nov 19 14:59 usbdev1.1_ep00 crw-rw---- 1 root root 249, 0 Nov 19 14:59 usbdev1.1_ep81 crw-rw---- 1 root root 249, 3 Nov 19 14:59 usbdev2.1_ep00 crw-rw---- 1 root root 249, 2 Nov 19 14:59 usbdev2.1_ep81 crw-rw---- 1 root root 249, 5 Nov 19 14:59 usbdev2.2_ep00 crw-rw---- 1 root root 249, 4 Nov 19 14:59 usbdev2.2_ep81 crw-rw---- 1 root root 251, 0 Nov 19 14:59 usbmon0 crw-rw---- 1 root root 251, 1 Nov 19 14:59 usbmon1 crw-rw---- 1 root root 251, 2 Nov 19 14:59 usbmon2
lspci | grep USB 00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) 00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3)
lspci -vv yields: 00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) (prog-if 10 [OHCI]) Subsystem: ASUSTeK Computer Inc. K8N4-E or A8N-E Mainboard Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-I don't have this all figured out, but as near as I can tell, my motherboard (an ASUS A8N-E) has two usb controllers, but only the first is actually connected to connectors or headers. This has been confirmed by experiment by plugging usb devices into every possible place. There are 4 usb connectors on the back, and 3 headers (one of which I connect to my front panel USB) on the motherboard. No matter which of the headers I use, lsusb only ever shows devices on Bus 002:SERR- Kernel driver in use: ohci_hcd Kernel modules: ohci-hcd 00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) (prog-if 20 [EHCI]) Subsystem: ASUSTeK Computer Inc. K8N4-E or A8N-E Mainboard Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd
lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 012: ID 067b:2305 Prolific Technology, Inc. PL2305 Parallel Port Bus 002 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
See my notes on USB parallel devices for more information.
Adventures in Computing / tom@mmto.org