Trouver un pilote (qui n'est pas installé automatiquement) pour un matériel spécifique

Existe-t-il un moyen général de find le nom du pilote que je dois installer sur mon système Linux, étant donné le nom du matériel? Peut-être une page Web centralisée ou une application qui gatters toutes les informations matérielles et c'est lié dirver? Ou tout ce que je peux faire est de le searchr sur un browser Web? Que faites-vous dans ce cas?

Par exemple, je veux connaître le nom du pilote pour le matériel "Contrôleur SATA Intel Corporation 82801HM / HEM (ICH8M / ICH8M-E)"

LKDDb

Vous pouvez searchr des pilotes inclus dans le kernel Linux ici, http://cateee.net/lkddb/web-lkddb/ . La page primaire est ici, http://cateee.net/lkddb/ .

À propos de LKDDb
LKDDb est une tentative de build une database complète de matériels et de protocoles connus des kernelx Linux. La database du pilote comprend des identificateurs numériques de matériel, le menu de configuration du kernel nécessaire pour build le pilote et le nom de file du pilote. La database est construite automatiquement à partir de sources du kernel, il est donc très facile d'avoir toujours la database à jour.

Pilotes non inclus

Vous devez généralement searchr par le nom du matériel via le kernel Linux pour voir s'il fournit un pilote hors de la boîte. Si ce n'est pas le cas, vous devrez vous rendre sur le site Web des fabricants ou si c'est une design de reference faite par Intel ou NVidia ou par quelqu'un, searchz sur leur site les pilotes correspondants.

Quels pilotes suis-je en train d'utiliser?

Pour voir quel pilote / modules sont utilisés par le matériel que vous avez déjà, vous pouvez utiliser l'outil lspci -v .

Par exemple:

 $ 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 

Notez les lignes qui disent "Pilote du kernel en cours d'utilisation" et "Modules du kernel".

Quels pilotes / modules mon kernel a-t-il déjà chargés?

Vous pouvez consulter le système de files /proc du kernel pour cette information:

 $ 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 ... 

Vous pouvez également utiliser la command lsmod pour get cette information dans un format plus joli:

 $ 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 ... 

information du module

Vous pouvez utiliser la command modinfo pour en savoir plus sur un module particulier:

 $ 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 

Quels pilotes / modules sont disponibles pour mon kernel?

Vous pouvez parcourir ce directory pour voir tous les pilotes / modules du kernel fournis par votre système pour être utilisés avec votre 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 

Vous pouvez les listr avec cette 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 ... 

Les references

  • Comment: afficher la list des modules ou des pilotes de périphériques dans le kernel Linux