Linux
查找特定硬體的驅動程序(不會自動安裝)
有沒有一些通用的方法來找出我必須在我的 linux 系統上安裝的驅動程序的名稱,只給出硬體名稱?也許是一些集中的網頁或應用程序,它收集了所有硬體資訊及其相關的驅動程序?或者我能做的就是在網路瀏覽器上搜尋它?在這種情況下你會怎麼做?
例如,我想知道硬體“Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller”的驅動程序名稱
LKDDb
您可以在此處搜尋 Linux 核心中包含的驅動程序,http://cateee.net/lkddb/web-lkddb/>。首頁在這裡,<http://cateee.net/lkddb/。
關於 LKDDb
LKDDb 是一個嘗試建立一個 Linux 核心知道的硬體和協議的綜合數據庫。驅動程序數據庫包括硬體的數字標識符、建構驅動程序所需的核心配置菜單和驅動程序文件名。數據庫是從核心源自動建構的,因此很容易隨時更新數據庫。
不包括驅動程序
您通常必須通過 Linux 核心按硬體名稱搜尋,以查看它是否提供了開箱即用的驅動程序。如果沒有,那麼您需要訪問製造商網站,或者如果它是由 Intel 或 NVidia 或其他人完成的參考設計,請在他們的網站上搜尋相應的驅動程序。
我使用的是什麼驅動程序?
要查看您已經擁有的硬體正在使用哪些驅動程序/模組,您可以使用該工具
lspci -v
。例如:
$ 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
請注意“使用中的核心驅動程序”和“核心模組”的行。
我的核心已經載入了哪些驅動程序/模組?
您可以查看核心的
/proc
文件系統以獲取此資訊:$ 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 ...
您還可以使用以下命令
lsmod
以更漂亮的格式獲取此資訊:$ 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 ...
模組資訊
您可以使用該命令
modinfo
來了解有關特定模組的更多資訊:$ 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
我的核心可以使用哪些驅動程序/模組?
您可以瀏覽此目錄以查看系統提供的用於核心的所有核心驅動程序/模組:
$ 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
您可以使用以下命令列出它們:
$ 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 ...
參考