wiki:Howto/MatchDeviceIDtoDriver

Match Device ID to Driver

This bit of shell script is useful to correlate system VENDOR:DEVICE IDs to the driver than handles them. It will report the system make, model, and BIOS version, and PCI or USB ID, the kernel module(s) that manage the device, the Xorg video driver for video chipsets, and the device description.

It is very useful for quickly understanding a system. Save it as a script to /usr/local/bin/device2driver and make it executable:

sudo chmod a+x /usr/local/bin/device2driver

Example Output

device2driver
Need privileges to execute dmidecode...
Make: Sony Corporation
Model: VGN-FE41Z
BIOS: R0200J3
PCI: 8086:27a0 intel-agp (xorg=intel) = Host bridge [0600]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub
PCI: 8086:27a1 shpchp  = PCI bridge [0604]: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port
PCI: 8086:27d8 snd-hda-intel  = Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller
PCI: 8086:27d0 shpchp  = PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1
PCI: 8086:27d2 shpchp  = PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2
PCI: 8086:27d4 shpchp  = PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3
PCI: 8086:27d6 shpchp  = PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4
PCI: 8086:27c8 uhci-hcd  = USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1
PCI: 8086:27c9 uhci-hcd  = USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2
PCI: 8086:27ca uhci-hcd  = USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3
PCI: 8086:27cb uhci-hcd  = USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4
PCI: 8086:27cc ehci-hcd  = USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller
PCI: 8086:2448 UNKNOWN  = PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge
PCI: 8086:27b9 intel-rng, iTCO_wdt  = ISA bridge [0601]: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge
PCI: 8086:27df ata_piix  = IDE interface [0101]: Intel Corporation 82801G (ICH7 Family) IDE Controller
PCI: 8086:27c4 ata_piix  = IDE interface [0101]: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller
PCI: 8086:27da i2c-i801  = SMBus [0c05]: Intel Corporation 82801G (ICH7 Family) SMBus Controller
PCI: 10de:0398 nvidiafb, nvidia (xorg=nv) = VGA compatible controller [0300]: nVidia Corporation G70 [GeForce Go 7600]
PCI: 8086:4222 iwl3945  = Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection
PCI: 104c:8039 yenta_socket  = CardBus bridge [0607]: Texas Instruments PCIxx12 Cardbus Controller
PCI: 104c:803a firewire-ohci, ohci1394  = FireWire (IEEE 1394) [0c00]: Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
PCI: 104c:803b tifm_7xx1  = Mass storage controller [0180]: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
PCI: 8086:1092 e100  = Ethernet controller [0200]: Intel Corporation PRO/100 VE Network Connection
USB: 054c:0281  = Sony Corp.
USB: 05ca:1836 r5u870 = Ricoh Co., Ltd
USB: 1d6b:0002  = Linux Foundation 2.0 root hub
USB: 1d6b:0001  = Linux Foundation 1.1 root hub
USB: 044e:300d  = Alps Electric Co., Ltd Bluetooth Controller (ALPS/UGPZ6)
USB: 1d6b:0001  = Linux Foundation 1.1 root hub
USB: 0711:0230 mct_u232 = Magic Control Technology Corp. MCT-232 Serial Port
USB: 1d6b:0001  = Linux Foundation 1.1 root hub
USB: 1d6b:0001  = Linux Foundation 1.1 root hub

Updates

2009-02-25 Added Make, Model, BIOS and USB device identification
2009-02-24 Improved driver identification substantially, and added support for detecting Xorg video drivers

Attachments