Out Of Tree Drivers
Revision as of 03:39, 7 May 2012 by Tomasz Grzegurzko (Talk | contribs)
Here is a list of Open Source (only GPL, BSD, MIT or MPL licenses accepted) Linux drivers that are already written, but are not included in the main Linux kernel.org tree for one reason or another. These are all possible projects that the Linux Driver Project developers could undertake to move the driver into the main kernel tree.
Note: Please do not list closed source drivers here, or ones that contain some kind of licensing issue that prevents them from being merged into the Linux source tree due to a legal issue. If no open source driver exists for the same hardware, please add an entry on DriversNeeded if one does not already exist.
Drivers by subsystem and type
Firewire
- ToDo:
Networking
Fixed Ethernet
- Chelsio TOE and RDMA support for the Terminator family [1]
- NOTE: Networking maintainers do not want support for this class of hardware in kernel!
Wireless 802.11
- Texas Instruments' ACX100/ACX111/TNETW1450 http://acx100.sf.net/ . See http://acx100.sf.net/wiki/History#Kernel_inclusion kernel inclusion section for some background information on the previous attempt to include it in the mainline kernel, also read http://linuxwireless.org/en/users/Drivers/acx1xx
- 3Com 3CRWE62092A X-Jack PCMCIA : [[2]]
- Atheros ar6k (AR6000) http://git.openmoko.org/?p=kernel.git (try the head ar6000-2.6.31 unless a newer has shown up). It might be a good idea to read the thread starting here first...
- ks7010 microSD wifi card http://projects.qi-hardware.com
- Realtek r8192xx 802.11N devices, they are in staging right now.
Controller Area Network (CAN, ISO 11898)
- pcan http://www.peak-system.com/linux/index.htm Peak-System Technik CAN interfaces (ISA, PC/104, parport, PCI, PCMCIA, USB, PC/104plus, embedded variants)
- lincan http://www.ocera.org/download/components/WP7/lincan-0.3.3.html
Misc
- iBurst mobile broadband wireless http://sf.net/projects/ibdriver http://en.wikipedia.org/wiki/Iburst
- Zaptel (DAHDI) drivers for the Digum telephony interfaces http://downloads.asterisk.org/pub/telephony/dahdi-linux/
- NDISWrapper http://ndiswrapper.sf.net/ - implements Windows kernel API and NDIS API within Linux kernel, mostly acting as a compatibility layer to be able to load proprietary windows drivers when there is no Linux driver available. Not sure if any kernel developer wants this in mainline at all, so it`s just being listed for completeness here.
- kclown_spy http://clownix.net/ This kernel module permits the display of real-time plots for bandwidth of tcp/udp connexions and for qdiscs monitoring.
- l7-filter http://l7-filter.sf.net/ Linux layer 7 packet classifier
- Pulsar ADSL card http://sf.net/projects/openadsl/
- IMQ http://www.linuximq.net/. IFB was added to mainline to provide similar functionality as IMQ but didn't go all the way thus IMQ is still being used.
- bewan-adsl - Bewan ADSL PCI & USB st driver http://www.bewan.com/
- ipp2p - netfilter module for dealing with P2P applications http://www.ipp2p.org
- arpstar - ARPStar kernel module for protection against arp poisoning http://arpstar.sf.net
- htbinit - Sets up Hierachical Token Bucket based traffic control (QoS) with iproute2 http://sf.net/projects/htbinit
- ksb - kernel SOCKS bouncer http://ksb.sf.net/
- noarp - kernel module for hiding network interfaces http://www.masarlabs.com/noarp/
- portbunny - kernel based highspeed TCP SYN port scanner http://recurity-labs.com/portbunny/
- linmodem - winmodems with Lucent Apollo (ISA) and Mars (PCI) chipsets http://linmodems.technion.ac.il/
- madwimax - user-space driver for the Samsung SWC-U200 Mobile WiMAX USB dongle http://code.google.com/p/madwimax/
- tcpcp - TCP connection passing between apps on different hosts http://tcpcp.sourceforge.net/
- wanpipe - WANPIPE S-series multi-protocol WAN and ADSL adapters http://wiki.sangoma.com/wanpipe-linux-drivers
- mpls-linux Multi Protocol Label Switching stack for the _Linux kernel_ http://sourceforge.net/apps/mediawiki/mpls-linux/index.php?title=Main_Page
Storage
- Oracle ASMLib Kernel Driver http://oss.oracle.com/projects/oracleasm/
ATA
- Promise Technology RAID controllers: http://www.promise.com/support/support_eng.asp
Card Readers
- O2Micro OZ711MS1/OZ711MP1 controller, a card reader for MMC/SD/MS Pro - more info, driver for pre-2.6.17-series kernel
- sdricoh_cs mmc/sd-cardreader http://sdricohcs.sf.net/
- Neuros SD/MMC card readers (davinci.c, dm320_mmc.c, itomap2430_hsmmc.c, omap24xx_mmc.c, omap2430_hsmmc.c, etc). http://www.google.com/search?hl=en&lr=&q=+site%3Asvn.neurostechnology.com+mmc&btnG=Search
- Smart Cards readers drivers http://www.musclecard.com/sourcedrivers.html
SCSI
- Accusys SCSI raid driver http://uwsg.iu.edu/hypermail/linux/kernel/0710.2/2783.html
- ATARI SCSI (ACSI) 1, 2 need to be ported from 2.4 kernel
- AEC-671X SCSI adapter driver (atp870u), was working in 2.4 kernel, broken in 2.6.
- ppSCSI, drivers for various parallel-port-to-SCSI chips, so your parallel-port-connected device shows up as a SCSI device. 2.6 version here: http://penguin-breeder.org/kernel/download/
- vscsihba - Virtual SCSI HBA Project http://vscsihba.aboo.org/
- cdemu-vhba - emulates SCSI HBA for cdemu http://cdemu.sourceforge.net/
iSCSI
- The iSCSI Enterprise Target Project, also known as IET. As explained in the IET FAQ, IET is deployed as a kernel module. In contrast with the older iSCSI target IET has been forked from, patching and recompiling the kernel is not necessary in order to use IET.
- The iSCSI-SCST project. The iSCSI-SCST project is another actively maintained implementation of an iSCSI target for Linux. Compared to IET, iSCSI-SCST has a higher performance and overcomes several of the limitations of IET. For a detailed comparison of iSCSI-SCST and IET, see also http://scst.sourceforge.net/comparison.html.
- Although the kernel part of the Linux SCSI target framework project (stgt) has been merged upstream in kernel 2.6.20, both the IET and the SCST projects have a considerable user base. This is because the IET and iSCSI-SCST targets have a higher throughput and lower latency than stgt. The throughput difference can be up to 50% -- see also [3] or [4]. The performance difference is significant because stgt has been implemented almost entirely in user space, while IET and iSCSI-SCST have been implemented in the kernel. There are no plans to reimplement the stgt iSCSI target in the kernel -- to the contrary, implementing most of it in user space was one of the design goals of the stgt project.
Tape
- lin_tape driver for IBM scsi/fc tape drives and libraries, open-source rewrite of the older proprietary IBMtape driver
- FTape driver, 1, 2
- HP Colorado Trakker tape driver
Disk encryption
- loop-AES (uncooperative with kernel developers)
USB
- Driver for spcp8x5 USB to serial adaptor. Used in ACT Solutions HomePro/Zwave controller ZCU201.
- Eagle Chipset powered ASDL modem http://www.eagle-usb.org/
- PLX Tech NET 2272 USB controller PLX Tech NET 2272 USB Controller driver
Video Input
Web Cams
- Divio NW802 and related (various cameras, various chipsets). SF project very infrequently updated
- Ricoh R5U870-based Custom OEM Webcams : http://lsb.blogdns.com/ry5u870 http://marc.info/?l=linux-usb-devel&m=117803950126004
- ov511-new - adds additional decompression to the existing ov511 driver (ubuntu kernel) -- same as ov51x-jpeg? If so may not be suitable for in-kernel, see: http://www.rastageeks.org/ov51x-jpeg/index.php/Main_Page HansDeGoede is working on getting this into the mainline, decompression will go to userspace (libv4l)
- ALi M5603c with ov7648 sensor webcams, as shipped in some Asus laptops, or Creative (e.g. Live! Cam Voice and Video IM Pro), probably Genuis SLIM321c. A functional driver developped as a sub-driver of GSPCAv2 (Jean-François Moine) exists at http://m560x-driver.svn.sourceforge.net/viewvc/m560x-driver/m560x/branches/m5603c-gspca/ . It needs some test or cleanup before going into gspca tree. Works for me for usb device 0402:5603 ALi Corp. USB 2.0 Q-tec Webcam 300 and for 041e:4055 Creative Technology, Ltd Live! Cam Video IM Pro. Note the ALi M5602 have nothing common with this driver and is already included in gspca tree.
V4L
- V4L driver for Matrox Marvel G200-TV and G400-TV
- RivaTV: Enables video-in TV tuners that come with nVidia graphics cards.
- [5] Video capture from Mantis based DVB cards - still considered as experimental by the driver author (Found link here: http://linuxtv.org/wiki/index.php/TerraTec_Cinergy_C_DVB-C)
- [6] The TV-Master TM6000 is an integrated Video decoder and USB bridge IC from Trident. There is an experimental patch that has several issues. Due to that, it is was not been included in tree, and doesn't compile with the latest kernels, due to the i2c changes.
- tw68 - V4L2 driver for Techwell TW6800 based boards
Video Output
- device3dfx kernel driver for Voodoo boards svn://sf.net/projects/glide
- mga_vid driver for Matrox cards
- radeonfb ATOM BIOS parser and support for newer cards http://lwn.net/Articles/215965/ http://thread.gmane.org/gmane.linux.kernel/530781
- DXR3 & Hollywood plus Mpeg2 Decoder card http://dxr3.sf.net/
- radeonlcd http://fdd.com/software/radeon/
Audio
- hardsid driver http://hardsid.sf.net/
- snd_bt-sco - bluetooth SCO sound driver (ubuntu kernel)
Input Devices
- Acer hotkey driver http://www.cakey.de/acerhk/ (Does not work on x86-64 because it calls 32 bit protected mode BIOS routines; it can't be ported to libx86 because this can currently only make 16 bit real mode BIOS calls) (Ubuntu and Mandriva kernels)
- ATI Remote Wonder Plus http://mythtv.wbond.net/remote_wonder_plus_linux/
- Creative DXR2 http://dxr2.sf.net (only works on linux-2.4)
- Panasonic hotkey driver http://www.da-cha.jp/letsnote
- Wacom tablets Project homepage
- lirc http://www.lirc.org (included in Fedora kernel) and the lirc drivers for Hauppauge cards at http://ivtvdriver.org
- Synaptics USB driver for cPad and other USB touchpads
- lmpcm_usb - Logitech mediaplay cordless mouse driver (ubuntu kernel)
- xpc rc01 remote control - http://mathema.tician.de/node/416
- Aiptek/Trust USB tablets - http://sourceforge.net/projects/aiptektablet
Multiport Serial Devices
- Digi RealPort ethernet-connected multiport console/serial server (dgrp)
- Digi AccelePort C/X, XEM, Xr and EPC/X driver (dgap)
- Digi AccelePort RAS and XP driver (dgdm)
- Digi Neo and ClassicBoard driver (dgnc)
- Equinox/Avocent ESP Serial Hub http://www.connectivity.avocent.com/support/download-drivers/
- Equinox/Avocent SST multiport serial http://www.connectivity.avocent.com/support/download-drivers/ - http://marc.info/?a=115098161800001&r=1&w=2 linux-kernel review
Data acquisition / custom device control
- dmx4linux http://llg.cubic.org/dmx4linux/ (like midi, but for lighting)
- GPIB/IEEE488 USB Controller, model NI GPIB-USB-HS by National Instruments. http://linux-gpib.sf.net/
- linuxclc http://sf.net/projects/linuxclc/ - "This is a Linux 2.4 driver for ISA, PC-104 and serial Indramat CLC cards for SERCOS motion control."
- camac http://www.ifh.de/~ole/camac/ Wiener CC-16 ISA-CAMAC, Jorway J73A SCSI-CAMAC controllers, and a few others
- ccp http://psux1.kek.jp/~kohama/ccp/ccp.html CAMAC, TKO and Fastbus driver for Hoshin CCP-IBM(ISA) controller
- camdrv http://www.awa.tohoku.ac.jp/%7Esanshiro/kinoko/camdrv/index.html CAMAC driver for CC/7700-PCI,CC/7700-ISA,CC/7000-ISA,CCP (PCI/ISA),CCP (PCI-2703A)
- k2927/k2915/acc_unidaq http://www.elc.nias.ac.jp/~daq/software/ drivers for various KineticSystems CAMAC cards
Hardware monitoring (a.k.a lm_sensors)
- TODO table: http://www.lm-sensors.org/wiki/Devices
VME
- SIS1100/SIS3100 PCI to VME interface (VME is a bus architecture popular in high-end physics labs and mission-critical systems) - the existing Linux source can be found at http://www.struck.de/linux1100.htm
- vmedrv is a device driver for Linux 2.x for the PCI-VME bus adapter Model 616/617/618/620 manufactured by SBS Technologies (Bit3).
Test/development cards
- ex10 ex10_i2c ex10_spi Modules for Amfeltec eX10 PCI Extender, GPL, included on accompanying CD only.
ACPI Support
- Experimental Toshiba ACPI Driver (needed for Toshset to control fan speeds, LCD brightness, etc.) http://memebeam.org/toys/ExperimentalToshibaAcpiDriver
- acer_acpi - Acer hardware control http://code.google.com/p/aceracpi
- fritzacpi - SuSE's 2.6 AVM kernel modules for fcclassic, fcpci, fcpcmcia, fcpnp, fcusb, fcusb2, fxusb_CZ, fxusb, e2220pc and e5520pc http://www.avm.de/ ftp://ftp.suse.com/pub/suse/i386/10.1/SUSE-Linux10.1-Beta3-Extra/suse/x86_64/km_fritzacpi.
Hardware offload
Howler Screamer G.729 encode/decode offload card. http://www.howlertech.com/static/downloads/hfs-1.3.2.tar.gz
Non-Driver modules outside of the kernel tree
Filesystems
- Lustre [7]
- Read-only compressed loop blockdevice cloop
- Reiser4 http://kernelnewbies.org/WhyReiser4IsNotIn & http://lkml.org/lkml/2006/7/28/180 & http://www.gossamer-threads.com/lists/engine?do=post_view_flat;post=668645;page=1;sb=post_latest_reply;so=ASC;mh=25;list=linux
- unionfs http://www.filesystems.org/project-unionfs.html in andrew morton`s -mm tree.
- NAND flash filesystem YAFFS (cvs)
- novfs - Novell Filesystem (inside OpenSuSE kernel??)
- aufs http://aufs.sf.net/
- fusion proc filesystem - http://directfb.org/wiki/index.php/Fusion_Proc_Filesystem
- openafs - OpenAFS distributed filesystem http://www.openafs.org/
- shfs - Secure Shell File System http://shfs.sf.net/
- Redundant Array of Independent Filesystems - source see also the papers
- (This may not be the right category for the following)
- uloop - kernel driver for implementing loopdevice in userspace. http://aufs.cvs.sf.net/aufs/aufs/sample/uloop/00readme.txt?view=log
- dm-userspace - similar to uloop, but different, device-mapper-style implementation. http://wiki.xensource.com/xenwiki/DmUserspace
- cowloop - copy-on-write loop driver to be used on top of any other block driver. http://www.atcomputing.nl/Tools/cowloop/
- dm-bbr - Bad Block relocation target (gentoo kernel)
- cdemu - mount bin/cue cd images http://cdemu.sourceforge.net/
Network Block Devices
- DRBD
- Enhanced Network Block Device (enbd)
- GNBD
- vblade-kernel for exporting blockdevices via AoE (ATA Over Ethernet)
- kvblade ditto, but different implementation
LSM (Linux Security Modules)
- Dazuko http://www.dazuko.org/
- LIDS http://www.lids.org/
- MultiADM http://jengelh.medozas.de/projects/multiadm/
- TALPA http://sf.net/projects/talpa/ Intercepts file accesses and allows userspace daemons to vet them. Part of Sophos security products. Please mind discussion thread at http://marc.info/?l=linux-kernel&m=119625408226843&w=2
- (This may not be the right category for the following)
- grsecurity, gadmin and PAX http://grsecurity.org/
- McAfee LinuxShield
- Sophos AntiVirus
- Exec Shield http://en.wikipedia.org/wiki/Exec_Shield , (included in Fedora kernel)
Virtualization
- kqemu http://www.nongnu.org/qemu/download.html
- VirtualBox virtualization drivers http://www.virtualbox.org/wiki/Downloads
- various VMware drivers as part of the open-vm-tools package http://open-vm-tools.sf.net/
- Mac On Linux - http://mac-on-linux.sf.net/
Architectures
- Linux/98 for PC-98 NEC arch http://linux98.sourceforge.jp/ - deleted by 1, 2
- NEC Osprey board (vr4181) 1
- Linux Tiny patchset to minimize memory footprint and enable booting on embedded and old i386 devices (maintained by Sony)
- VAX port http://linux-vax.sf.net/ http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/jbglaw/vax-linux.git;a=summary git tree
- DENX tree for various embedded architectures: http://www.denx.de/en/Software/GIT
- Tom Tom kernel ARM port and drivers http://www.tomtom.com/gpl
Uncategorised
- Catweasel Advanced Floppy Controller driver http://www.soundtracker.org/raw/cwfloppy/
- Catweasel i/o device drivers... driver for the joystick/mice/keyboard parts (sid part is covered by compatible hardsid, see Audio section), see above for the floppy controller part http://llg.cubic.org/cw/
- parallel port hardware http://www-stud.ims.uni-stuttgart.de/~voegelas/pcf.html
- speakup http://www.linux-speakup.org/
- Texas Instruments UltraMedia Firmware Loader http://penguin-breeder.org/kernel
- PJB100 mp3 player http://openpjb.sf.net/ with patches for recent kernels appearing at http://tech.groups.yahoo.com/group/PJB100-mp3/
- ATOP process counters http://www.atcomputing.nl/Tools/atop/kernpatch.html
- LTTng http://ltt.polymtl.ca/
- http://rick.vanrein.org/linux/badram/ provides support for damaged RAM
- oms
- heci (ubuntu kernel)
- gc-usb (ubuntu kernel)
- rfkill (ubuntu kernel) -- already in mainline? See Documentation/rfkill.txt in the current kernel tree
- tlsup (ubuntu kernel)
- via_chrome9 (ubuntu kernel)
- fasm7400 - rf kill switch for Fujitsu Siemens Amilo M7400 laptop (ubuntu kernel)
- thinkpad_ec - thinkpad embedded controller lpc3 functions, will not be accepted upstream due to authorship issues (written by an anonymous developer). (ubuntu kernel)
- tp_smapi - thinkpad SMAPI support, will not be accepted upstream due to authorship issues (written by an anonymous developer). (ubuntu kernel)
- SGI "ProPack"
- fbcondor - framebuffer console decoration (gentoo kernel)
- airt - advanced incident response assistant tools - http://159.226.5.93/projects/airt.htm
- omnibook - HP laptop support http://sf.net/projects/omnibook
- tpctl - thinkpad system control kernel modules http://tpctl.sf.net
- usbirboy - homemade ir USB receiver http://usbirboy.sf.net/
- parapin - parallel port pin kernel module http://parapin.sf.net/
- legousb - lego mindstorms usb tower kernel driver http://legousb.sf.net/
- sysprof - system-wide profiler http://www.daimi.au.dk/~sandmann/sysprof/
- svgalib - svga graphics on the console http://www.svgalib.org/
- line6usb - usb driver for line6 PODs and the Variax workbench http://www.tanzband-scream.at/line6/
- packetcommand - driver for the em84xx dvd disc access http://www.htpc-forum.de
- em8300 - RealMagic Hollywood+/Creative DXR3 video decoder driver http://dxr3.sf.net
- em84xx - em4xx based mpeg-decoder card driver http://sf.net/projects/em84xx/
- fsam7400 - software killswitch for F-S Amilo laptops and compatibles http://zwobbl.homelinux.net
- pcfclock - driver for the parallel port radio clock sold by Conrad Electronic http://www-stud.ims.uni-stuttgart.de/~voegelas/pcf.html
- rlocate - locate implementation that is always up-to-date http://rlocate.sf.net/
- Crash Utility memory driver http://people.redhat.com/anderson/ (included in Fedora kernel)
- utrace Infrastructure for tracing and debugging user processes: http://people.redhat.com/roland/utrace/ (included in Fedora kernel)
- asus_eee - interface for access to eeepc internals (e.g. fan speed): http://code.google.com/p/eeepc-linux/
- sony - (old) kernels for Sony televisions, set top boxes and similar http://products.sel.sony.com/opensource/