Multiple single serial number controllers under Windows XP


Windows XP does not like USB devices with the same Vendor and Product id to have identical serial numbers.  The USB spec states that manufactures should either not specify a serial number or they should be unique numbers.  Some manufacturers offer firmware setting utilities whereby a system integrator can set the serial number in the controller.

If a 2nd USB device is plugged in that has the same vendor id, product id and serial number some suggest XP will reboot. In our observations, you can occasionally get XP to correctly list the devices in the Device Manager but more often than not it will list one with an error:



The device listed above is a Quanta Dual touch HID device. Using USBlyzer to view the properties it shows a rather strange serial number, which seem to be defined in all of these controllers:



However, we there is a registry setting that caters for rogue manufacturers who assign a single serial number to all instances of a particular product. To work around this you can create a binary key in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags that has the form IgnoreHWSerNumVVVVPPPP. Here VVVV is the 4 hex digits of the vendor id and PPPP is the 4 digits of the product id. Creating this and setting the value to 01 means that windows will ignore the serial number and act as if the device never had one at all. Doing this causes windows to then use the connection number to discriminate between different devices which works fine.

With the above rogue device you need the setting:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags]
"IgnoreHWSerNum04083008"=hex:01

We are also aware there is a setting to ignore all serial number processing on XP - GlobalDisableSerNumGen if preferred to defining individual entries.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags]
"GlobalDisableSerNumGen"=hex:01

Posted 25/09/2014 11:22:29 by Dave Bhattacharjee
http://kb.touch-base.com/KnowledgebaseArticle50035.aspx