IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Paquet pciutils

En sistemes Debian, l'ordre lspci es proporcionada pel paquet pciutils.

$ whereis lspci
lspci: /usr/bin/lspci /usr/share/man/man8/lspci.8.gz
$ dpkg -S /usr/bin/lspci
pciutils: /usr/bin/lspci

lspci

L'ordre lspci mostra informació sobre el bus PCI i altres dispositius del sistema.

Un exemple de la comanda sense opcions:

$ lspci 
00:00.0 Host bridge: nVidia Corporation nForce3 250Gb Host Bridge (rev a1)
00:01.0 ISA bridge: nVidia Corporation nForce3 250Gb LPC Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation nForce 250Gb PCI System Management (rev a1)
00:02.0 USB Controller: nVidia Corporation CK8S USB Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation CK8S USB Controller (rev a1)
00:02.2 USB Controller: nVidia Corporation nForce3 EHCI USB 2.0 Controller (rev a2)
00:06.0 Multimedia audio controller: nVidia Corporation nForce3 250Gb AC'97 Audio Controller (rev a1)
00:08.0 IDE interface: nVidia Corporation CK8S Parallel ATA Controller (v2.5) (rev a2)
00:0a.0 IDE interface: nVidia Corporation CK8S Serial ATA Controller (v2.5) (rev a2)
00:0b.0 PCI bridge: nVidia Corporation nForce3 250Gb AGP Host to PCI Bridge (rev a2)
00:0e.0 PCI bridge: nVidia Corporation nForce3 250Gb PCI-to-PCI Bridge (rev a2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01)
02:07.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
02:08.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)

En sistemes Debian, aquesta comanda es proporcionada pel paquet pciutils.

Podem obtenir informació més detallada podem utilitzar el paràmetre verbose (-v)

$ lspci -v | more
00:00.0 Host bridge: Intel Corporation 82Q35 Express DRAM Controller (rev 02) 
	Subsystem: Hewlett-Packard Company Device 2819
 	Flags: bus master, fast devsel, latency 0
	Capabilities: <access denied>
	Kernel driver in use: agpgart-intel
	Kernel modules: intel-agp

00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)
	Subsystem: Hewlett-Packard Company Device 2819
	Flags: bus master, fast devsel, latency 0, IRQ 2300
	Memory at f0100000 (32-bit, non-prefetchable) [size=512K]
	I/O ports at 1230 [size=8]
	Memory at e0000000 (32-bit, prefetchable) [size=256M]
	Memory at f0000000 (32-bit, non-prefetchable) [size=1M]
	Capabilities: <access denied>

Com podeu observar, és convenient utilitzar la comanda more per paginar els resultats de la comanda.

Observeu la línia:

Capabilities: <access denied>

Això ens indica que certa informació només és accessible al superusuari:

$ sudo lspci -v | more
...
00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)
       ...

Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+ Capabilities: [d0] Power Management version 2

Es poden afegir encara més paràmetres -v (doble o triple) per tal d'obtenir una sortida encara més completa. Combinat amb la opció -x (fa un volcat hexadecimal de l'espai de configuració) podem obtenir sortides molt completes que sovint només són útils quan es fan coses molt avançades relacionades amb el maquinari:

$ lspci  -vvvxxxx

Com en moltes altres comandes, hi ha la opció -n (numèric) que en comptes de mostrar els noms del dispositiu i del fabricant. Per exemple:

$ lspci -n
00:00.0 0600: 8086:29b0 (rev 02)
00:02.0 0300: 8086:29b2 (rev 02)
...

Si ho compareu amb:

$ lspci 
00:00.0 Host bridge: Intel Corporation 82Q35 Express DRAM Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller (rev 02)

Tenim doncs la següent assignació codi-->dispositiu/fabricant

  • 0600: 8086:29b0: Host bridge: Intel Corporation 82Q35 Express DRAM Controller
  • 0300: 8086:29b2: VGA compatible controller: Intel Corporation 82Q35 Express Integrated Graphics Controller

Es pot mostrar combinat amb:

