Monday, April 23, 2012

Linux: Determine the Manufacturer of a PCI Device

How do I determine the manufacturer of a PCI device under Linux operating systems?

To find out or determine the manufacturer of a PCI device from Linux operating system, use the lspci command. Open a command-line terminal (select Applications > Accessories > Terminal), and then type the following command:
$ lspci
Sample outputs:
00:00.0 Host bridge: Intel Corporation 5000P Chipset Memory Controller Hub (rev b1)
00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1)
00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev b1)
00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev b1)
00:08.0 System peripheral: Intel Corporation 5000 Series Chipset DMA Engine (rev b1)
00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1)
00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1)
00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev b1)
00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1)
00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev b1)
00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1)
00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev b1)
00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)
00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)
00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)
00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09)
00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)
00:1f.2 IDE interface: Intel Corporation 631xESB/632xESB/3100 Chipset SATA IDE Controller (rev 09)
00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09)
01:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)
01:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)
02:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)
02:02.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3 (rev 01)
04:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)
04:00.1 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)
06:00.0 RAID bus controller: Adaptec AAC-RAID (rev 09)
08:00.0 PCI bridge: Intel Corporation 6702PXH PCI Express-to-PCI Bridge A (rev 09)
0a:01.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)
The above output suggest that I've the following Manufacturer of a PCI Devices:
  • RAID card : Adaptec
  • Ethernet : Intel
  • VGA : ATI Technologies
To get detailed output, enter:
$ lspci -v
$ lspci -v | less

Sample outputs:
lspci  -v
00:00.0 Host bridge: Intel Corporation 5000P Chipset Memory Controller Hub (rev b1)
Subsystem: Super Micro Computer Inc Device 9280
Flags: bus master, fast devsel, latency 0
Capabilities: [50] Power Management version 2
Capabilities: [58] MSI: Enable- Count=1/2 Maskable- 64bit-
Capabilities: [6c] Express Root Port (Slot-), MSI 00
Capabilities: [100] Advanced Error Reporting
00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev b1) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=01, subordinate=05, sec-latency=0
I/O behind bridge: 00002000-00002fff
Memory behind bridge: d8200000-d83fffff
Capabilities: [50] Power Management version 2
Capabilities: [58] MSI: Enable+ Count=1/2 Maskable- 64bit-
Capabilities: [6c] Express Root Port (Slot-), MSI 00
Capabilities: [100] Advanced Error Reporting
Kernel driver in use: pcieport-driver
Kernel modules: shpchp
....
.....
...
0a:01.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02) (prog-if 00 [VGA controller])
Subsystem: Super Micro Computer Inc Device 9280
Flags: bus master, stepping, fast Back2Back, medium devsel, latency 66, IRQ 11
Memory at d0000000 (32-bit, prefetchable) [size=128M]
I/O ports at 3000 [size=256]
Memory at d8400000 (32-bit, non-prefetchable) [size=64K]
[virtual] Expansion ROM at d8420000 [disabled] [size=128K]
Capabilities: [50] Power Management version 2
The -t option displays all pci device in a tree-like diagram containing all buses, bridges, devices and connections between them:
$ lspci -tv
Sample outputs:
-[0000:00]-+-00.0  Intel Corporation Core Processor DMI
+-03.0-[0000:01]----00.0 nVidia Corporation G92 [Quadro FX 2800M]
+-08.0 Intel Corporation Core Processor System Management Registers
+-08.1 Intel Corporation Core Processor Semaphore and Scratchpad Registers
+-08.2 Intel Corporation Core Processor System Control and Status Registers
+-08.3 Intel Corporation Core Processor Miscellaneous Registers
+-10.0 Intel Corporation Core Processor QPI Link
+-10.1 Intel Corporation Core Processor QPI Routing and Protocol Registers
+-1a.0 Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller
+-1b.0 Intel Corporation 5 Series/3400 Series Chipset High Definition Audio
+-1c.0-[0000:0b]--
+-1c.1-[0000:0c]--
+-1c.2-[0000:0d]--
+-1c.3-[0000:0e-0f]--
+-1c.4-[0000:10]--
+-1c.5-[0000:09]----00.0 Broadcom Corporation NetXtreme BCM5761e Gigabit Ethernet PCIe
+-1c.6-[0000:11]--
+-1c.7-[0000:12]--
+-1d.0 Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller
+-1e.0-[0000:03-07]--+-01.0 Texas Instruments PCIxx12 Cardbus Controller
| +-01.1 Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
| +-01.2 Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
| \-01.3 Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller
+-1f.0 Intel Corporation Mobile 5 Series Chipset LPC Interface Controller
+-1f.2 Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller
\-1f.3 Intel Corporation 5 Series/3400 Series Chipset SMBus Controller

