WHAT The "usbutils" package is most useful for the "lsusb" utility, which can provide considerable detail about the USB devices connected to your Linux system. (It's like "pciutils" is for PCI.) When making bug reports, or otherwise troubleshooting, "lsusb -v" output is very useful; often more so than /proc/bus/usb/devices output.
For folk using Linux 2.4 kernels, this also provides "usbmodules" which can help with the "coldplug" problem: setting up devices that are connected before the OS is capable of running all of the necessary "hotplug" programs. WHY The last official release was version 0.11 in August 2002. This version should incorporate almost all of the bug fixes and patches that have been floating around since then. If you're using patches that haven't been merged, please resolve that. This "lsusb" version is aware of USB 2.0 features; the 0.11 version only understood USB 1.1 functionality. This version understands many more types of descriptors; it previously understood primarily audio and HID descriptors. - Communications Device Class (CDC) descriptors, for USB Modems, some Ethernet style links (such as cable modems), and many PDAs. - Hub descriptor. Not all hubs are equal, and previously only kernel CONFIG_USB_DEBUG messages showed how they differ. Older versions of "lsusb" only showed descriptors for some hubs; this shows them for all hubs, and also current status of each port. - Device qualifier. If a device supports high speed USB, it has one of these; otherwise, it doesn't. - Chip Card and Smart Card interfacing devices. - USB On-The-Go (OTG) devices. Starting to appear; some run Linux. - USB Debug devices. Currently exotic. - Unrecognized descriptors are dumped in hex; some previous versions discarded them, which made troubleshooting painful. Note that if the kernel HID driver is bound to a device, lsusb can't show its descriptors. You can workaround this by removing the "usbhid" module before running lsusb against that device. This version uses the system's version of "libusb", rather than its own private copy. That involved some API changes. It also accounted for the only loss of functionality: lsusb doesn't currently list the language strings supported by the device. Many devices don't seem to bother with anything beyond English. WHERE Download from one of the SourceForge mirrors for the Linux-USB project: http://sourceforge.net/project/showfiles.php?group_id=3581&package_id=142529 Also, current source is in CVS for the Linux-USB project at SourceForge. If you have any patches (support for CJKV strings?), prepare them against CVS and post them to the linux-usb-devel list. HOW It uses GNU autoconf, so configure and build it: $ tar xf usbutils-0.70.tar.gz $ cd usbutils-0.70 $ ./configure <-- see below for options $ make $ ./update-usbids.sh <-- optional $ su -c "make install" $ Significant options to "configure" include: --prefix=/ To replace the normal /sbin version of lsusb, rather than /usr/local. --enable-usbmodules If you're using a Linux 2.4 based system or otherwise not using "udev" for coldplug. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/