$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 82Q35 Express DRAM Controller [8086:29b0] (rev 02)
00:02.0 VGA compatible controller [0300]: Intel Corporation 82Q35 Express Integrated Graphics Controller [8086:29b2] (rev 02)
00:03.0 Communication controller [0780]: Intel Corporation 82Q35 Express MEI Controller [8086:29b4] (rev 02)

La conversió de codi a nom es fa mitjançant el fitxer:

/usr/share/misc/pci.ids

El qual, en sistemes Debian, també proporciona el paquet pciutils. Es pot utilitzar un altre fitxer amb la opció -i.

Es pot mostrar en forma d'arbre la sortida amb la opció -t:

$ lspci -tv
-[0000:00]-+-00.0  Intel Corporation 82Q35 Express DRAM Controller
          +-02.0  Intel Corporation 82Q35 Express Integrated Graphics Controller
          +-03.0  Intel Corporation 82Q35 Express MEI Controller
          +-03.2  Intel Corporation 82Q35 Express PT IDER Controller
          +-03.3  Intel Corporation 82Q35 Express Serial KT Controller
          +-19.0  Intel Corporation 82566DM-2 Gigabit Network Connection
          +-1a.0  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4
          +-1a.1  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5
          +-1a.7  Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2
          +-1b.0  Intel Corporation 82801I (ICH9 Family) HD Audio Controller
          +-1c.0-[0000:20]--
          +-1c.1-[0000:30]--
          +-1d.0  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1
          +-1d.1  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2
          +-1d.2  Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3
          +-1d.7  Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1
          +-1e.0-[0000:07]----0b.0  Agere Systems FW323
          +-1f.0  Intel Corporation 82801IO (ICH9DO) LPC Interface Controller
          +-1f.2  Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller
          \-1f.5  Intel Corporation 82801I (ICH9 Family) 2 port SATA IDE Controller

Finalment hi ha una opció avançada que només pot fer el superusuari que és realitzar un scanner:

 $ sudo lspci -M

A vegades pot revelar dispositius amagats darreta d'una configuració incorrecte.

Aquesta comanda utilitza la carpeta fitxer:

/proc/bus/pci

Per obtenir informació sobre els dispositius PCI.

Podeu consultar el manual:

$ man lspci

O online a:

http://linux.die.net/man/8/lspci

Exemples

Com obtenir informació d'un bus AGP (p.ex. la velocitat)

NOTA: Tot i que l'ordre es digui lspci, també mostra informació dels dispositius AGP i posteriors com pci-e


Primer cal identificar quin és el dispositiu AGP amb:

$ lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV280 [Radeon 9200 PRO] [1002:5960] (rev 01)

en negreta està l'identificador. Ara podeu consultar tota la informació sobre aquest dispositiu amb:

$ sudo lspci -nnvvxxx -d 1002:5960
01:00.0 VGA compatible controller [0300]: ATI Technologies Inc RV280 [Radeon 9200 PRO] [1002:5960] (rev 01)
	Subsystem: Hightech Information System Ltd. Device [1787:2002] 
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 	Latency: 32 (2000ns min), Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M]
	Region 1: I/O ports at c000 [size=256]
	Region 2: Memory at e4020000 (32-bit, non-prefetchable) [size=64K]
	[virtual] Expansion ROM at e4000000 [disabled] [size=128K]
	Capabilities: [58] AGP version 3.0
		Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
		Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP- GART64- 64bit- FW- Rate=<none>
	Capabilities: [50] 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-
	Kernel modules: radeonfb
00: 02 10 60 59 07 00 b0 02 01 00 00 03 08 20 00 00
10 : 08 00 00 d0 01 c0 00 00 00 00 02 e4 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 87 17 02 20
30: 00 00 00 00 58 00 00 00 00 00 00 00 0c 01 08 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 87 17 02 20
50: 01 00 02 06 00 00 00 00 02 50 30 00 1b 02 00 ff
60: 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

Per exemple podem veure les velocitats AGP (4x i 8x)

lspci a domU de XEN

Sembla que no mostra cap informació:

Consulteu:

Vegeu també

Enllaços externs