Sunday, July 8, 2007

Desktops,Notebooks,Workstation - USB Devices Enumeration issues.

Desktops,Notebooks,Workstation - USB Devices Enumeration issues.

___________________________________________________
Information
Often USB devices which have been previously installed in Notebook ,Desktops & Workstations are not detected when connected to the computer. This mainly occurs due to enumeration issues of USB devices. The USB specification defines six device states. During enumeration, a device moves through four of the states: Powered, Default, Address, and Configured. (The other states are Attached and Suspend.)

Details
The host assigns and loads a device driver (except for composite devices). After learning about a device from its descriptors, the host looks for the best match in a device driver to manage communications with the device. In selecting a driver, Windows tries to match the information in the PC’s INF files with the Vendor ID, Product ID, and (optional) release number retrieved from the device. If there is no match, Windows looks for a match with any class, subclass, and protocol values retrieved from the device. If the device has been enumerated previously, Windows can use information in the system registry instead of searching the INF files. After the operating system assigns and loads the driver, the driver may request the device to resend descriptors or send other class-specific descriptors. Now for devices which have been enumerated before by Windows there can be detection issues when they have been connected again. The solution is to re-enumerate the USB devices as the Vendor ID(VID) key and Product ID(PID) key in the registry may be corrupted.

The following steps can be used to redetect the USB devices System restore to recover the old registry

Or

Edit the registry settings for the USB devices ENUM keys


Start >Run>Regedit
Navigate through Hkey Location machine>System>Current control set>Enum
There would be 3 USB folders ; USB,USBPrint, USBStore
USB folder-Will have all the registry keys for the USB controllers
USBPrint-Will have all the registry keys for USB printer only
USB store-Will have the registry keys for Mass storage devices
Navigate through the appropriate folders
example Disk&Ven_IBM-DARA&Prod_-212000&Rev_AR4O.This is a VID and PID folder which has the enum registry keys for an IBM drive
Delete this folder . You may need to assign permissions to the folder to delete it and have admin rights as well
Restart the system and reconnect the device. The USB device will now be enumerated once again with PNP detection and the VID/PID keys would be added to the registry .
Editing the registry should be done only after a backup of the Registry(Restore point) and the USB folder should never be altered. The following article should only be used for USB devices which are not detected after being installed in a Notebook,Desktop or Workstation.

No comments: