The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Как узнать поддерживается ли PCI устройство в заданном Linux ядре
Для определения какие доступные модули ядра подходят для установленных в текущей системе PCI плат, 
нужно запустить утилиту pcimodules, которая для сопоставления модулей ядра и
идентификаторов PCI плат
использует содержимое файла /lib/modules/версия_ядра/modules.pcimap,
автоматически генерируемого на этапе
выполнения команды depmod.

Полный список всех поддерживаемых PCI идентификаторов можно найти в файле /usr/share/hwdata/pci.ids
Обновить базу pci.ids можно выполнив команду:

   update-pciids

Для просмотра всех PCI устройств в системе нужно использовать утилиту lspci
(lspci -vvv для детального вывода).

Для вывода информации, какой драйвер можно использовать для каждого устройства в системе:

   lspci -k

Рассмотрим по шагам процесс определения присутствия поддержки имеющейся аудио
платы в текущем Linux ядре.

Смотрим параметры платы:

   lspci | grep -i audio

   00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller

Видим, что идентификатор платы 00:1b.0. Далее, выводим для этого идентификатора
более подробную информацию:


   lspci -n | grep 00:1b.0
 
   00:1b.0 0403: 8086:27d8 (rev 01)

где,
   00:1b.0 - код устройства;
   8086 - код производителя (Intel Corporation)
   27d8 - идентификатор модели.

Проверяем какие модули ядра поддерживают данную модель:

   grep 27d8 /lib/modules/$(uname -r)/modules.pcimap 

   snd-hda-intel 0x00008086 0x000027d8...

Смотрим информацию о драйвере:

   modinfo snd-hda-intel

   filename:       /lib/modules/2.6.27-11-server/kernel/sound/pci/hda/snd-hda-intel.ko
   description:    Intel HDA driver
   depends:        snd-pcm,snd-page-alloc,snd
 
06.07.2009 , Источник: http://www.cyberciti.biz/tips/linux...
Ключи: hardware, linux, driver, kernel / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Поддержка аппаратного обеспечения

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним, 10:41, 06/07/2009 [ответить] [смотреть все]
  • +/
    У меня ядро без модулей Где можно в исходниках найти аналог lib modules unam... весь текст скрыт [показать]
     
     
  • 2.8, pavlinux, 19:00, 06/07/2009 [^] [ответить] [смотреть все]  
  • +/
    grep -R  PCI_DEVICE /usr/src/linux/ | grep 27d8
     
  • 1.2, тест, 11:03, 06/07/2009 [ответить] [смотреть все]  
  • +/
    Автор, как истинный бубунтолог, забыл указать 2 вещи- что это линух и какой дистрибутив.
     
     
  • 2.3, const86, 11:19, 06/07/2009 [^] [ответить] [смотреть все]  
  • +/
    Про линукс написано в заголовке, а дистрибутив тут действительно неважен.
     
     
  • 3.5, thealexis, 13:25, 06/07/2009 [^] [ответить] [смотреть все]  
  • +/
    >Про линукс написано в заголовке, а дистрибутив тут действительно неважен.

    Похоже что важен, поскольку в СentOS 5.3 опции -k нету.

    [myuser@myserver]# lspci -k
    lspci: invalid option -- k

     
     
  • 4.6, Zawullon, 13:45, 06/07/2009 [^] [ответить] [смотреть все]  
  • +/
    >Похоже что важен, поскольку в СentOS 5.3 опции -k нету.

    В бубунте 8.0.4 тоже нету.
    Опция -k есть не во всех вериях pciutils.

     
     
  • 5.14, тест, 10:23, 08/07/2009 [^] [ответить] [смотреть все]  
  • +/
    опция -к появилась с версии 3.0;
    А если нужных модулей нет ? Автор не видел монолитных ядер ?
    ИМХО, универсальный способ grep <PCI_ID> /usr/src/linux.
     
  • 1.7, vitek, 13:46, 06/07/2009 [ответить] [смотреть все]  
  • +/
    в заметке указаны конечно известные вещи, но всё-таки спасибо, что у автора нашлось время её написать.
    хорошо бы ещё указать про утилиту hwinfo. например её вывода (без параметров):
    78: None 00.0: 10701 Ethernet
      [Created at net.124]
      Unique ID: usDW.ndpeucax6V1
      Parent ID: rBUF.AqfLKmJBCU4
      SysFS ID: /class/net/eth0
      SysFS Device Link: /devices/pci0000:00/0000:00:1c.5/0000:06:00.0
      Hardware Class: network interface
      Model: "Ethernet network interface"
      Driver: "r8169"
      Driver Modules: "r8169"
      Device File: eth0
      HW Address: 00:1e:68:26:92:ee
      Link detected: no
      Config Status: cfg=new, avail=yes, need=no, active=unknown
      Attached to: #17 (Ethernet controller)
    как видите она выводит почти всю необходимую информацию.
    кстати, это поможет и автору первого комментария
     
  • 1.9, pavlinux, 19:08, 06/07/2009 [ответить] [смотреть все]  
  • +/
    # cat /sys/bus/pci/devices/*\:*/vendor
    # cat /sys/bus/pci/devices/*\:*/device

    lspci какие-то придумали ... :)

    Сейчас ведь спросят,
    " - а что делать если у меня sysfs не вкомпилен?!"
    - Вешаться!

     
     
  • 2.10, del, 17:48, 07/07/2009 [^] [ответить] [смотреть все]  
  • +/
    ну это не совсем удобно

    лучше уж тогда ченить типа

    # find /sys/bus/pci/devices/ -name "*\:*" -print -exec cat {}/vendor \; -exec cat {}/device \;

     
     
  • 3.13, pavlinux, 23:54, 07/07/2009 [^] [ответить] [смотреть все]  
  • +/
    >ну это не совсем удобно
    >
    >лучше уж тогда ченить типа
    >
    ># find /sys/bus/pci/devices/ -name "*\:*" -print -exec cat {}/vendor \; -exec cat
    >{}/device \;

    тоже хорошая разминка для мозга...

     
  • 1.11, Vitls, 20:18, 07/07/2009 [ответить] [смотреть все]  
  • +/
    Забыли про dmidecode
     
     
  • 2.12, pavlinux, 23:44, 07/07/2009 [^] [ответить] [смотреть все]  
  • +/
    >Забыли про dmidecode

    А Вы ни разу не видели компа, который по dmidecode в дамп падает....
    Ну не в дамп конечно, а выдает что-то типа: "DMI Information not found" :)

    по-моему какая-то из PC/104 (скорее всего Fastwell или Nexcom)

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor