Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2007-06-05 06:54:37
Size: 6810
Editor: FranklinPiat
Comment: Initial page
Revision 13 as of 2009-02-06 06:36:25
Size: 7697
Editor: FranklinPiat
Comment: s/linux-doc-2.6.18/linux-doc-2.6.26/
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
Line 6: Line 5:
Many people simply use [#lspci lspci] to list the device on their computer, but some other means are listed here. Many people simply use [#lspci lspci], which is available on every Debian system, to list the device on their computer. Gnome users can install and use the [:HowToIdentifyADevice/CPU#hardinfo:hardinfo] method. KDE user can use [:HowToIdentifyADevice/CPU#kinfocenter:kinfocenter].
Line 8: Line 7:
[[Anchor(pci-id)]]
Line 9: Line 9:
Device are identified are mainly identified using a pair of hexadecimal numbers, like 04b3:3108.
 * The 4 first hexadecimal digits are the Vendor ID (04b3 = IBM).
 * The 4 last hexadecimal digits are the Device ID (3108 = !ThinkPad 800dpi Optical Travel Mouse).
Actually there is also some sub-vendor-id, sub-vendor-id, pci function and classes... see [#references references] for more information.
Devices are mainly identified using a pair of hexadecimal numbers, like 1014:003E.
 * The 4 first hexadecimal digits are the Vendor ID (1014 = IBM)
 * The 4 last hexadecimal digits are the Device ID (003e = 16/4 Token ring)
Actually there is also some sub-vendor-id, sub-vendor-id (to identify the computer/vendor implementation), pci function and class... see [#references references] for more information.
Line 14: Line 14:
= High level Tools = Some of the device (''device-id'') handled by Debian are listed in the page : ["DeviceDatabase/PCI"].
Line 17: Line 18:
lspci [package:pciutils] is the standard tool to query the devices connected to any pci compatible bus . lspci [package:DebPkg:pciutils] is the standard tool to query the devices connected to any pci compatible bus .
Line 44: Line 45:
Notes: Notes regarding the example above :
Line 52: Line 53:
[[Anchor(gnome)]]
== under Gnome : hardinfo ==
[[Anchor(hardinfo)]]
Gnomes's System Information (Hardinfo in ''Menu Applications/System Tools'', from package:DebPkg:hardinfo) has an information page on the "PCI" cards.

inline:hardinfo.png

[[Anchor(kde)]]
== under KDE : KInfocenter ==
[[Anchor(kinfocenter)]]
KDE's KInfo``Center (in ''K Menu / System / KInfo``Center Info Center'', from package:DebPkg:kcontrol) has an information page on the "PCI" cards.

inline:KInfoCenter.png
[[BR]]Note: KInfo``Center provides the PCI device names, not PCI IDs.
Line 54: Line 70:
The discover package has a nice commande too: The DebPkg:discover package has a nice commande too:
Line 99: Line 115:
{i} /usr/share/doc/linux-doc-2.6.18/Documentation/filesystems/sysfs-pci.txt.gz - /sys/bus/pci overview {i} /usr/share/doc/linux-doc-2.6.26/Documentation/filesystems/sysfs-pci.txt.gz - /sys/bus/pci overview

How to "identify" the PCI-like devices (AGP, PCI-Express, CardBus, Express Card, etc) that are connected to you computer.

Many people simply use [#lspci lspci], which is available on every Debian system, to list the device on their computer. Gnome users can install and use the [:HowToIdentifyADevice/CPU#hardinfo:hardinfo] method. KDE user can use [:HowToIdentifyADevice/CPU#kinfocenter:kinfocenter].

?Anchor(pci-id)

PCI-id

Devices are mainly identified using a pair of hexadecimal numbers, like 1014:003E.

  • The 4 first hexadecimal digits are the Vendor ID (1014 = IBM)
  • The 4 last hexadecimal digits are the Device ID (003e = 16/4 Token ring)

Actually there is also some sub-vendor-id, sub-vendor-id (to identify the computer/vendor implementation), pci function and class... see [#references references] for more information.

Some of the device (device-id) handled by Debian are listed in the page : ["DeviceDatabase/PCI"].

?Anchor(lspci)

lspci

lspci [package:pciutils] is the standard tool to query the devices connected to any pci compatible bus .

sample output ("-nn" options only works newer linux versions) :

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)

Notes regarding the example above :

  • 104c:ac56 is the cardbus bridge ("controller")
  • 1317:1985 is a PCCard (32-bit Cardbus) Ethernet Adapter.
  • if your device description says "Unknown device", you can update your local pci-id definition by running update-pciids as root.

{i} man (8)lspci (8)update-pciids?BR {i} /usr/share/misc/pci.ids - A text file mapping vendor id and device id to a text description.

?Anchor(gnome)

under Gnome : hardinfo

?Anchor(hardinfo) Gnomes's System Information (Hardinfo in Menu Applications/System Tools, from package:hardinfo) has an information page on the "PCI" cards.

inline:hardinfo.png

?Anchor(kde)

under KDE : KInfocenter

?Anchor(kinfocenter) KDE's KInfoCenter (in K Menu / System / KInfoCenter Info Center, from package:kcontrol) has an information page on the "PCI" cards.

inline:KInfoCenter.png ?BRNote: KInfoCenter provides the PCI device names, not PCI IDs.

discover

The discover package has a nice commande too:

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

{i} man (1)discover?BR {i} discover use it's own files :/lib/discover/pci-busclass.xml, /lib/discover/pci-device.xml, /lib/discover/pci-vendor.xml

Digging by hand

/proc/bus/pci/devices

if lspci isn't available (!), you can display the content of /proc/bus/pci/devices to list vendor and device IDs.

cat /proc/bus/pci/devices 

/sys/bus/pci

if lspci isn't available (!), you can browse /sys/bus/pci (assuming sysfs is mounted on /sys).

{i} /usr/share/doc/linux-doc-2.6.26/Documentation/filesystems/sysfs-pci.txt.gz - /sys/bus/pci overview

?Anchor(references)

References