How can I prevent Windows from enumerating USB audio devices having the same name?

When trying to test multiple USB devices with the same name, Windows will sometimes enumerate the device. For example, after connecting a headset named “USB Device”, the next headset that is connected will be named “2-USB Device”, then “3-USB Device”, and so on. 

 

In SoundCheck > Setup > Hardware, these will appear as discrete devices. The same channels cannot be used across testing and the hardware editor must be opened to select the newly enumerated devices. 

 

This is caused by Windows remembering the name in Device Manager even when it is disconnected. When a different device with the same name is connected, it will give it a different friendly name by prepending a number even if the original device has been disconnected. This can be viewed in Device Manager by enabling “View > Show hidden devices”. Hidden devices will appear as light gray icons. 

 

 

Manually, these hidden devices can be right clicked and uninstalled. When a new device is connected Windows will not enumerate it because the old device is not remembered in the system so there is no naming conflict. 

 

However manually removing the items is a slow process and on a production line might not be a feasible solution. A third party tool, Device Cleanup Cmd, is available that can be used with SoundCheck’s System custom step that will allow programmatically removing disconnected devices.



The program can be downloaded using this link:
https://www.uwe-sieber.de/files/DeviceCleanupCmd.zip

 

For information and instructions for use, please see the website:

https://www.uwe-sieber.de/misc_tools_e.html

 

Download and unzip DeviceCleanupCmd from the link above. SoundCheck must be run as an administrator to allow access to Device Manager. In the SoundCheck sequence, a System Custom step can be used to call the command. Point to the command in the unzipped location in the Working Directory field. If using a 64 bit computer, this will be in the x64 folder. The command can be configured using the instructions above. 

 

In this example, I want to clear out any disconnected device with “jabra” in the name. I am adding a -s flag to NOT make a backup because it will take too much time on the production line. 

 

 

This step will only clear out disconnected devices. A recommended workflow would be:

  1. Connect your device under test
  2. Run a test sequence to measure the device
  3. At the end of the sequence, an operator message tells the operator to disconnect the device and press enter when ready
  4. After the message step when the device is disconnected, run in this System Custom step and end the sequence
  5. Connect the next device. There will be no disconnected device with the same name, so it will automatically relink to the existing hardware channels. 
  6. Rerun the sequence
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk