[wdmaudiodev] Re: How to avoid prefix number of WDM audio device

  • From: "K. Weller" <wdmaudio@xxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 18 Oct 2018 09:01:36 +0200

Hi Robert,

thanks for pointing me to this.

This makes totally sense to me and during my tests I also noticed that I get this wrong and the solution is not what I want.

Now I have much more background and understanding.

Thank you for this !

Best regards,

KW




Am 15.10.2018 um 19:22 schrieb Tim Roberts:

K. Weller wrote:

Well the audio device is already out so this seems to be a good solution  avoiding this in future and now, the reason is clear to me !
...
I just found this "HACK" to let Windows ignore the serial number:

https://blogs.msdn.microsoft.com/microsoft_apgc_hardware_developer_support_team/2013/11/09/to-ignore-a-usb-devices-serial-number/
https://www.ftdichip.com/Support/Knowledgebase/index.html?ignorehardwareserialnumber.htm

If this works it seem to be a solution for now I guess.

You need to read this again, because this does exactly the opposite of what you need.

Here's the problem.  If your device has a serial number, then Windows can uniquely identify that physical piece of hardware, no matter where it is plugged in.  It only creates one devnode, one driver install, and one set of configuration data.  But if your device does not have a serial number, Windows cannot uniquely identify it.  Thus, when it sees your VID and PID in a different hub or port for the first time, it has to assume it is a new device.  It creates a new devnode, does a new install, and creates a new set of configuration data.  If it did not do that, and you plugged in two devices into two different ports, the two would collide.  That's not allowed.

The web page you quote above tells Windows to ignore a serial number if it is present, so that it creates a new devnode for each new hub/port.  That's the opposite of what you want.  That option is designed for manufacturing floors, where you might plug 10,000 devices into a single port.  If they all had serial numbers, that would create 10,000 new devnodes and fill your registry.  With that registry hack, it would only create one that gets reused each time.

The USB specification strongly recommends that each device have a unique serial number, and some of the device classes require it. However, manufacturers are lazy.  It's not easy to give each device a unique serial number, so they don't, and that causes problems like this.

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: