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......

Monday 9 April 2007

Free Imaging Tool for PCs

Well its been a busy few weeks...and I can see a few people think I have turned a bit geeky....Well a little bit yes and a little bit no. But then to live in IT you have to be geeky!(Jas surely you know what I mean!)

So the other day while I was working I kind of realised that there were some licensing issues to using Symantec Ghost which though its a great product is a tad bit expensive when you are trying to work on a shoe string budget in a organisation and got thinking about whether there would be any open source free applications that would work like ghost and create images of hard disks. My search on google led me to several, One of them was the fantastic yet not so free Acronis True Image (http://www.acronis.com/) however it wasnt free and then my search led me to PartImage (http://www.partimage.org) which is a Linux Based application that would image Hard Disks. Now for a Windows Administrator the mere mention of the word Linux brings them out in a cold sweat! So before you all start sweating let me help you in setting this application up until the GUI interface which should be straight forward to anyone who has ever used Ghost.

First of all head to the following location(http://www.sysresccd.org) and download the System Rescue CD ISO and burn this using your CD Burning Application.

Now there are two ways to do this one is a Server/Client method which for a Windows Administrator might not make much sense and may just muddle you into disastrous consequences . The other more simpler method is the so called "map a drive" method which I found works quite well!

So here goes.

First boot into the System Rescue CD ISO that you burnt. There are some other very useful tools in this disc which you can explore later...At the boot: prompt just hit enter.

This will start kicking off the Hardware detection phase of Linux until it stops asking for the keyboard Character set.

Now since not everyone reading this is American and since I like flying the flag for British English I choose the country code that matches your keyboard in my case I will type in uk. Now hit return until you come to a prompt.

This is where I tell everyone to RTFM or in my case RTFS(S stands for Screen)

So lets get started first of all by setting up the network card.

You do this by typing the following command:

net-setup eth0

From here just follow the instructions for your network card as to whether it is a wired or a wireless network, whether you use DHCP or you want to static assign the IP address. The easiest option is to use DHCP as most networks have some form of this service.

Once you have made a selection you will then be returned back to the prompt.

Here type ifconfig which is the same as ipconfig /all in windows to check you have got a valid IP address for your network card.

The next thing you will need to do is create a mount point. Those of you familiar with Windows 2003/XP will be familiar with mount points but for those who aren't I will explain what they are briefly. To map a drive you use a drive letter using the net use command or the GUI the same way you can use a folder to map a network location.

Anyway to carry on first create a mount point. You can do use using the following command:
mkdir /mnt/image

Once you have created the mount point we will then map a share based on the server RHUBARB with the CIFS/SAMBA Share called image To do this we will now mount the share using a username and password for the share on the server RHUBARB:

mount -t smbfs -o username=imageusername,password=password //rhubarb/image /mnt/image

This will now mount the share to the mount point /mnt/image. If there are any problems with the above command try replacing the server name with the IP address or try checking the username and password. I have found using a local username and password on the server is better than using a domain account.

Once down you can now launch PartImage you do this by typing in partimage
This will load the GUI interface where you select the Partition you want to image, whether to restore or save an image etc.

You will then need to specify the filename of the image. You do this by typing in the path which you just mounted followed by the filename.

eg.: /mnt/image/Dell/gx210image

Now follow the defaults and follow the simple onscreen instructions. This will then kick off the process of creating the image. You may get a message that NTFS support is experimental. However I have found the support to be fine and to have not had any problems so far.

It is straight forward once you do it. Dont let Linux scare you! It is as simple as Symantec Ghost you just need some patience initially until you get the hang of it. But once you have used this tool you will seriously wonder you want to pay the money for a Symantec Ghost Licence!

Happy Imaging!