PCI(Peripheral Component Interconnect) is a standerdized local bus for attaching different hardwares to motherboard. Many devices such as Network cards, modems, sound cards are attached to these PCI slots in older machines and still we are using PCI slots but in near future they will be absolute. These PCI devices are directly integrated on to motherboard or extended using USB slots.
Some times its required to find hardware attached to PCI slots. To find these details we can use an inbuilt command "lspci" to find hardware attached to PCI slots. To get more out of lspci command, we have to use it as a super user. lspci command display hardware details like
Card IRQ settings
Card AGP settings
Learn lspci command with examples.
Example1 : To find all the hardware attached to PCI slots in a given machine.
Output:
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 06)
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
Format of lspci command follow below options
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)
Field 1 Field2 Filed3
Field 2: PCI slot name
Field 3: Name of device attached and its manufactured company name.
Example 2: Not able to distungush different hardwares attached to the machine use -vmm option to display lspci command output.
Output:
Class: Host bridge
Vendor: Intel Corporation
Device: 2nd Generation Core Processor Family DRAM Controller
SVendor: Hewlett-Packard Company
SDevice: Device 3672
Rev: 09
Slot: 00:02.0
Class: VGA compatible controller
Vendor: Intel Corporation
Device: 2nd Generation Core Processor Family Integrated Graphics Controller
SVendor: Hewlett-Packard Company
SDevice: Device 3672
Rev: 09
Slot: 00:16.0
Class: Communication controller
Vendor: Intel Corporation
Device: 6 Series/C200 Series Chipset Family MEI Controller #1
SVendor: Hewlett-Packard Company
SDevice: Device 3672
Rev: 04
Slot: 00:1a.0
Class: USB controller
Vendor: Intel Corporation
Device: 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2
SVendor: Hewlett-Packard Company
SDevice: Device 3672
Rev: 04
ProgIf: 20
Slot: 00:1b.0
Class: Audio device
Vendor: Intel Corporation
Device: 6 Series/C200 Series Chipset Family High Definition Audio Controller
SVendor: Hewlett-Packard Company
SDevice: Device 3672
Rev: 04
Example 3: Display PCI slot information in tree format
Output:
+-02.0
+-16.0
+-1a.0
+-1b.0
+-1c.0-[01]—-00.0
+-1c.2-[02]—-00.0
+-1c.4-[03-08]—-00.0
+-1d.0
+-1f.0
+-1f.2
\-1f.3
Example 4: Display PCI devices atached their speeds, IRQ assigned Kernel drivers and modules etc.
Output:
Subsystem: Hewlett-Packard Company Device 3672
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
Subsystem: Hewlett-Packard Company Device 3672
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at c0000000 (64-bit, non-prefetchable) [size=4M] Memory at b0000000 (64-bit, prefetchable) [size=256M] I/O ports at 4000 [size=64] Expansion ROM at <unassigned> [disabled] Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
Subsystem: Hewlett-Packard Company Device 3672
Flags: bus master, fast devsel, latency 0, IRQ 43
Memory at c2604000 (64-bit, non-prefetchable) [size=16] Capabilities: <access denied>
Kernel driver in use: mei
Kernel modules: mei
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) (prog-if 20 [EHCI])
Subsystem: Hewlett-Packard Company Device 3672
Flags: bus master, medium devsel, latency 0, IRQ 16
Memory at c2609000 (32-bit, non-prefetchable) [size=1K] Capabilities: <access denied>
Kernel driver in use: ehci_hcd
In our next post we will see different hardware devices like USB's, RAM, Processor, Graphic cards etc.
http://www.linuxnix.com/2013/05/find-hardware-details-using-lspci-command-in-linux.html