How to Update pci.ids PCI ID Device File using update-pciids on Linux

If you have not updated PCI IDs on your system in while, it is a good idea to keep it updated once in a while.

If you notice that lspci command is not displaying the proper device name for any of the devices that are connected to your PCI bus, this might be because the PCI IDs on your system is not current.

To update the PCI IDs, use update-pciids command.

update-pciids is part of pciutils package.

1. PCI ID File Location and Syntax

The PCI IDs on your system is stored in the following file:

/usr/share/hwdata/pci.ids

The following is the syntax for the entries in this file:

# Syntax:
# vendor  vendor_name
#       device  device_name                             <-- single tab
#               subvendor subdevice  subsystem_name     <-- two tabs

For example, for LSI Logic, you'll see the following entries. This is only partial list for the LSI Logic.

$ vi /usr/share/hwdata/pci.ids
1000  LSI Logic / Symbios Logic
        1960  MegaRAID
                1000 0518  MegaRAID 518 SCSI 320-2 Controller
                1000 0520  MegaRAID 520 SCSI 320-1 Controller
                1000 0522  MegaRAID 522 i4 133 RAID Controller
                1000 0523  MegaRAID SATA 150-6 RAID Controller
                1000 4523  MegaRAID SATA 150-4 RAID Controller
                1000 a520  MegaRAID ZCR SCSI 320-0 Controller
                1028 0518  MegaRAID 518 DELL PERC 4/DC RAID Controller
                1028 0520  MegaRAID 520 DELL PERC 4/SC RAID Controller
                1028 0531  PowerEdge Expandable RAID Controller 4/QC
                1028 0533  PowerEdge Expandable RAID Controller 4/QC
                8086 0520  MegaRAID RAID Controller SRCU41L
                8086 0523  MegaRAID RAID Controller SRCS16

2. Update the pci.ids File

The latest PCI ids are maintained by the PCI Ids site.

Use the following command to update the above pci.ids file with the latest information from the PCI IDs primary site.

Please note that this will work only when you have either curl, or wget, or lynx on your system. Also, to save the bandwidth if you have gzip (or bzip2), the following command will download the compressed version of the file and install it accordingly.

# update-pciids
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  196k  100  196k    0     0   395k      0 --:--:-- --:--:-- --:--:--  539k
Done.

If you are running this as a background job on an on-going basis, use the following command to run in the quiet mode.

update-pciids -q

If you don't see a particular ID listed in the PCI IDs file you can also submit your request at the PCI Ids site.