Назад | Перейти на главную страницу

Файл списка модулей в linux

Я хочу знать, где находится файл, в котором перечислены все модули в пакете ядра Linux для определенного идентификатора устройства? а где этот файл (путь)?

pci.ids и usb.ids содержат идентификатор устройства и имя устройства, но не его модуль. Например, в pci.ids есть строка «10ec 8169 RTL8169 / 8110 Family PCI Gigabit Ethernet NIC», но в ней нет имени модуля того, который является «r8169».

В esxi для этого был файл simple.map, в котором для примера выше была строка «10ec: 8169 0000: 0000 network r8169». Но я не могу найти его в Linux? (мой Linux - opensuse 12.2)

спасибо и всего наилучшего

Как насчет lspci -v или lspci -k?

06:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
    Subsystem: Intel Corporation Device 1050
    Flags: bus master, fast devsel, latency 0, IRQ 44
    Memory at da000000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: <access denied>
    Kernel driver in use: iwl3945
    Kernel modules: iwl3945

Вы также можете определить, выполнив следующие действия:

$ lspci | grep -i wireless
06:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)

$ lspci -n | grep 06:00.0
06:00.0 0280: 8086:4222 (rev 02)

$ grep 4222 /lib/modules/2.6.38-gentoo/modules.pcimap 
iwl3945              0x00008086 0x00004222 0xffffffff 0x00001005 0x00000000 0x00000000 0x0
iwl3945              0x00008086 0x00004222 0xffffffff 0x00001034 0x00000000 0x00000000 0x0
iwl3945              0x00008086 0x00004222 0xffffffff 0x00001044 0x00000000 0x00000000 0x0
iwl3945              0x00008086 0x00004222 0xffffffff 0xffffffff 0x00000000 0x00000000 0x0

$ modinfo iwl3945
filename:       /lib/modules/2.6.38-gentoo/kernel/drivers/net/wireless/iwlwifi/iwl3945.ko
firmware:       iwlwifi-3945-2.ucode
license:        GPL
author:         Copyright(c) 2003-2010 Intel Corporation <ilw@linux.intel.com>
version:        in-tree:ds
description:    Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux
srcversion:     65739B23FCE2B5359078B5A
alias:          pci:v00008086d00004227sv*sd*bc*sc*i*
alias:          pci:v00008086d00004222sv*sd*bc*sc*i*
alias:          pci:v00008086d00004227sv*sd00001014bc*sc*i*
alias:          pci:v00008086d00004222sv*sd00001044bc*sc*i*
alias:          pci:v00008086d00004222sv*sd00001034bc*sc*i*
alias:          pci:v00008086d00004222sv*sd00001005bc*sc*i*
depends:        
vermagic:       2.6.38-gentoo SMP mod_unload PENTIUM4 
parm:           antenna:select antenna (1=Main, 2=Aux, default 0 [both]) (int)
parm:           swcrypto:using software crypto (default 1 [software])
 (int)
parm:           debug:debug output mask (uint)
parm:           disable_hw_scan:disable hardware scanning (default 0) (deprecated) (int)
parm:           fw_restart3945:restart firmware in case of error (int)

Вы можете найти символические ссылки с устройств на модули в /sys файловая система:

$ ll /sys/class/net/wlan0/device/driver
  lrwxrwxrwx. 1 root root 0 sep 22 11:46 /sys/class/net/wlan0/device/driver -> ../../../../bus/pci/drivers/ath9k

Вы можете найти все символические ссылки на driver в /sys используя

$ find /sys -type l -name 'driver' -ls