How to identify a device > PCI
Определения подключённых к компьютеру PCI-подобных устройств (AGP, PCI-Express, CardBus, Express Card, и т.д).
Большинство людей, для вывода списка устройств на компьютере используют lspci, которая доступна на каждой системы Debian. Пользователи Gnome могут установить и использовать hardinfo. Пользователи KDE могут использовать kinfocenter.
PCI-id
В основном устройства определяются с помощью пары шестнадцатеричных чисел, наподобие 1014:003E.
- Первые четыре шестнадцатеричные цифры это Vendor ID (1014 = IBM)
- Четыре последние шестнадцатеричные цифры это Device ID (003e = 16/4 Token ring)
На самом деле также есть несколько sub-vendor-id, sub-vendor-id (для определения реализации компьютера/поставщика), функций и классов pci... Для получения дополнительной информации см. дополнительную информацию.
Некоторые из поддерживаемых Debian устройств (device-id) перечислены на странице : DeviceDatabase/PCI.
lspci
lspci [пакет:pciutils] — стандартный инструмент для запроса устройств подключённых к любым pci-совместимым шинам.
Пример вывода (опция "-nn" работает только с новыми версиями Linux):
lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub [8086:27a0] (rev 03) 00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller [8086:27a2] (rev 03) 00:02.1 Display controller [0380]: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller [8086:27a6] (rev 03) 00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 02) 00:1c.0 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 [8086:27d0] (rev 02) 00:1c.1 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 [8086:27d2] (rev 02) 00:1c.2 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 [8086:27d4] (rev 02) 00:1c.3 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 [8086:27d6] (rev 02) 00:1d.0 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 [8086:27c8] (rev 02) 00:1d.1 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 [8086:27c9] (rev 02) 00:1d.2 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 [8086:27ca] (rev 02) 00:1d.3 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 [8086:27cb] (rev 02) 00:1d.7 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller [8086:27cc] (rev 02) 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev e2) 00:1f.0 ISA bridge [0601]: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge [8086:27b9] (rev 02) 00:1f.2 IDE interface [0101]: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller [8086:27c4] (rev 02) 00:1f.3 SMBus [0c05]: Intel Corporation 82801G (ICH7 Family) SMBus Controller [8086:27da] (rev 02) 02:00.0 Ethernet controller [0200]: Intel Corporation 82573L Gigabit Ethernet Controller [8086:109a] 03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02) 15:00.0 CardBus bridge [0607]: Texas Instruments PCI1510 PC card Cardbus Controller [104c:ac56] 16:00.0 Ethernet controller [0200]: ADMtek 21x4x DEC-Tulip compatible 10/100 Ethernet [1317:1985] (rev 11)
Заметки по поводу приведенного выше примера :
- 104c:ac56 — мост ("контроллер") cardbus
- 1317:1985 — интернет-адаптер PCCard (32-bit Cardbus).
если вывод описания устройства: "Unknown device", вы можете обновить локальное определение pci-id, запустив от root update-pciids.
man (8)lspci (8)update-pciids
/usr/share/misc/pci.ids - Файл отображающий vendor ID и device ID в текстовом виде.
Чтобы сократить список можно использовать grep:
~$ lspci -nn | grep Network 03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02)
В Gnome : hardinfo
Информационная система Gnome (в меню /Приложения/Системные/System Profiler and Benchmark, из пакета:hardinfo) на странице "PCI Devices".
В KDE : KInfocenter
KDE KInfoCenter (в K Menu / System / KInfoCenter Info Center, из пакета:kcontrol) имеет информационную страницу на "PCI".
Примечание: KInfoCenter выводит названия устройств PCI, а не PCI ID.
discover
В пакете discover есть удобная команда:
discover --vendor-id --model-id pci | uniq 8086 27a0 Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub 8086 27a0 Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub 8086 27a2 Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller 8086 27a2 Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller 8086 27a6 Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller 8086 27a6 Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller 8086 27d8 Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller 8086 27d0 Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 8086 27d2 Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 8086 27d4 Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 8086 27d6 Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 8086 27c8 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 8086 27c8 Intel Corporation 82801G (ICH7 Family) USB UHCI #1 8086 27c9 Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 8086 27c9 Intel Corporation 82801G (ICH7 Family) USB UHCI #2 8086 27ca Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 8086 27ca Intel Corporation 82801G (ICH7 Family) USB UHCI #3 8086 27cb Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 8086 27cb Intel Corporation 82801G (ICH7 Family) USB UHCI #4 8086 27cc Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller 8086 2448 Intel Corporation 82801 Mobile PCI Bridge 8086 27b9 Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge 8086 27c4 Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller 8086 27da Intel Corporation 82801G (ICH7 Family) SMBus Controller 8086 109a Intel Corporation 82573L Gigabit Ethernet Controller8086 4227 Intel Corporation PRO/Wireless 3945ABG Network Connection 104c ac56 Texas Instruments PCI1510 PC card Cardbus Controller
man discover(1)
Файлы по использованию: /lib/discover/pci-busclass.xml, /lib/discover/pci-device.xml, /lib/discover/pci-vendor.xml
Подробнее
/proc/bus/pci/devices
Если lspci не доступен (!), вы можно посмотреть содержимое /proc/bus/pci/devices для получения vendor и device ID.
cat /proc/bus/pci/devices
/sys/bus/pci
Если lspci не доступен (!), вы можете посмотреть /sys/bus/pci (предполагается что sysfs смонтирован в /sys).
/usr/share/doc/linux-doc-2.6.26/Documentation/filesystems/sysfs-pci.txt.gz - обзор /sys/bus/pci
Дополнительная информация
Wikipedia - PCI
http://pci-ids.ucw.cz/ список device-id и vendor-id в текстовом виде (используется lspci, xorg и другие).