Device Driver Support

QuickLinks: Host Controller, Device Controllers, Class drivers, Vendor device drivers[Imaging, "Multimedia",Network,Ports,Other]

This page mainly lists the support quality of various USB device classes.

Host Controller drivers

Controller type Status Maintainer Where to find
UHCI Working, mostly stable Alan Stern (2.6) Main kernel source; uhci on Linux 2.2 or 2.4 kernels, uhci-hcd on Linux 2.6 kernels (For 2.4 kernels there's also the older usb-uhci driver, from the Acher/Fliegl/Sailer team.)
OHCI Working; mostly stable.

2.6 kernels support non-PCI versions for various ARM, MIPS, and PPC System-on-Chip embedded Linux platforms.
  Main kernel source: usb-ohci on Linux 2.2 and 2.4 kernels, ohci-hcd on Linux 2.6 kernels
EHCI Working; mostly stable on 2.6 David Brownell Main kernel source (2.4.22+, most current is in 2.6); also see USB 2.0 info
CRIS Under development   Main kernel source (arch/cris/drivers in 2.4, drivers/usb/host in 2.6)
SL-811HS
Working, mostly stable in 2.6 (but without ISO support) including CF+ Card support.   Current 2.6.9+ kernel source has sl811-hcd; 2.6.12+ adds sl811_cs driver. current 2.4 kernels have two driver choices, original hc_sl811 from Cypress and alternative sl811.
Philips isp116x Working in 2.6, no ISO support   Main kernel source from 2.6.13 on; see also driver info page. 2.4 patches exist, but aren't very usable.
VHCI pre-Alpha Takahiro Hirofuchi here

Device Controllers

Device Status Maintainer Where to find
NetChip 2280 net2280 driver works at both high and full speeds; requires PCI   Main kernel source (gadget api info)
Intel PXA25x (and IXP42x) UDC pxa2xx_udc driver works on at least PXA 250, 255, and 263; board-specific support available for Lubbock and some PDAs.   Main kernel source; board support for more PDAs at handhelds.org; for Linux 2.4 support see the Gadget webpage
Toshiba TC86c001 (Goku-S) UDC goku_udc driver works; requires PCI source@mvista.com Main kernel source (gadget api info)
Renesas SuperH UDC
 (SH 7705,7727, ...)
superh_udc works on SH 7705 (bulk only), SH 7727 should work too Julian Back Gadget webpage has Linux 2.4 support.
National 9603/9604 UDC     gadget-2.4 BK tree
Sharp LH7A40x UDC     main 2.6 kernel
OMAP full speed UDC stable; includes OTG support   main 2.6 kernel
MediaQ 11xx UDC     www.handhelds.org (2.6 kernel)
Samsung s3c2410 UDC     www.handhelds.org (2.6 kernel, iPaq h1940 support)
Atmel at91rm9200 UDC     http://maxim.org.za/AT91RM9200/2.6/
Intel PXA27x UDC under development   www.handhelds.org (2.6 kernel)
Intel SA-11x0 Unknown Handhelds Linux 2.4 ARM kernels like 2.4.19-rmk7 or 2.4.24-vrs1, and distributions like handhelds.org;

There's another driver version used with the Sharp Zaurus; neither one supports the Linux-USB Gadget API.

Class drivers

Class type Status Maintainer Where to find
Hub Working   Main kernel source (part of usbcore)
HID
(Human Interface Devices)
Keyboards, mice, joysticks, digitizers working Jiri Kosina Main kernel source
HID Power Working   User space UPS tools in NUT (newhidups)
HID Monitor None   Alan Cox kernel patches; no user space tools
CDC ACM Communications class
(Modems, ISDN TAs)
Working Oliver Neukum Main kernel source
CDC Ethernet model Communications class
(many Cable Modems and networked devices)
Experimental/2.4, Working/2.6   Linux 2.4 kernel CDCEther driver, or in 2.6 kernels usbnet.
Audio (non-midi) Working, support continuing Thomas Sailer for OSS version; ALSA team for the ALSA versions Main kernel source
Midi     2.6 kernel has separate OSS and ALSA drivers
Printers and printer cables Working Vojtech Pavlik Main kernel source
Mass Storage
(HD, Floppy, Zip, CD, etc.)
Working, mostly stable Matthew Dharm Main kernel source (not supported in 2.2.x) or here
Still Image Capture Working; user mode driver   jPhoto.sourceforge.net (or gPhoto2)
IrDA Experimental Dag Brattli Main kernel source
Bluetooth Experimental Greg Kroah-Hartman Main kernel source
Content Security None    
OpenUSBDI None   Won't be supported; "Kernel Binary Interfaces" are contrary to Linux goals. (Vendors should provide maintainable driver sources instead, so all CPUs can be supported.)
PID (Physical Interface Devices) None    
Firmware Upgrade     Some libusb based code at sf.net, and kernel usbdfu module as part the at76c503a project.
CCID (Chip/SmartCard Interfaces) User mode driver   libccid
CCS (Common Class) None    
OBEX (Object Exchange) Working Alex Kanavin OpenOBEX library, libusb-based

Vendor device drivers

Imaging Devices

Type Status Maintainer Where to find
Kodak DC-2XX digital still cameras Obsolete, removed from Linux 2.6   Use gPhoto2 rather than gPhoto 0.4.3 or OpenDis (both of which used this driver)
Microtek X6/Scanner Working, development continuing Oliver Neukum Main kernel source or updates
Mustek MDC800 digital still camera Working Henning Zabel Main kernel source
Scanner Working, development continuing Henning Meier-Geinitz Main kernel source or updates
LM983X Scanners (Canon N650U, etc) Usermode Driver Jason Millward here

"Multimedia" devices (video, radio)

Type Status Maintainer Where to find
CPiA-based webcams
(see list1 or list2)
Working, mostly complete Johannes Erdfelt Main kernel source
D-Link DSB-R100 USB FM Radio Experimental Markus Demleitner Main kernel source or updates
IBM/Xirlink webcams
(C-It, IBM PC Camera, Veo Stingray)
Working, mostly complete Dmitri Main kernel source; see the Web page here
OV511-based webcams
(e.g., AverMedia Intercam Elite, Creative WebCam III, D-Link DSB-C300, Lifeview RoboCam, MediaForte MV300)
Working, mostly complete Mark McClelland Main kernel source or updates
Philips webcams
(see list)
Working (binary, not supported) Nemosoft Unv. Main kernel source or updates
Philips webcams Working Luc Saillard here
se401 Chipset
(aox se401, philips pcvc665k and some kensington cameras)
Experimental Jeroen Vreeken here
Logitech Quickcam Express
Experimental Jean-frederic Clere here
IBM UltraPort webcams ( I or II) Experimental Karl Gutwin Main kernel source
EagleTron TrackerPod Experimental Derrick Parkhurst here
W996[87]CF Working Luca Risolia Main kernel source or here
SN9C10x Working Luca Risolia Main kernel source or here
ET61X[12]51 Working Luca Risolia here
DC1100 Working Luca Risolia here
M5603C Under development Luca Risolia here

Network Adapters

Type Status Maintainer Where to find
ADMtek Pegasus Ethernet-10/100/HomePNA
(essentially all full speed USB-Ethernet adapters supporting 100BaseT)
Working Petko Manolov Main kernel source or updates
ASIX AX88172
D-Link DUB-E100,
Hawking UF200,
Netgear FA120
(essentially all high speed 10/100 Ethernet adapters)
Working   Main kernel source, versions newer than 2.4.22 are merged with usbnet more information. (older ones use the "ax8817x" module).
Kawasaki LSI KL5KUSB 10-Mb Ethernet
Working Brad Hards Main kernel source
CATC 10-Mb Ethernet
Experimental Vojtech Pavlik Main kernel source from 2.4.6
PDAs and other smart network devices
 CDC Ethernet (on 2.6)
 Compaq iPaq (on Linux)
 G.Mate Yopy
 Sharp Zaurus
 ...more...
 usb-serial handles Visor and some others
Working David Brownell Main kernel source (from 2.4.10) ... "usbnet" driver, more information.
USB host-to-host cables  AnchorChips 2720
 Belkin F5U104
 GeneSys GL-620USB-A
 Laplink Gold
 NetChip 1080
 Prolific PL2301/2302
 Xircom PGUNET
 ...more...
Working David Brownell Main kernel source (from 2.4.10) ... "usbnet" driver, more information.
Prolific PLUSB
(used in some USB host-to-host cables)
Experimental Deti Fliegl Linux 2.2 kernel source ... "plusb" (in 2.4 use "usbnet")
smartBridges smartNIC Ethernet
Vendor-supported for 2.2 kernels, use CATC driver for 2.4 kernels SmartBridges here
Alcatel SpeedTouch DSL Modem
Experimental Duncan Sands here
ECI HiFocus DSL Modem (Usermode)
Experimental Jean-Sebastien Valette here
RealTek 10/100/Home PNA
Experimental here for 2.4 kernels
Intersil Prism2.5
(802.11b WLAN)
Experimental linux-wlan-ng (drivers and tools under MPL)
Atmel 76c50x
 (many 802.11b WLAN devices)
Experimental atmelwlandriver (sourceforge.net), or alternate usb-only drivers at76c503a (at berlios.de).
Ralink rt2x00
Beta Mark Wallis here
ZyDAS ZD1201
Beta Andres Ederra Main kernel source (from 2.6.12) or here
ZyDAS ZD1211
Beta Mayne Kiesel here

Serial and Parallel ports (also, "printer" class)

Type Status Maintainer Where to find
USB-serial
(e.g., ConnectTECH WhiteHEAT, HandSpring Visor, KeySpan, EdgePort, ...)
Working, development continuing Greg Kroah-Hartman Main kernel source
USS720 parallel port Working, mostly complete Thomas Sailer Main kernel source

Other Devices

Type Status Maintainer Where to find
Compaq PJB-100/MP3 Player Development Kit Vendor here
Diamond Rio 500 Experimental Cesar Miquel Main kernel source or updates
Compaq PA-2 Experimental Jeffrey Yu here
Logitech WingMan Force joystick Working, no force feedback Vojtech Pavlik Main kernel source
Wacom Intuos/Graphire tablet Working Vojtech Pavlik Main kernel source
Datafab MD2 Disk enclosure Alpha Josef Reisinger here
Datafab & Lexar Memory Readers
(also Simple Technology, PNY, SIIG)
Alpha mayfield+web@sackheads.org Main kernel source or here
BUSLink Hard Drive pre-Alpha Enrico Bravin here
Creative Jukebox Alpha seagull@aracnet.com here
Beatman Flash MP3 Player Alpha Gorka Prieto Agujeta here
Lego Tower pre-Alpha Juergen Stuber here
USB Test Devices useful usb-devel team Linux 2.6 kernel, more info here


Revision : $Id: devices.html,v 1.103 2014/07/26 13:19:01 gowdy Exp $