Importance of Linux PCI ID Repository

A few days back, I brought a new DLink 510 PCI wireless card for my home pc. I prefer to use a Linux desktop instead of my laptop for long hours, so I brought a new PCI wireless card. I got this card because it is known to work with both ndiswrapper and it has an open source GPL driver 🙂 An updated list of PCI IDs is essential if you want to use or detect the latest PCI devices and hardware on your Linux system. Hence, keep your PCI hardware IDs updated on Linux.

After installing the card, it was not detected by my Linux system. Next, I downloaded ndiswrapper and installed it. But, when I tried to use the driver provided by DLink, it failed and crashed the system. Then I tried open source driver as described here and here (those links are dead now, so I removed them). But the card refused to work again.

Use the lsmod command along with grep command/egrep command to get a list of installed or loaded Linux kernel driver:
$ lsmod
$ lsmod | grep -i wifi

See What does lsmod command do in Linux? for more info.

Importance of Linux PCI ID Repository

All this time the lspci command was giving me following output:
$ lspci
Output:

0000:01:00.0 Network controller: RaLink: Unknown device 0302

Something was wrong because I never spend more than 2 hours for Linux driver installation. Then I decided to update my Linux PCI ID database. You can download latest version here at the Linux PCI ID repository.
$ cd /tmp
$ wget http://pciids.sourceforge.net/pci.ids
# cp /tmp/pci.ids /var/lib/pciutils/pci.ids

If you are using Debian or Ubuntu Linux stable copy file to /usr/share/misc/ directory using the cp command:
# cp pci.ids /usr/share/misc/

On a modern Linux distro one can use the update-pciids command to update PCI database:
$ sudo update-pciids

Now lspci reported correct chipset for WiFi card:
$ lspci
Output:

0000:01:00.0 Network controller: RaLink RT2561/RT61 rev B 802.11g

I did understand the problem. Newer wireless DLink PCI card DWL 510 does not use chipset RTL8180L from RealTek. This is a new chipset (RT61) from ralinktech and not supported by ndiswrapper 🙁

However, ralinktech has driver for kernel 2.6/2.4 for RT61 card. Here is a quick guide about how to install and configure this card.

🥺 Was this helpful? Please add a comment to show your appreciation or feedback.

Vivek Gite is an expert IT Consultant with over 25 years of experience, specializing in Linux and open source solutions. He writes about Linux, macOS, Unix, IT, programming, infosec, and open source. Follow his work via RSS feed or email newsletter.

8 comments… add one
  • eggmatters Oct 25, 2006 @ 17:27

    Well, sorry, it’s me again. Since this wireless card is the only contact I have with the internet directly, I have to download everyting (e.g. pci.ids) onto a flash drive and walk it over to my machine and install from there. Whilst attempting to copy the file, I discovered there is no pciutils, but when I attempted to install the pciutils package (from my cdrom install disk package pool) apt-get install said that it was already the newest version. ?? I’ll try to purge and reinstall, but any advice would be great since yours is spot on. Sorry if I come across needing quite a bit of hand holding for this. but just about every thing during this process that could be screwed up has been. Which is good, that’s how you learn right? I’m jsut out of my depth with most of this, but I am learning so I can help folks with similar problems down the road. You, Nix, have been invaluable though. You by far have the best advice on this subject and I am thankful.

  • eggmatters Oct 25, 2006 @ 17:29

    some clarification: Whilst attempting to copy the file, I discovered there is no pciutils,

    I mean there is no /var/lib/pciutils path. You prolly gathered that, just wanted to be clear. . .as mud

  • 👮🛡️ Vivek Gite (Author and Admin) nixCraft Oct 25, 2006 @ 17:56

    You can copy the pci.ids file to /usr/share/misc/ directory. Use following command to get exact existing location of pci.ids file:

    dpkg -L pciutils | grep pci.ids
    /usr/share/misc/pci.ids

    wget http://pciids.sourceforge.net/pci.ids
    cp pci.ids /usr/share/misc/pci.ids
    lspci

    When I wrote this post I was using Debian unstable. It appears that Debian stable use different location for same file.

  • Katyusha Nov 27, 2006 @ 2:30

    Hi,

    I have problem installing debian sarge. The installer does not detect the network card and the SATA disk. It spits ‘No Partition Media Found’ exception.

    I gave boot option as linux26 and just before ‘detecing hardware’ section, I opened another terminal and checked for the /usr/share/misc directory to update the pci.ids file. But I couldnt find misc directory itself.

    Kindly advice where could I find the pci-id file so that I can update the pci-id and give it a try.

    Thanks alot

  • 👮🛡️ Vivek Gite (Author and Admin) nixCraft Nov 27, 2006 @ 6:24

    Katyusha,

    While installing Linux if you don’t see STAT hard drive then go to your BIOS setup. Change the SATA configuration in the BIOS (i.e. legacy ATA mode) so drives are seen as individually, not in RAID setup. In my personal experience, this solves problem 95% times.

    HTH

  • Katyusha Nov 27, 2006 @ 9:55

    Nix,

    As you said I just altered the BIOS setup making IDE configuration to SATA+PATA and the installer automatically detected the SATA disk.

    Thanks for your advice.

    Katyusha

  • Katyusha Dec 8, 2006 @ 9:23

    Hi Nix,

    I have installed Sarge in my system. Now the problem is that it does not recognise my ethernet card. I have updated the pci.ids file with the latest. lspci now correctly displays the device info as,

    0000:02:00.0 Ethernet Controller: Intel Corporation 82573L Gigabit Ethernet Controller

    Now kindly advice me how to get the card installed. The Kernels 2.6.8. and the card is ‘Intel Pro/1000 PL Network Connection’.

    Thanks Again.

    Katyusha

  • 👮🛡️ Vivek Gite (Author and Admin) nixCraft Dec 8, 2006 @ 10:36

    Katyusha,

    I think you need to use e1000 driver for Intel Gig Lan card/Intel(R) PRO/1000 Network Driver. Use modprob command to install driver:
    modprobe e1000

    Use lsmod command to verify that driver is loaded
    lsmod

    Assign ip using ifconfig
    ifconfig -a
    ifconfig eth0 IP up
    ping router

    You can also download and compile driver from Intel website. http://support.intel.com/support/network/adapter/1000/

    Hope this helps!

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Your comment will appear only after approval by the site admin.