I hope this helps some of you newer folks to help yourselves quickly find your own drivers, and not be victimized by the pay for driver sites. This is written in the simplest form and is not designed to be reviewed by assembler programmers, but rather to be a quick way to understand what goes on.
What is a driver?
To put as simply as possible, the driver is a little interpreter. Your laptop is basically the united nations, and all the different devices(the keyboard, the sound card, the wireless controller) they are all representatives from different nations sitting around in a large room. In the center of the room, is the CPU, the main controller for the big meeting, and it speaks straight math. All the devices gathered around, all speak a foreign language, and they all have inputs for the CPU. They of course, can't speak directly to the CPU so they say what they say to their interpreter, the CPU hears something it can understand, and then gives information/commands back to the individual devices, once again through the interpreters, and the devices carry out whatever is needed by the CPU. The drivers are the interpreters. Without them, there are just a bunch of dysfunctional devices gathered around a CPU with nothing getting done.
What makes up a driver?
A driver is a file or group of files written to carry out that interpretive function. In some cases, like the all terrible IDT driver, there are applications that are part of the driver package. The key thing to remember is that each device in your laptop, has a built in ID that identifies-
A. the vendor id - who made the device
B. the device id - the particular device from that vendor
C. additional subsystem information - revisions or sub series devices within the particular device, from the particular vendor
when the OS starts, and during operation, it scans for plug and play devices, and if it finds any new devices it will look at the built in ID's on the device, and then ask you for an appropriate driver. when you suggest or point to a particular driver, the driver includes a written list of all compatible devices that will work with that driver, as well as compatible OS's that will work as well. If the driver is compatible, you OS will try to install it and function with it. If the driver is properly written for your device, it should work flawlessly. If the driver is not written properly it will either not install, or install, and have problems, (not do what it's supposed to do)
Ideally, you install windows and it already has all devices built in for everything on your machine and you never have to deal with drivers, but this is really not likely.
The device manager &YELLOW EXCLAMATION POINTS!!!
If you install a new OS, or attach a new device, and the OS does not recognize a device, it will show you an alert that there is a non-functional device in your machine. It does this in the device manager. Goto the device manager(many ways to get there, you can always click the windows orb / start menu, and in the search bar (lower left) just type "device manager"
If you have a device that does not have a proper driver installed, it will show you a yellow exclamation point. Sometimes this will be next to an identified device, and sometimes it will just be posted next to a device named, "unknown device". Remember, even though this shows up as an unknown device, the OS does know the devices vendor ID, the device ID, and a bunch of other particulars about the "unknown device". It just doesn't have the proper "interpreter" yet.
All devices are grouped by category inside the device manager.
Open any category to see the devices within it. For instance sound controllers, and you will see the various sound devices. If you have HDMI you will see one for that, but you should see one "main" sound device. Double click on any device and another window opens telling you about it. Select the details tab, and you will then see a property selector, and a value window. Just select hardware ID's in the property selector, and the value window will show you the details of that device, as it identifies itself to your OS. The drivers you need, will be written for this value. Specifically the Vendor ID and Device ID. The rest of it, really doesn't matter.
How do you find the unknown device, and it's driver?
So to find any driver, just get the Hardware IDs value of the device, and highlight the lower of the values in the window(usually the smallest is on the bottom) Press CTR and C to copy the value, then in google press CTR and V to paste that value into the search entry window.
You're almost there. You will want to clean this up. They organize this value by a standardized method of the letters - usually VEN for vendor id, and DEV for device id. Here is an example of my sound card.
to search for this as effectively as possible, you want to remove any non essential information. So remove anything before the VEN and anything after the value associated with the DEV_ in this case 76B2.
Then add any information that may help your search, specifically "XP" to start with, and perhaps if you get alot of responses, you could add "HP" to the search to narrow down the results.
In my example you would be searching for
In this way you can quickly round up the "MAIN" drivers needed for your laptop. I say main, because the other stuff in my opinion, is what I consider "accessories" (you can function temporarily without things like the fingerprint reader, but not a decent video driver, for example)
Now it's alot easier for your Video driver and Chipset. Looking in the device manager, you will easily just see what the video card is you have, and you can just download in most cases the driver for it directly from NVIDIA, or ATI/AMD. (there are exceptions to this, but that is the rule) And as far as your chipset goes, you will want to do basically the same thing, by clicking on "system devices" and when that opens up, looking for Intel(R) ICH9 or ICH8 something similar to identify what chipset you have. There will be multiple entries of the same chipset value, so you won't miss it.
Now you have all your drivers, but do you need to update?
Some of you will not want to mess about with drivers, unless you absolutely have to, and that is fine. Some others enjoy tinkering constantly. I would suggest, the best situation is something in between. Don't be afraid to install a driver when needed. If you are ok with the idea of updating your drivers, there are several drivers you will want to update frequently. Video, sound, and chipset. These are the drivers that pretty much everything you do on your machine will use, all the time. The software written to perform your audio and video output, are constantly being rewritten to be faster, better, and squeezing more and more out of your machine. Add to that, your laptop is comprised of components that were second rate, before your machine ever shipped out. New devices that trump yours were already in development, even if you bought the best of the best. New video and audio formats are being written as you read this, and as a result new drivers will have to be consistently written and updated to keep up. For this reason, you should update the video, audio, and chipset drivers pretty much as often as they come out. Don't go crazy, but just periodically check for updates.
Other drivers, like your lan/ethernet controller, or your mouse driver, are probably going to need no updates whatsoever, and will be trouble free. These non audio/video/chipset devices should be treated with the "if it ain't broke don't fix it" mentality.
-
-
Good info to know - Thanks for taking the time to do this (+ rep
) Do you know how the device ID is stored on devices - is it in a ROM chip? Thanks
-
Pretty in depth stuff.
Microsoft Plug & Play Identifier Standards
For those interested parties.
Driver 101 - everything you NEED to know
Discussion in 'HP' started by petermichaelw, Jun 22, 2009.