Linux.com: In-Depth - The Linux USB ProjectMay 15, 2000, 11:06 (0 Talkback[s])
(Other stories by Luke Groeninger)
"The Linux USB Project, originally started in early 1999, is currently the definitive USB stack for Linux. Originally based upon a debug USB mouse driver that Linus wrote and released March 30, 1999, it rapidly progressed into a state of acceptable maturity. The current version supports much more than the UHCI controller and USB mouse combination supported by this early implementation, and has become a part of the latest kernel releases."
"Throughout the summer of 1999, development expanded, adding support for OCHI compliant controllers, HID keyboards, mice and preliminary storage, audio and video support. Recently, some of the biggest changes have come from the switch over from a synchronous driver to an asynchronous driver. This is also known as the URB change over, and has allowed for easier interfacing between the device drivers and the USB stack."
"Even though they have kept affected source code inside their own directory, the Linux USB Project promises to bring about changes in the kernel. To properly utilize the full capabilities of USB, the drivers all had to be written to allow hot connecting and disconnecting. While this works great for hardware that is not being used all the time, peripherals such as mice where the mouse server, which usually loads at boot time, will refuse to run if it cannot find a mouse. Resulting hacks in the mouse driver allow this to work (by keeping the driver open even if no mouse is connected), but other hardware is not as easy. Linux drivers have never particularly liked the hot-swapping of hardware, which the USB spec is designed for."