== For Installing or developing Drivers. ==
==== Installing Drivers ====
[[http://vger.kernel.org/lkml/|Linux-kernel mailing list FAQ]] - see section 2 on device drivers<
>
[[http://www.linmodems.org|Linux support for some Winmodems]]<
>
[[http://pcmcia-cs.sourceforge.net|PCMCIA]]<
>
[[USB]] (includes driver development)<
>
==== Developing Drivers Tutorial for Newbies ====
(none, yet)<
>
There are some links in the section below, but they are outdated on certain parts (especially regarding code). They might not be suitable if you are new to the topic.
==== Developing Drivers ====
[[http://www.tldp.org/HOWTO/Module-HOWTO/|Linux Loadable Kernel Module HOWTO]] (as
[[http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Module-HOWTO.html|1 large html file]]) (updated 2006)<
>
[[http://www.tldp.org/LDP/lkmpg/|Linux Kernel Module Programming Guide]](updated 2001)<
>
[[http://lwn.net/Kernel/LDD2/|Linux Device Drivers 2nd]] for 2.4.x (whole book online) (updated 2001)<
>
[[http://lwn.net/Kernel/LDD3/|Linux Device Drivers 3rd]] for 2.6.x (whole book online) (updated 2005)<
>
[[https://www.linuxjournal.com/article/2920|Misc Character Drivers ]](updated 1998)<
>
[[https://tldp.org/HOWTO/IO-Port-Programming.html|I/O port programming mini-HOWTO ]](updated 2000)<
>
==== Advanced Topics ====
[[http://lwn.net/Articles/driver-porting/|Porting device drivers to the 2.6 kernel ]](updated 2004)<
>
Reference: [[https://kernelnewbies.org/WritingPortableDrivers|WritingPortableDrivers ]](updated 2017)<
>
User Level Drivers: see https://www.linuxjournal.com/article/5442, https://www.embedded.com/device-drivers-in-user-space/, and https://lwn.net/Articles/703785/<
>
MindShare, Inc has a nice series of books on various bus protocols, including PCI, USB, PCMCIA and Cardbus.
KernelCodeRepository : users kernel code
==== Misc Links that Might Help ====
[[http://linuxassembly.org|linuxassembly.org]]<
>