GUI Tool: GNOME Device Manager

GNOME Device Manager is a complex program to give info about installed hardware including PCI devices. It cab be installed as follows
$ sudo apt-get install gnome-device-manager
Type the following command to start GNOME Device Manager, enter:
$ gnome-device-manager
Sample outputs:
Fig.01: Linux Device Manager application for finding the details of your hardware.
Fig.01: Linux Device Manager application for finding the details of your hardware.

hardinfo: Hardware Analysis Program

HardInfo is another GUI tool for hardware analysis and system benchmark under Linux operating system. To install hardinfo, type:
$ sudo apt-get install hardinfo
To start hardinfo from the command line, enter:
$ hardinfo
Sample outputs:
Fig.02: hardinfo - Another Linux system information application in action
Fig.02: hardinfo - Another Linux system information application in action

lshw CLI Application

The lshw command finds out detailed information on the hardware configuration of the machine including PCI devices. To install the same, enter:
$ sudo apt-get install lshw
OR
$ sudo yum install lshw
To run short report, enter (it must be run as root):
# lshw -short
Sample outputs:
H/W path            Device     Class      Description
=====================================================
system X7DBR-3
/0 bus X7DBR-3
/0/0 memory 108KiB BIOS
/0/4 processor Intel(R) Xeon(R) CPU 5130 @ 2.00GHz
/0/4/6 memory 16KiB L1 cache
/0/4/7 memory 4MiB L2 cache
/0/5 processor Intel(R) Xeon(R) CPU 5130 @ 2.00GHz
/0/5/8 memory 16KiB L1 cache
/0/5/9 memory 4MiB L2 cache
/0/16 memory 8GiB System Memory
/0/16/0 memory 2GiB DIMM Synchronous 667 MHz (1.5 ns)
/0/16/1 memory DIMM Synchronous 667 MHz (1.5 ns) [empty]
/0/16/2 memory 2GiB DIMM Synchronous 667 MHz (1.5 ns)
/0/16/3 memory DIMM Synchronous 667 MHz (1.5 ns) [empty]
/0/16/4 memory 2GiB DIMM Synchronous 667 MHz (1.5 ns)
/0/16/5 memory DIMM Synchronous 667 MHz (1.5 ns) [empty]
/0/16/6 memory 2GiB DIMM Synchronous 667 MHz (1.5 ns)
/0/16/7 memory DIMM Synchronous 667 MHz (1.5 ns) [empty]
/0/6 processor
/0/1 generic
/0/2 generic
/0/3 generic
/0/7 generic
/0/100 bridge 5000P Chipset Memory Controller Hub
/0/100/2 bridge 5000 Series Chipset PCI Express x8 Port 2-3
/0/100/2/0 bridge 6311ESB/6321ESB PCI Express Upstream Port
/0/100/2/0/0 bridge 6311ESB/6321ESB PCI Express Downstream Port E1
/0/100/2/0/2 bridge 6311ESB/6321ESB PCI Express Downstream Port E3
/0/100/2/0/2/0 eth0 network 80003ES2LAN Gigabit Ethernet Controller (Copper)
/0/100/2/0/2/0.1 eth1 network 80003ES2LAN Gigabit Ethernet Controller (Copper)
/0/100/2/0.3 bridge 6311ESB/6321ESB PCI Express to PCI-X Bridge
/0/100/4 bridge 5000 Series Chipset PCI Express x8 Port 4-5
/0/100/4/0 scsi0 storage AAC-RAID
/0/100/4/0/0.0.0 /dev/sda disk 73GB raid1-a
/0/100/4/0/0.0.0/1 /dev/sda1 volume 101MiB EXT3 volume
/0/100/4/0/0.0.0/2 /dev/sda2 volume 67GiB EXT3 volume
/0/100/4/0/0.0.0/3 /dev/sda3 volume 1027MiB Linux swap volume
/0/100/4/0/1.0.0 disk 87GB MAX3073RC
/0/100/4/0/1.1.0 disk 87GB MAX3073RC
/0/100/6 bridge 5000 Series Chipset PCI Express x8 Port 6-7
/0/100/8 system 5000 Series Chipset DMA Engine
/0/100/1c bridge 631xESB/632xESB/3100 Chipset PCI Express Root Port 1
/0/100/1c/0 bridge 6702PXH PCI Express-to-PCI Bridge A
/0/100/1d bus 631xESB/632xESB/3100 Chipset UHCI USB Controller #1
/0/100/1d/1 usb2 bus UHCI Host Controller
/0/100/1d.1 bus 631xESB/632xESB/3100 Chipset UHCI USB Controller #2
/0/100/1d.1/1 usb3 bus UHCI Host Controller
/0/100/1d.2 bus 631xESB/632xESB/3100 Chipset UHCI USB Controller #3
/0/100/1d.2/1 usb4 bus UHCI Host Controller
/0/100/1d.3 bus 631xESB/632xESB/3100 Chipset UHCI USB Controller #4
/0/100/1d.3/1 usb5 bus UHCI Host Controller
/0/100/1d.3/1/1 input Multidevice
/0/100/1d.7 bus 631xESB/632xESB/3100 Chipset EHCI USB2 Controller
/0/100/1d.7/1 usb1 bus EHCI Host Controller
/0/100/1e bridge 82801 PCI Bridge
/0/100/1e/1 display ES1000
/0/100/1f bridge 631xESB/632xESB/3100 Chipset LPC Interface Controller
/0/100/1f.1 storage 631xESB/632xESB IDE Controller
/0/100/1f.1/0 ide0 bus IDE Channel 0
/0/100/1f.1/0/1 /dev/hdb disk Slimtype COMBO SSC-2485K
/0/100/1f.2 storage 631xESB/632xESB/3100 Chipset SATA IDE Controller
/0/100/1f.3 bus 631xESB/632xESB/3100 Chipset SMBus Controller
/0/101 bridge 5000 Series Chipset FSB Registers
/0/102 bridge 5000 Series Chipset FSB Registers
/0/103 bridge 5000 Series Chipset FSB Registers
/0/104 bridge 5000 Series Chipset Reserved Registers
/0/105 bridge 5000 Series Chipset Reserved Registers
/0/106 bridge 5000 Series Chipset FBD Registers
/0/107 bridge 5000 Series Chipset FBD Registers
To get detailed information, enter:
# lshw
Sample outputs:
server1.cyberciti.biz
description: Computer
product: X7DBR-3
vendor: Supermicro
version: 0123456789
serial: 0123456789
width: 32 bits
capabilities: smbios-2.5 dmi-2.5 smp-1.4 smp
configuration: administrator_password=enabled boot=normal cpus=3 frontpanel_password=unknown keyboard_password=unknown power-on_password=disabled uuid=53D19F64-D663-A017-8922-00304832D7AA
*-core
description: Motherboard
product: X7DBR-3
vendor: Supermicro
physical id: 0
version: PCB Version
serial: 0123456789
slot: Intel Dempsey/Blackford/ESB2
*-firmware
description: BIOS
vendor: Phoenix Technologies LTD
physical id: 0
version: 2.1 (06/23/2008)
size: 108KiB
capacity: 960KiB
capabilities: pci pnp upgrade shadowing escd cdboot bootselect edd int13floppy2880 acpi usb ls120boot zipboot biosbootspecification
*-cpu:0
description: CPU
product: Intel(R) Xeon(R) CPU 5130 @ 2.00GHz
vendor: Intel Corp.
physical id: 4
bus info: cpu@0
version: 6.15.6
slot: LGA771/CPU1
size: 2GHz
width: 64 bits
clock: 1333MHz
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx x86-64 constant_tsc pni monitor ds_cpl vmx tm2 ssse3 cx16 xtpr lahf_lm
....
....
..
*-pci:4
description: PCI bridge
product: 82801 PCI Bridge
vendor: Intel Corporation
physical id: 1e
bus info: pci@0000:00:1e.0
version: d9
width: 32 bits
clock: 33MHz
capabilities: pci subtractive_decode bus_master cap_list
*-display UNCLAIMED
description: VGA compatible controller
product: ES1000
vendor: ATI Technologies Inc
physical id: 1
bus info: pci@0000:0a:01.0
version: 02
width: 32 bits
clock: 33MHz
capabilities: pm vga_controller bus_master cap_list
configuration: latency=66 mingnt=8
*-isa
(output truncated)

dmidecode Command Line

dmidecode command is used for dumping a computer's DMI (SMBIOS) table contents on screen. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision.

No comments:

Post a Comment