Differences between revisions 1 and 24 (spanning 23 versions)
Revision 1 as of 2007-06-05 06:54:37
Size: 6810
Editor: FranklinPiat
Comment: Initial page
Revision 24 as of 2021-05-18 13:45:40
Size: 8385
Comment: Specified subject of the sentence. Removed "like". (I like vanilla ice cream?)
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
#pragma description How to "identify" the PCI-like devices (AGP, PCI-Express, CardBus, Express Card, etc.) that are connected to you computer. ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/HowToIdentifyADevice/PCI|Français]] - [[it/HowToIdentifyADevice/PCI|Italiano]] - [[ru/HowToIdentifyADevice/PCI|Русский]] -~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]||
[[HowToIdentifyADevice|How to identify a device]] > PCI
----
##pragma description How to "identify" the PCI-like devices (AGP, PCI-Express, CardBus, Express Card, etc.) that are connected to you computer.
Line 4: Line 7:
''How to "identify" the PCI-like devices (AGP, PCI-Express, CardBus, Express Card, etc) that are connected to you computer.'' '''How to "identify" the PCI-like devices (AGP, PCI-Express, CardBus, Express Card, etc) that are connected to you computer.'''
Line 6: Line 9:
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 [[#hardinfo|hardinfo]] method. KDE user can use [[#kinfocenter|kinfocenter]].
Line 8: Line 11:
<<Anchor(pci-id)>>
Line 9: Line 13:
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.
PCI devices are identified by a pair of hexadecimal numbers. 1014:003E for example.
 * 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 18:
= High level Tools =
[[Anchor(lspci)]]
Some of the devices (''device-id''s) handled by Debian are listed in the page : [[DeviceDatabase/PCI]].

<<Anchor(lspci)>>
Line 17: Line 22:
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 19: Line 24:
sample output ("-nn" options only works newer linux versions) : Sample output ("-nn" option only works with newer Linux versions):
Line 44: Line 49:
Notes: Notes regarding the example above :
Line 49: Line 54:
{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.
{i} man (8)lspci (8)update-pciids<<BR>>
{i} {{{/usr/share/misc/pci.ids}}} - A text file mapping vendor IDs and device IDs to a text description.

You can use grep to shorten the above list:

{{{
~$ lspci -nn | grep Network
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02)
}}}


<<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.

{{attachment: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.

{{attachment:KInfoCenter.png}}
<<BR>>Note: KInfo``Center provides the PCI device names, not PCI IDs.
Line 54: Line 82:
The discover package has a nice commande too: The DebPkg:discover package has a nice command too:
Line 85: Line 113:
{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
{i} man [[http://manpages.debian.net/man/1/discover|discover(1)]]<<BR>>
{i} discover uses its own files: {{{/lib/discover/pci-busclass.xml}}}, {{{/lib/discover/pci-device.xml}}}, {{{/lib/discover/pci-vendor.xml}}}
Line 91: Line 119:
if lspci isn't available (!), you can display the content of /proc/bus/pci/devices to list vendor and device IDs. If lspci isn't available (!), you can display the content of {{{/proc/bus/pci/devices}}} to list vendor and device IDs.
Line 97: Line 125:
if lspci isn't available (!), you can browse /sys/bus/pci (assuming sysfs is mounted on /sys). If lspci isn't available (!), you can browse {{{/sys/bus/pci}}} (assuming sysfs is mounted on {{{/sys}}}).
Line 99: Line 127:
{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
Line 101: Line 129:
[[Anchor(references)]] <<Anchor(references)>>
Line 103: Line 131:
 * [wiki:WikiPedia:Peripheral_Component_Interconnect wikipedia] - PCI
 * http://pci-ids.ucw.cz/iii/ maintains a list of device-id and vendor-id to text mappings (used by lspci, xorg and more).
 * [[WikiPedia:Peripheral_Component_Interconnect|Wikipedia]] - PCI
 * http://pci-ids.ucw.cz/ maintains a list of device-id and vendor-id to text mappings (used by lspci, xorg and more).

Translation(s): English - Français - Italiano - Русский

(!) ?Discussion

How to identify a device > PCI


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, which is available on every Debian system, to list the device on their computer. Gnome users can install and use the hardinfo method. KDE user can use kinfocenter.

PCI-id

PCI devices are identified by a pair of hexadecimal numbers. 1014:003E for example.

  • 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 for more information.

Some of the devices (device-ids) handled by Debian are listed in the page : DeviceDatabase/PCI.

lspci

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

Sample output ("-nn" option only works with 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
{i} /usr/share/misc/pci.ids - A text file mapping vendor IDs and device IDs to a text description.

You can use grep to shorten the above list:

~$ lspci -nn | grep Network
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:4227] (rev 02)

Under Gnome : hardinfo

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

[ATTACH]

Under KDE : KInfocenter

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

[ATTACH]
Note: KInfoCenter provides the PCI device names, not PCI IDs.

discover

The discover package has a nice command 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 discover(1)
{i} discover uses its 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

References