特定のハードウェア用のドライバを探す(自動的にインストールされない)

特定のハードウェア用のドライバを探す(自動的にインストールされない)

そこにいくつかありますか?一般的なハードウェア名だけが与えられたときにLinuxシステムにインストールする必要があるドライバの名前をどのように知ることができますか?すべてのハードウェア情報と関連ドライバを収集する集中型のWebページまたはアプリがありますか?それともWebブラウザで検索する必要がありますか?この状況では、どうしたらいいですか?

たとえば、ハードウェア「Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller」のドライバ名を知りたいと思います。

答え1

ikB

ここでは、Linuxカーネルに含まれているドライバを検索できます。http://cateee.net/lkddb/web-lkddb/。ホームページはこちら、http://cateee.net/lkddb/

LKDDbについて
LKDDbは、Linuxカーネルに知られているハードウェアとプロトコルの包括的なデータベースを構築しようとします。ドライバデータベースには、ハードウェアの数値識別子、ドライバの構築に必要なカーネル設定メニュー、ドライバファイル名が含まれています。データベースはカーネルソースコードから自動的に構築されるため、常にデータベースを更新するのは簡単です。

ドライバは含まれていません

通常、Linuxカーネルを介してハードウェア名で検索して、デフォルトでドライバを提供していることを確認する必要があります。そうでない場合は、製造元のウェブサイトにアクセスする必要があります。または、Intel、Nvidia、または他の人が行った参照デザインの場合は、そのWebサイトで適切なドライバを検索する必要があります。

どのドライバを使用しますか?

すでに保持しているハードウェアでどのドライバ/モジュールが使用されているかを確認するには、このツールを使用できます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
...

引用する

関連情報