How to find out PCI version information in linux
How can I find out which PCI version (2.0 , 2.3) are supported by the motherboard - even for slots which do not have any cards connected to them.
lspci -vvv does not seem to show information for PCI slots without cards.
Solution 1:
You can try dmidecode
. I don't have many servers with standard PCI slots anymore, but the output looks like the following. Information for unpopulated ports is provided:
Handle 0x0901, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Slot 1
Type: 64-bit PCI-X
Current Usage: Available
Length: Long
ID: 1
Characteristics:
3.3 V is provided
Handle 0x0902, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Slot 2
Type: 64-bit PCI-X
Current Usage: In Use
Length: Long
ID: 2
Characteristics:
3.3 V is provided
Handle 0x0903, DMI type 9, 13 bytes
System Slot Information
Designation: PCI-E Slot 3
Type: x4 PCI Express
Current Usage: Available
Length: Other
ID: 3
Characteristics:
3.3 V is provided
Handle 0x0904, DMI type 9, 13 bytes
System Slot Information
Designation: PCI-E Slot 4
Type: x4 PCI Express
Current Usage: In Use
Length: Other
ID: 4
Characteristics:
3.3 V is provided
Solution 2:
Actually lspci
is capable of showing you information about your PCI-bus, which you can use to determine the supported version. But it requires additional steps.
Run lspci
and look for entries that contain something like PCI bridge:
. In those line(s) look for a number after a vendor name. That number is most likely the descriptor of your PCI bridge chipset, which you can look up with the searchengine of your choice with the added keyword "datasheet" to find - for example - a pdf from the manufacturer that lists its capabilities. This includes the supported pci version.
An example:
When I run
% lspci | grep "PCI bridge"
on my machine, that gives me two lines:
00:01.0 PCI bridge: Intel Corporation 82855PM Processor to AGP Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)
the second one there looks like our chip because the description does not contain AGP ;-)
Now I search for the number after the vendorname: 82801
and datasheet
.
That gives me a .pdf download from the intel website. In that PDF I search for specification
and find Supports PCI Rev 2.2 Specification
Tadaa thats the supported version for all ports that depend on that buscontroller
dmidecode
is useful whenever you need information about such things as voltages or additional non-standard capabilities like SMBus support.