I have come across a strange problem. I am running a USB plug/unplug enumeration test where every time I plug in the device I verify various things to make sure that the enumeration is correct. This a development test.
One of the things that I do is to use devcon.exe to verify some things about the collections. What I’m seeing is that sometimes the number after the last back-slash is changing for each of the collections (after hundreds of cycles). Further investigation shows what appears to be two entries in the registry for the same device.
\9&3406C40F is the number at the beginning of the test associated with each collection
and some time later after several hundred enumerations it night change, in this case to
\9&2D6B958A
initial enumeration
2020-09-18 16:09:22,066 main INFO =========> devcon.exe "find HID"\vid_047F* <=========
2020-09-18 16:09:22,088 main INFO HID\VID_047F&PID_015D&MI_03&COL05\9&3406C40F&0&0004 : HID-compliant device
2020-09-18 16:09:22,111 main INFO HID\VID_047F&PID_015D&MI_03&COL01\9&3406C40F&0&0000 : HID-compliant device
2020-09-18 16:09:22,124 main INFO HID\VID_047F&PID_015D&MI_03&COL02\9&3406C40F&0&0001 : HID-compliant device
2020-09-18 16:09:22,132 main INFO HID\VID_047F&PID_015D&MI_03&COL03\9&3406C40F&0&0002 : HID-compliant consumer control device
2020-09-18 16:09:22,148 main INFO HID\VID_047F&PID_015D&MI_03&COL04\9&3406C40F&0&0003 : HID-compliant device
several hundred enumerations later
2020-09-18 16:34:08,140 getDevconInfo HID\VID_047F&PID_015D&MI_03&COL01\9&2D6B958A&0&0000 :HID-compliant device
2020-09-18 16:34:08,140 getDevconInfo HID\VID_047F&PID_015D&MI_03&COL02\9&2D6B958A&0&0001 :HID-compliant device
2020-09-18 16:34:08,155 getDevconInfo HID\VID_047F&PID_015D&MI_03&COL03\9&2D6B958A&0&0002 :HID-compliant consumer control device
2020-09-18 16:34:08,155 getDevconInfo HID\VID_047F&PID_015D&MI_03&COL04\9&2D6B958A&0&0003 :HID-compliant device
2020-09-18 16:34:08,155 getDevconInfo HID\VID_047F&PID_015D&MI_03&COL05\9&2D6B958A&0&0004 :HID-compliant device
I didn’t have any luck trying to understand how that number is derived. I have your book Jan, USB Complete, 3rd edition, in case anyone can point me to where that’s listed, that would be great, or help me understand what the device could report that might cause windows to create two different entries for the same device. Maybe a different device or configuration descriptor?
I've run this test for millions of cycles on other devices but I have never seen this problem before.
Any help would be very appreciated! thx!
[/size][/size]