Most computer components or devices produced today are based on a
chipset, which is a single chip or set of chips that contain virtually all of the circuitry for the device. For example, when an OEM (Original Equipment Manufacturer) decides to make a component like a network card, they normally select a specific network card chipset, and then build a card around it according to the chipset manufacturer's designs and specifications. Many chipset manufacturers offer complete reference designs, which are example designs of products using the chipset that the OEMs are free to copy and use for themselves. The chipset mfr. will also supply Windows and other OS drivers to the OEM, who can either pass them along as-is, modify them, or ignore them and write new drivers from scratch. As you can imagine, most simply pass the drivers along as-is to the end user, with nothing more in most cases than a little re-branding (changing things like logos and labels, but not the code). In addition, while the chipset mfr. may update these drivers relatively frequently, the OEM may or may not pass updated versions along, which generally makes the chipset mfr. the best source for the latest drivers for a given device.
Knowing that cards are based on specific chipsets, and that all cards with a given chipset will usually be functionally identical and use the same drivers, before I purchase a card I like to know which chipset it uses. Unfortunately many manufacturers don't provide this level of detail about their products; however with a little knowledge and technical skill, you can usually find it out for yourself. What follows is a specific example where I put some of this knowledge to work:
When the need for an inexpensive
802.11b/g CardBus Wireless Adapter arose for
one of my readers, I recommended the cheapest one NewEgg offered, which at the time was the
BELKIN ME1002-NB Wireless G Notebook Card, which they were offering for only $7 with free shipping (that offer has now expired). In any case, they ended up purchasing the
BELKIN F5D7010 Wireless G Notebook Card instead, which arrived as a Belkin F5D7010 Ver. 5100.
In order to find out what chipset that card was based on (and therefore what drivers would be compatible), I needed to know the
Hardware IDs that Windows uses to match a device with a specific driver. If the device is physically installed in a system, this is relatively easy. Devices installed without a driver will show up in the Device Manager as an "Unknown Device" denoted by a yellow question mark. To find out what it is, you can right click on the Unknown Device, select Properties, click on the Details tab, then select Hardware Ids in the drop down menu. A list of Hardware IDs of varying detail should be displayed in one of the
Device Identifier Formats. For example, if the device is a
PCI device, the Hardware IDs will appear as:
Where:
v(4) is the four-character PCI SIG-assigned identifier for the vendor (manufacturer).
d(4) is the four-character vendor-defined identifier for the specific device.
There may be additional information, but the Vendor and Device IDs are generally all you need to know in order to identify a device and find the proper drivers.
Since I didn't actually have the card in my system I could not use the Device Manager, however one can also find Hardware IDs in the driver
.INFormation file for a device. So I went to the
Belkin support page for that card and downloaded the drivers from Belkin, specifically the one for
Version 5xxx cards and XP. I used
7-Zip to open the executable (without running it), extracted the
Driver\BLKWGN.INF file, and opened it in notepad to view. Upon viewing, I noted the following important lines:
DriverVer = 06/01/2005,4.1.2.56
%DeviceList.DeviceDesc.0001% = NIC_0008.ndi, PCI\VEN_168C&DEV_001A&SUBSYS_701D1799
DeviceList.DeviceDesc.0001 = "Belkin Wireless G Notebook Card"
The first line indicates the driver date and version, the third indicates what will be displayed in the Device Manager for this device, meaning how it is "branded". The second line is the most important, as it identifies the specific manufacturer (VEN_
168C) and model (DEV_
001A) of the device (chipset) in this card. To find out what those correspond to, I visited the
PCIDatabase.com site and did a search on the
168C Vendor ID, which is identified as
Atheros. Then I did a search on the
001A Device ID, which when
combined with the Vendor ID specifically identifies the device as an
Atheros AR5005G chipset.
Where possible, I prefer to download the latest drivers directly from the chipset manufacturer. Unfortunately unlike many other device manufacturers, Atheros does not provide drivers to end-users, meaning they can't be downloaded from the Atheros site. Atheros does however provide reference card designs (example cards using its chipsets) and drivers to its customers, who are the OEMs who make and sell products using its chips. Since Atheros conveniently provides a single reference driver package to support all Atheros wireless chipsets, I wanted to see if I could find a newer Atheros wireless chipset driver package from an alternate source. Using my
incredible mad search skillz <g>, I was able to find an excellent up-to-date collection of the latest
Atheros reference drivers.
I downloaded the
latest driver for XP, opened it with
7-Zip, extracted the
netathw.inf file, and opened it in notepad to view. Upon viewing, I noted the following important lines:
DriverVer = 09/30/2009,7.7.0.406
%ATHER.DeviceDesc.001A% = ATHER_DEV_001A.ndi, PCI\VEN_168C&DEV_001A
ATHER.DeviceDesc.001A = "Atheros AR5005G Wireless Network Adapter"
This was the latest I could find for XP at the time of this writing, and is obviously much more recent than the one provided by Belkin. Note that when this driver is installed, the card will now appear as an "Atheros AR5005G Wireless Network Adapter" in the Device Manager, which is really what it is under the skin after all. This is the electronic equivalent of peeling the "Belkin" sticker off the card. <g>
Now let's go back to my original recommendation. Out of all of the
802.11b/g CardBus Wireless Adapters listed on NewEgg, I had recommended the cheapest one, which at that time was the
BELKIN ME1002-NB Wireless G Notebook Card. To find out what chipset this card uses, I visited the
Belkin support site for that card and downloaded the
latest driver from Belkin. I opened the file with
7-Zip, extracted the
Driver\ME1002NB.INF file, and opened it in notepad to view. Upon viewing, I noted the following important lines:
DriverVer = 08/04/2006,4.1.2.133
%DeviceList.DeviceDesc.0001% = NIC_0008.ndi, PCI\VEN_168C&DEV_001A&SUBSYS_701D1799
DeviceList.DeviceDesc.0001 = "My Essential G Notebook Card"
The second line tells me that the
BELKIN ME1002-NB also uses the
AR5005G chipset, and is in fact absolutely the same as the
BELKIN F5D7010 card. The Belkin-supplied driver is also the same, except that it is slightly newer and branded with a different name. Of course this card would also use the latest Atheros reference drivers I had found.
Bottom line: A little device and driver detective work uncovered several facts: The two Belkin cards referenced in this post are functionally if not literally identical, utilizing the exact same chipset and drivers. After determining the specific chipset used, I was able to locate and download the latest drivers produced by the chipset manufacturer, even including drivers for Windows 7 x64 (not available from Belkin).
Using the knowledge and examples presented here, you should be well on your way to becoming an expert device and driver Detective! Scott.