Pages

Thursday 14 November 2013

Linux lPCI IDs: Unknown Device Issue

lspci is a utility for displaying information about PCI buses in the system and devices connected to them. The list of PCI IDs that lspci uses is contained in /usr/share/hwdata/pci.ids file.It might occur that the PCI id of a given device is not contained in that file. In that case, lspci will print out 'Unknown device' with the PCI id. To resolve this issue the pci.ids file must be updated or modified to include the missing ids.

In this example, we have a RedHat Linux EL5 installed as a virtual machine on VMware. The selected adapter type for the linux virtual machine is VMXNET3. If we run lspci on the Linux virtual machine, we get:
[root@localhost ~]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Inc Unknown device 0740 (rev 10)
00:0f.0 VGA compatible controller: VMware Inc [VMware SVGA II] PCI Display Adapter
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 PCI bridge: VMware Inc Unknown device 0790 (rev 02)
00:15.0 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:15.1 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:15.2 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:15.3 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:15.4 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:15.5 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:15.6 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:15.7 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.0 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.1 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.2 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.3 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.4 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.5 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.6 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:16.7 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.0 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.1 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.2 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.3 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.4 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.5 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.6 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:17.7 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.0 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.1 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.2 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.3 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.4 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.5 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.6 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)
00:18.7 PCI bridge: VMware Inc Unknown device 07a0 (rev 01)

03:00.0 Ethernet controller: VMware Inc Unknown device 07b0 (rev 01)

In the above example, devices with ids 07a0 and 07b0 are unknown. Indeed in the pci.ids file, under VMware Inc we have the following:

15ad  VMware Inc
        0405  [VMware SVGA II] PCI Display Adapter
        0710  Virtual SVGA
        0720  VMware High-Speed Virtual NIC [vmxnet]

/usr/share/hwdata/pci.ids file must be modified as follows:

15ad  VMware
0405  SVGA II Adapter
0710  SVGA Adapter
0720  VMXNET Ethernet Controller
0740  Virtual Machine Communication Interface
0770  USB2 EHCI Controller
0774  USB1.1 UHCI Controller
0778  USB3 xHCI Controller
0790  PCI bridge
07a0  PCI Express Root Port
07b0  VMXNET3 Ethernet Controller
07c0  PVSCSI SCSI Controller
0801  Virtual Machine Interface
15ad 0800  Hypervisor ROM Interface
1977  HD Audio Controller

After the modification, lspci gives the follwoing:

[root@localhost ~]# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)
00:0f.0 VGA compatible controller: VMware SVGA II Adapter
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)
00:11.0 PCI bridge: VMware PCI bridge (rev 02)
00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:15.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:16.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:17.7 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.0 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.1 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.2 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.3 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.4 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.5 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.6 PCI bridge: VMware PCI Express Root Port (rev 01)
00:18.7 PCI bridge: VMware PCI Express Root Port (rev 01)

03:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)




No comments:

Post a Comment