Thursday, 29 July 2010

Phantom Devices

Have you ever had to swap out a network card in your or (more likely if you're reading this) a clients computer and found that when it comes to applying the IP address the computer believes that the IP address is already in use by another device?

If so then, like me, you've probably also gone into the device manager and attempted locate this mysterious device that you know just isn't there. Again, like me, you've then probably discovered that even though you've selected the 'View Hidden Devices' option there appears to be no clashing devices.

At this point, you've probably sat back and said something like:

OH! ok, so there's something stuck in the registry...lets try and recreate the circumstances which caused the message to appear on screen so i can note down the name of the device to enable me to search the registry and get rid.
Although this IS an option and i personally have had a certain amount of success using it, it is also one which i would advise against. Take it from me, if you mess it up, then you may end up corrupting the registry to the point whereby you are unable to see any of the devices. The only option i have found at this point is to take a copy of all your important data, format and re-install.

So if it's impossible to see with the 'View Hidden Devices' option selected and it's also not advisable to plough through the registry then what, i hear you ask, can i do about it?

Well fortunately, the good ol'chaps at Microsoft have left you one final option. Burried away in every copy of Windows to date is a version of a piece of software which basically kicked started the whole Microsoft empire.

This software is known as MSDOS and is a very basic yet powerful text-based operating system. It has a vast array of features, far far too many to list here, which effectively allow you to side step the Windows operating system. It is free for you to exploit to your benffit.

Ok, so how can it help in this instance? Simply follow the procedure below and all will be revealed:
  • Log on to the computer as a system administrator
  • If you're using XP: Click the Start menu and click 'Run' If you are using Vista or above: Use the text entry box and proceed to the next step.
  • Type 'CMD' (without quotation marks) and press return or enter.
  • At the MSDOS command prompt, type:
    set devmgr_show_nonpresent_devices=1
    ...and hit return or enter. It will appear as if nothing has happend but for the flashing cursor moving onto the next line - this is to be expected. The command simply sets an environmental variable which is local to the Microsoft Management Console (MMC) you are about to call and will enable us to see the phantom devices. The setting will be lost upon closing the MMC.
  • Type 'devmgmt.msc' (without quotation marks) and hit return or enter. This will display Windows Device Manager MMC.
  • Click the 'View' menu and select 'Show Hidden Devices'.
What you have done is to show a list of every device that has ever been plugged into your computer mixed in with the devices which are currently installed on your computer. This will range form defunct NIC cards to the countless number of USB sticks which people tend to stick into terminals these days. The devices, drivers and services that are currently not in use are those which are greyed out.

Now for the 'fun' bit, you will have to expand each of the device types to find the particular device which you think is causing the problem. Be warned though, not all greyed out or hidden devices are devices that need to be uninstalled. It may be that they are used as part of the Windows logon process and as such are not in use at the time you are looking at them. Deleting it may cause system failure or instability. Also note that uninstalling too many devices may end up in you having to re-Activate your copy of Windows.

On a final note, if you prematurely exit the Device Manager, you will have to go through the process mentioned above to allow you to see all the unused devices again. As mentioned during the process, the setting is an environmental setting that is local to the MMC you require after the environmental variable has been applied.

To close the MSDOS command prompt simply type 'exit' (without quotation marks) and hit return or enter...or click the 'X' in the top right corner.

By the way, I will not be held responsible for any issues caused by using the above procedure. The information is offered up for informative purposes only. If you decide to use it, it is your own choice to do so. There are many MSDOS commands available for you to use some of which are potentially more damaging than others. Although, on its own, i would rate the command used here to be of a low risk if you are not fully aware of what you are doing what it allows you to do could end up in the destruction and termination of your computer. DO NOT ATTEMPT THIS PROCEEDURE ON A WHIM, ensure you are fully versed in all potential pitfalls...and relax :-)

No comments:

Post a Comment