LKDDb
You can search for drivers that are included in the Linux Kernel here, http://cateee.net/lkddb/web-lkddb/. The primary page is here, http://cateee.net/lkddb/.
About LKDDb
LKDDb is an attempt to build a comprensive database of hardware and
protocols know by Linux kernels. The driver database includes numeric
identifiers of hardware, the kernel configuration menu needed to build
the driver and the driver filename. The database is build
automagically from kernel sources, so it is very easy to have always
the database updated.
Drivers not included
You typically have to search by the hardware name through the Linux Kernel to see if it provides a driver out of the box. If not then you'll need to go to the manufacturers website or if it's a reference design done by Intel or NVidia or someone, search their site for corresponding drivers.
What drivers am I using?
To see what driver/modules are being used by hardware you already have you can use the tool lspci -v
.
For example:
$ lspci -v
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
Subsystem: Lenovo Device 2193
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: agpgart-intel
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 215a
Flags: bus master, fast devsel, latency 0, IRQ 45
Memory at f2000000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 1800 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
Notice the lines that say "Kernel driver in use" and "Kernel modules".
What drivers/modules does my Kernel already have loaded?
You can look to the Kernel's /proc
filesystem for this info:
$ less /proc/modules
tcp_lp 2111 0 - Live 0xffffffffa00fc000
aesni_intel 12131 1 - Live 0xffffffffa0185000
cryptd 7111 1 aesni_intel, Live 0xffffffffa013c000
aes_x86_64 7758 1 aesni_intel, Live 0xffffffffa0128000
aes_generic 26908 2 aesni_intel,aes_x86_64, Live 0xffffffffa00f3000
fuse 61966 3 - Live 0xffffffffa030b000
cpufreq_powersave 1154 0 - Live 0xffffffffa00f0000
sunrpc 201569 1 - Live 0xffffffffa0580000
vboxpci 13918 0 - Live 0xffffffffa0576000
vboxnetadp 18145 0 - Live 0xffffffffa056c000
...
You can also use the command lsmod
to get this info in a prettier format:
$ lsmod | less
Module Size Used by
tcp_lp 2111 0
aesni_intel 12131 1
cryptd 7111 1 aesni_intel
aes_x86_64 7758 1 aesni_intel
aes_generic 26908 2 aesni_intel,aes_x86_64
fuse 61966 3
cpufreq_powersave 1154 0
sunrpc 201569 1
vboxpci 13918 0
vboxnetadp 18145 0
...
module info
You can use the command modinfo
to find out more about a particular module:
$ modinfo tcp_lp
filename: /lib/modules/2.6.35.14-106.fc14.x86_64/kernel/net/ipv4/tcp_lp.ko
description: TCP Low Priority
license: GPL
author: Wong Hoi Sing Edison, Hung Hing Lun Mike
srcversion: 8BFC408F81AB96C2D21A317
depends:
vermagic: 2.6.35.14-106.fc14.x86_64 SMP mod_unload
What drivers/modules are available to my kernel?
You can look through this directory to see all the kernel drivers/modules that are provided by your system for use with your kernel:
$ ls /lib/modules/`uname -r`
build modules.alias modules.builtin.bin modules.drm modules.modesetting modules.pcimap modules.usbmap
extra modules.alias.bin modules.ccwmap modules.ieee1394map modules.networking modules.seriomap source
kernel modules.block modules.dep modules.inputmap modules.ofmap modules.symbols updates
misc modules.builtin modules.dep.bin modules.isapnpmap modules.order modules.symbols.bin vdso
You can list them out with this command:
$ find /lib/modules/`uname -r` -type f | less
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.dep.bin
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.ieee1394map
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.networking
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.dep
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.isapnpmap
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.builtin
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.seriomap
/lib/modules/2.6.35.14-106.fc14.x86_64/modules.usbmap
...
References
linux driver SATA Controller
. – ott-- Jul 22 '13 at 16:00