Linux USB hits the Prime Time

Apr 2nd, 14:13 UTC

Press Release - 2 April 2001

Linux USB hits the Prime Time.

For immediate release

With the release of the 2.4 kernel, Linux users gained serious USB support for a wide range of devices. The Linux USB subsystem, integrated in the kernel and already supported by most Linux distributions, supports all necessary features like plug-and-play, USB bandwith allocation and more than 100 ports per bus. This USB support is key to the emerging Linux desktop market.

Linux supports both the Universal Host Controller Interface (UHCI, used by Intel and Via motherboard chipsets) and the Open Host Controller Interface (OHCI, used by Compaq, Apple, SiS, OPTi, Lucent and ALi chipsets), making USB support available to anyone with a modern motherboard, or with a spare PCI or PcCard slot available to add in a cheap USB host controller board. Linux also supports USB hubs, which provide expansion for additional devices.

Linux 2.4 provides USB support for devices conforming to the USB Human Interface Device class, which includes USB keyboards, USB mice and touchpads, USB joysticks and USB graphics tablets. These devices are supported such that they can appear as normal keyboards, mice and joysticks. This means that applications do not need to be changed to use the new kernel capabilities. In addition, the devices can also appear on a new "event" interface, which allows customised applications to take advantage of the additional capabilites offered by USB devices.

Another popular USB peripheral is a USB printer. These devices usually conform to the Printer class defined by the USB Implementers Forum, and Linux USB supports the Printer class. Some manufacturers have produced printers that require special "escape" codes to enable the USB port, however this is normally fairly easy to configure in Linux using the normal printer tools (such as lpd and CUPS). Althought there is no official USB parallel port class, Linux USB supports a wide range of parallel adapters because many of them conform to the USB printer class driver. Linux USB natively supports the Lucent USS720 parallel port adapter which can appear as either a printer or as a parallel part. Linux USB also supports a large range of serial devices, including ConnectTech Whiteheat, the Handsprind Visor, the range of Keyspan devices, Belkin and Peracom single port converters, some of the Digi Accelport converters, and the Empeg car MP3 player. Some serial devices are not yet supported because of a lack of technical information from the manufacturers.

Linux also supports the USB Mass Storage class, used by a wide range of conventional storage devices (such as floppy disks and the Iomega Zip disks), and also used for emerging standards such as Compact Flash, Smartmedia and the Sony Memory Stick. Some manufacturers have used the Mass Storage device class to make digital cameras appear as normal disks, allowing the full range of Linux file utilties to be used for image manipulation.

Linux has provided scanner support through the SANE package for some time, and Linux provides support for a small range of USB scanners with a set of kernel space drivers and the SANE tools provided with most distributions. Further support is possible, but depends on availability of documentation from scanner manufacturers.

Linux provides experimental support for a range of USB networking devices, with the 10/100Mbps USB to Ethernet devices (using the ADMtek chipset) providing the most mature support so far. Support for other devices, including the various USB-to-USB devices and USB to Ethernet devices using KLSI and CATC chipsets, are under active development.

About the Linux USB project

The Linux USB project is developing USB support for the Linux 2.2 and Linux 2.4 kernels. The Linux USB homepage is Supporters of Linux USB development include: 3Com,APC, CATC, Compaq, Datalux, Iomega, Keyspan, Kodak, Netchip Technology, Sandisk, SuSE and Y-E Data.

Contact information

For further details, contact Brad Hards (