Good to Know Database

Details zu PCI-Geräten auslesen


Das Programm lspci kann alle PCI-Geräte in einem System auflisten. Dadurch ist es möglich detailierte Informationen über die PCI-Busse und die angeschlossenen PCI-Geräte zu erhalten.

Wenn Sie lspci ohne Optionen aufrufen, erhalten Sie eine Ausgabe welche wie folgt aufgebaut ist.

[root@centos5 ~]# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP]
00:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0a.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 46)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2)

In der ersten Spalte stehen ein paar Zahlen welche die Nummer des Busses, die Slot-Nummer und die Funktion angeben. Danach folgen Informationen aus der PCI ID Liste /usr/share/hwdata/pci.ids zu dem jeweiligen Gerät.

Wenn Sie eine detailliertere Ausgabe benötigen können Sie dies mit -v, -vv oder -vvv erreichen. Wie Sie im folgenden Beispiel sehen, werden die Informationen immer ausführlicher.

[root@centos5 ~]# lspci -v
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
        Subsystem: VIA Technologies, Inc. Unknown device 0000
        Flags: bus master, 66MHz, medium devsel, latency 0
        Memory at e0000000 (32-bit, prefetchable) [size=128M]
        Capabilities: [a0] AGP version 2.0
        Capabilities: [c0] Power Management version 2
[...]
[root@centos5 ~]# lspci -vv
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
        Subsystem: VIA Technologies, Inc. Unknown device 0000
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
        Latency: 0
        Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
        Capabilities: [a0] AGP version 2.0
                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
[...]

Bei den bisherigen Aufrufen wurden die Daten direkt vom Kernel abgerufen. Sollte der Kernel ein PCI-Gerät nicht erkannt haben, können Sie die Option -b verwenden um direkt den PCI-Bus auszulesen.

[root@centos5 ~]# lspci -b
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP]
00:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
00:0a.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 46)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400] (rev b2)

Wollen Sie von einem Gerät die Vendor ID und die Device ID herausfinden, hilft Ihnen die Option -n weiter.

[root@centos5 ~]# lspci -n
00:00.0 0600: 1106:3099
00:01.0 0604: 1106:b099
00:06.0 0200: 10ec:8139 (rev 10)
00:0a.0 0c00: 1106:3044 (rev 46)
00:10.0 0c03: 1106:3038 (rev 80)
00:10.1 0c03: 1106:3038 (rev 80)
00:10.2 0c03: 1106:3038 (rev 80)
00:10.3 0c03: 1106:3104 (rev 82)
00:11.0 0601: 1106:3177
00:11.1 0101: 1106:0571 (rev 06)
00:11.5 0401: 1106:3059 (rev 50)
01:00.0 0300: 10de:0110 (rev b2)

Wie Sie sehen, müssen Sie jetzt erst das gesucht PCI-Gerät anhand der PCI-ID's identifizieren. Sollten Sie zum Beispiel die Vendor ID und die Device ID der hier verwendeten Realtek Netzwerkkarte benötigen, können Sie die Suche wie folgt mit der Option -s eingrenzen.

[root@centos5 ~]# lspci -n -s 00:06.0
00:06.0 0200: 10ec:8139 (rev 10)

Wollen Sie die Suche anhand einer Vendor ID eingrenzen, können Sie wie folgt nur nach dieser Vendor ID filtern (hier 10ec für Realtek).

[root@centos5 ~]# lspci -d 10ec:
00:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Sollten Sie auch noch nach der Device ID filtern wollen, würde der Befehlsaufruf wie folgt aussehen.

[root@centos5 ~]# lspci -d 10ec:8139
00:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

Weitere Informationen zu lspci entnehmen Sie bitte der Manpage.

[root@centos5 ~]# man lspci


Dieser Eintrag wurde am 20.05.2008 erstellt und zuletzt am 27.08.2009 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_299.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer