Saturday, 28 April 2007

Arrggghhhh! I hate those drivers....

So here I am finally on the way to recovering from my flu...and regaining my voice albeit very much frog like....and trying to hit the notes for Atif Aslam's Tere Bin song which is definitely difficult when you have just regained your voice. It sounds like a machine grating sound...so anyway I then was hit by a problem when I was installing this sound card on a friends machine. It had no drivers and I couldn't recognise the chip set used so now I have a problem where I dont even know what the original manufacturer of the device is...

Then as if I had a flashback (here is where you use the ripple effect and some strange music) I remembered when I had a similar issue in Windows 98 about 5-6 years ago...

The solution came to me...which I shall share with you all....

Windows uses Plug & Play to determine if it has drivers for the device.But how does it recognise it?

Well to give you a idea...The best and the least utilised winmsd tool needs to be run...

You do this by clicking on Start...Run...type in winmsd and click on OK.

This will load up a Application called System Information.

This application has been with us in various forms since DOS 5.0 and was ported and changed to its current form when you installed Microsoft Office 97 (Now I really am showing my computing age!)

So this tool has so many uses but I will just explain its most helpful use here....

In the Left Pane..Expand Components and Select Problem Devices.

The Problem devices refers to that Device with a Yellow Exclamation mark in Windows Device Manager. So Now you will see the device that you are having a problem with listed there. It will look something like this:

Sound Device: PCI\VEN_1106&DEV_3059&SUBSYS_41611106&REV_50\3&61AAA01&0&8D

So now lets strip this down a little better to make sense of it. We are only interested in a very small part of the string:

PCI\VEN_1106&DEV_3059&SUBSYS_41611106&REV_50\3&61AAA01&0&8D

The PCI refers to how the device is connected. So PCI stands for a PCI card plugged in internally, You will also find USB or AGP and the now very rare ISA listed(This is for our Win9.x friends out there!)


So now we have established how the device is connected the next part of the string is the one that wil interest us the most:

PCI\VEN_1106&DEV_3059&SUBSYS_41611106&REV_50\3&61AAA01&0&8D

The VEN_1106 refers to the Vendor ID that is used by the creator of the device. You will find some which are more common like VEN_8086 which refers to Intel. Even if you dont know them you dont need to worry as I will explain....

The next part DEV_3059 refers to the actual device this could be anything for all you know. In this case windows recognised it as a sound device, Sometimes in older windows it will just show up as a unknown device. So here is what you can do to resolve this..

Take the string as follows and remember Google is your friend!

Enter the string VEN_1106&DEV_3059 in Google and you will find a lot of discussions regarding this device. It is usually due to various discussions on detecting this device on Linux.

Based on this you will then be able to identify the Original Manufacturer and the Device Model / Chip Set and get the drivers...

This is the painless way of setting up drivers....

Now what do you do if the device driver is the right one but it is not being detected by Windows correctly and when you do a select from list it still doesn't appear?

Don't Panic!

Here is a little known fact...The Driver Manufacturer may have hidden the device from you intentionally in Windows!

So how do you see it. Remember that Windows will look for a .inf file that relates to the device driver.

The .inf file is just a text file which tells windows what to do with the files and how to configure the registry to use this device.

In there you will find a section headed
[ControlFlags]

Below this you will find a list which will tell you what needs to be excluded from selection. In the example below it basically states to exclude everything in this driver information file.
ExcludeFromSelect=*


To be able to view these devices remove the [ControlFlags] and the ExcludeFromSelect=* lines and save the file and try again to select the Device. You will find all the devices listed in the Add New Hardware Wizard!

So there you go that is two ways to get you out of drivers hell!

Now back to my trying to hit those high notes......

1 comment:

Anonymous said...

Thanks for writing this.