Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

Upcoming OSR Seminars:

Writing WDF Drivers I: Core Concepts, Nashua, NH 15-19 May, 2017
Writing WDF Drivers II: Advanced Implementation Tech., Nashua, NH 23-26 May, 2017
Kernel Debugging and Crash Analysis, Dulles, VA 26-30 June, 2017
Windows Internals & Software Driver Development, Nashua, NH 24-28 July, 2017


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 48  
14 May 09 11:48
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

Hi guys, I just received a crash dump report with one of our USB products, and the bugcheck is 0xCA, PNP_DETECTED_FATAL_ERROR. "The PNP_DETECTED_FATAL_ERROR bug check has a value of 0x000000CA. This indicates that the Plug and Play Manager encountered a severe error, probably as a result of a problematic Plug and Play driver." The crash happened while connecting a USB hub to the PC and the USB hub had three of our devices connected to the hub itself. Below is the output of "analyze -v", which seems to point the finger to usbhub.sys, which enumerates the USB devices. Can my USB driver cause this issue? Or it's really a bug in the usbhub bus driver? Thanks! GV 3: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* PNP_DETECTED_FATAL_ERROR (ca) PnP encountered a severe error, either as a result of a problem in a driver or a problem in PnP itself. The first argument describes the nature of the problem, the second argument is the address of the PDO. The other arguments vary depending on argument 1. Arguments: Arg1: 0000000000000001, Duplicate PDO A specific instance of a driver has enumerated multiple PDOs with identical device id and unique ids. Arg2: fffffa8008037060, Newly reported PDO. Arg3: fffffa80095214a0, PDO of which it is a duplicate. Arg4: 0000000000000000 Debugging Details: ------------------ BUGCHECK_STR: 0xCA_1 DEVICE_OBJECT: fffffa8008037060 DRIVER_OBJECT: fffffa8006feb8c0 IMAGE_NAME: usbhub.sys DEBUG_FLR_IMAGE_TIMESTAMP: 479199e5 MODULE_NAME: usbhub FAULTING_MODULE: fffffa6003a0c000 usbhub DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT PROCESS_NAME: System CURRENT_IRQL: 0 LOCK_ADDRESS: fffff80002446c20 -- (!locks fffff80002446c20) Resource @ nt!PiEngineLock (0xfffff80002446c20) Exclusively owned Contention Count = 44 NumberOfExclusiveWaiters = 1 Threads: fffffa80039adbb0-01<*> Threads Waiting On Exclusive Access: fffffa80039ae720 1 total locks, 1 locks currently held PNP_TRIAGE: Lock address : 0xfffff80002446c20 Thread Count : 1 Thread address: 0xfffffa80039adbb0 Thread wait : 0xf0ad1b LAST_CONTROL_TRANSFER: from fffff8000267d058 to fffff8000229f650 STACK_TEXT: fffffa60`01bd4848 fffff800`0267d058 : 00000000`000000ca 00000000`00000001 fffffa80`08037060 fffffa80`095214a0 : nt!KeBugCheckEx fffffa60`01bd4850 fffff800`0268130e : fffffa80`041d2010 fffffa80`00000002 00000000`00000000 00000000`00000000 : nt!PiProcessNewDeviceNode+0x588 fffffa60`01bd49c0 fffff800`026817ea : fffffa80`0a436210 fffffa80`039adbb0 fffffa60`019d5cc0 00000000`00000000 : nt!PipProcessDevNodeTree+0x2de fffffa60`01bd4c30 fffff800`02378bad : fffff801`00000003 fffffa80`04711b80 00000000`00000000 00000000`32706e50 : nt!PiProcessReenumeration+0x8a fffffa60`01bd4c80 fffff800`022ac366 : fffff800`02378980 fffff800`023dd801 fffff800`023dd8f8 00000000`00000001 : nt!PnpDeviceActionWorker+0x22d fffffa60`01bd4cf0 fffff800`024c3fd3 : fffff800`024445a0 37363534`33323130 fffffa80`039adbb0 00000000`00000080 : nt!ExpWorkerThread+0x11a fffffa60`01bd4d50 fffff800`022d9816 : fffffa60`019d2180 fffffa80`039adbb0 fffffa60`019dbd40 00000000`00000001 : nt!PspSystemThreadStartup+0x57 fffffa60`01bd4d80 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x16 STACK_COMMAND: kb FOLLOWUP_NAME: MachineOwner FAILURE_BUCKET_ID: X64_0xCA_1_IMAGE_usbhub.sys BUCKET_ID: X64_0xCA_1_IMAGE_usbhub.sys Followup: MachineOwner ---------
  Message 2 of 48  
14 May 09 11:57
David R. Cattley
xxxxxx@msn.com
Join Date: 09 Jul 2002
Posts To This List: 2103
Bugcheck CA on Vista X64

Gianluca, Does your hardware robustly report a unique ID? I assume you have tried plugging in the hub without any devices and then one by one adding in the (three) devices. -dave -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni Sent: Thursday, May 14, 2009 11:48 AM To: Windows System Software Devs Interest List Subject: [ntdev] Bugcheck CA on Vista X64 Hi guys, I just received a crash dump report with one of our USB products, and the bugcheck is 0xCA, PNP_DETECTED_FATAL_ERROR. "The PNP_DETECTED_FATAL_ERROR bug check has a value of 0x000000CA. This indicates that the Plug and Play Manager encountered a severe error, probably as a result of a problematic Plug and Play driver." The crash happened while connecting a USB hub to the PC and the USB hub had three of our devices connected to the hub itself. Below is the output of "analyze -v", which seems to point the finger to usbhub.sys, which enumerates the USB devices. Can my USB driver cause this issue? Or it's really a bug in the usbhub bus driver? Thanks! GV 3: kd> !analyze -v **************************************************************************** *** * * * Bugcheck Analysis * * * **************************************************************************** *** PNP_DETECTED_FATAL_ERROR (ca) PnP encountered a severe error, either as a result of a problem in a driver or a problem in PnP itself. The first argument describes the nature of the problem, the second argument is the address of the PDO. The other arguments vary depending on argument 1. Arguments: Arg1: 0000000000000001, Duplicate PDO A specific instance of a driver has enumerated multiple PDOs with identical device id and unique ids. Arg2: fffffa8008037060, Newly reported PDO. Arg3: fffffa80095214a0, PDO of which it is a duplicate. Arg4: 0000000000000000 Debugging Details: ------------------ BUGCHECK_STR: 0xCA_1 DEVICE_OBJECT: fffffa8008037060 DRIVER_OBJECT: fffffa8006feb8c0 IMAGE_NAME: usbhub.sys DEBUG_FLR_IMAGE_TIMESTAMP: 479199e5 MODULE_NAME: usbhub FAULTING_MODULE: fffffa6003a0c000 usbhub DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT PROCESS_NAME: System CURRENT_IRQL: 0 LOCK_ADDRESS: fffff80002446c20 -- (!locks fffff80002446c20) Resource @ nt!PiEngineLock (0xfffff80002446c20) Exclusively owned Contention Count = 44 NumberOfExclusiveWaiters = 1 Threads: fffffa80039adbb0-01<*> Threads Waiting On Exclusive Access: fffffa80039ae720 1 total locks, 1 locks currently held PNP_TRIAGE: Lock address : 0xfffff80002446c20 Thread Count : 1 Thread address: 0xfffffa80039adbb0 Thread wait : 0xf0ad1b LAST_CONTROL_TRANSFER: from fffff8000267d058 to fffff8000229f650 STACK_TEXT: fffffa60`01bd4848 fffff800`0267d058 : 00000000`000000ca 00000000`00000001 fffffa80`08037060 fffffa80`095214a0 : nt!KeBugCheckEx fffffa60`01bd4850 fffff800`0268130e : fffffa80`041d2010 fffffa80`00000002 00000000`00000000 00000000`00000000 : nt!PiProcessNewDeviceNode+0x588 fffffa60`01bd49c0 fffff800`026817ea : fffffa80`0a436210 fffffa80`039adbb0 fffffa60`019d5cc0 00000000`00000000 : nt!PipProcessDevNodeTree+0x2de fffffa60`01bd4c30 fffff800`02378bad : fffff801`00000003 fffffa80`04711b80 00000000`00000000 00000000`32706e50 : nt!PiProcessReenumeration+0x8a fffffa60`01bd4c80 fffff800`022ac366 : fffff800`02378980 fffff800`023dd801 fffff800`023dd8f8 00000000`00000001 : nt!PnpDeviceActionWorker+0x22d fffffa60`01bd4cf0 fffff800`024c3fd3 : fffff800`024445a0 37363534`33323130 fffffa80`039adbb0 00000000`00000080 : nt!ExpWorkerThread+0x11a fffffa60`01bd4d50 fffff800`022d9816 : fffffa60`019d2180 fffffa80`039adbb0 fffffa60`019dbd40 00000000`00000001 : nt!PspSystemThreadStartup+0x57 fffffa60`01bd4d80 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x16 STACK_COMMAND: kb FOLLOWUP_NAME: MachineOwner FAILURE_BUCKET_ID: X64_0xCA_1_IMAGE_usbhub.sys BUCKET_ID: X64_0xCA_1_IMAGE_usbhub.sys Followup: MachineOwner --------- --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 3 of 48  
14 May 09 12:44
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

----- Original Message ----- From: "David R. Cattley" <xxxxx@msn.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Thursday, May 14, 2009 8:56 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 > Gianluca, > > Does your hardware robustly report a unique ID? > Our hardware doesn't have a unique ID, all the devices have the same ID, 12345. Can a device without a unique ID cause such troubles? > I assume you have tried plugging in the hub without any devices and then > one > by one adding in the (three) devices. This crash happened randomly, it's not consistent. I tried plugging the hub and the devices one by one, and nothing bad happened. I tried connecting the hub with the three devices on, and it didn't crash. Have a nice day GV > > -dave > > -----Original Message----- > From: xxxxx@lists.osr.com > [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni > Sent: Thursday, May 14, 2009 11:48 AM > To: Windows System Software Devs Interest List > Subject: [ntdev] Bugcheck CA on Vista X64 > <...excess quoted lines suppressed...>
  Message 4 of 48  
14 May 09 12:48
David R. Cattley
xxxxxx@msn.com
Join Date: 09 Jul 2002
Posts To This List: 2103
Bugcheck CA on Vista X64

I am not a USB expert but I think the situation you have is that they all have the same (quite non) unique id. I am guessing that Windows has some counter-measure logic to deal with this but AFAIK 'unique' is supposed to be just that so that the USB system can assign a 'port-independent' Instance Id to the PDO and thus make it possible to plug the device into any port and get the same DevNode (stack) instance identified. There have been other references in the list to device that did not do this and the challenges of making multiple devices work correctly. Perhaps the challenge (to USBxxx.SYS) of dealing with *many* such insertions all at once causes a race not well dealt with. Good Luck, -dave -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni Sent: Thursday, May 14, 2009 12:43 PM To: Windows System Software Devs Interest List Subject: Re: [ntdev] Bugcheck CA on Vista X64 ----- Original Message ----- From: "David R. Cattley" <xxxxx@msn.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Thursday, May 14, 2009 8:56 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 > Gianluca, > > Does your hardware robustly report a unique ID? > Our hardware doesn't have a unique ID, all the devices have the same ID, 12345. Can a device without a unique ID cause such troubles? > I assume you have tried plugging in the hub without any devices and then > one > by one adding in the (three) devices. This crash happened randomly, it's not consistent. I tried plugging the hub and the devices one by one, and nothing bad happened. I tried connecting the hub with the three devices on, and it didn't crash. Have a nice day GV > > -dave > > -----Original Message----- > From: xxxxx@lists.osr.com > [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni > Sent: Thursday, May 14, 2009 11:48 AM > To: Windows System Software Devs Interest List > Subject: [ntdev] Bugcheck CA on Vista X64 > <...excess quoted lines suppressed...> **************************************************************************** > *** > * > * > * Bugcheck Analysis > * > * > * > **************************************************************************** > *** > > PNP_DETECTED_FATAL_ERROR (ca) > PnP encountered a severe error, either as a result of a problem in a > driver > or > a problem in PnP itself. The first argument describes the nature of the > problem, the second argument is the address of the PDO. The other > arguments > vary depending on argument 1. --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 5 of 48  
14 May 09 13:04
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 10004
Bugcheck CA on Vista X64

The usb core does have logic that will fix up busted devices which report t= he same serial number. My guess aligns with David's in that the logic does= not quite work if all the busted devices show up at once under a new hub. Gianluca, the IDs will eventually be fixed right? d -----Original Message----- From: xxxxx@lists.osr.com [mailto:bounce-366208-26293@lists.o= sr.com] On Behalf Of David R. Cattley Sent: Thursday, May 14, 2009 9:48 AM To: Windows System Software Devs Interest List Subject: RE: [ntdev] Bugcheck CA on Vista X64 I am not a USB expert but I think the situation you have is that they all have the same (quite non) unique id. I am guessing that Windows has some counter-measure logic to deal with this but AFAIK 'unique' is supposed to b= e just that so that the USB system can assign a 'port-independent' Instance I= d to the PDO and thus make it possible to plug the device into any port and get the same DevNode (stack) instance identified. There have been other references in the list to device that did not do this and the challenges of making multiple devices work correctly. Perhaps the challenge (to USBxxx.SYS) of dealing with *many* such insertion= s all at once causes a race not well dealt with. Good Luck, -dave -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni Sent: Thursday, May 14, 2009 12:43 PM To: Windows System Software Devs Interest List Subject: Re: [ntdev] Bugcheck CA on Vista X64 ----- Original Message -----=20 From: "David R. Cattley" <xxxxx@msn.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Thursday, May 14, 2009 8:56 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 > Gianluca, > > Does your hardware robustly report a unique ID? > Our hardware doesn't have a unique ID, all the devices have the same ID,=20 12345. Can a device without a unique ID cause such troubles? > I assume you have tried plugging in the hub without any devices and then= =20 > one > by one adding in the (three) devices. This crash happened randomly, it's not consistent. I tried plugging the hub= =20 and the devices one by one, and nothing bad happened. I tried connecting th= e hub with the three devices on, and it didn't crash. Have a nice day GV > > -dave > > -----Original Message----- > From: xxxxx@lists.osr.com > [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni > Sent: Thursday, May 14, 2009 11:48 AM > To: Windows System Software Devs Interest List > Subject: [ntdev] Bugcheck CA on Vista X64 > <...excess quoted lines suppressed...> s > issue? Or it's really a bug in the usbhub bus driver? > > Thanks! > GV > > > > > 3: kd> !analyze -v > ***************************************************************************= * > *** > * > * > * Bugcheck Analysis > * > * > * > ***************************************************************************= * > *** > > PNP_DETECTED_FATAL_ERROR (ca) > PnP encountered a severe error, either as a result of a problem in a=20 > driver > or > a problem in PnP itself. The first argument describes the nature of the > problem, the second argument is the address of the PDO. The other=20 > arguments > vary depending on argument 1. --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit:=20 http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=3DListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit:=20 http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.o= sronline.com/page.cfm?name=3DListServer
  Message 6 of 48  
14 May 09 13:24
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11404
Bugcheck CA on Vista X64

Doron Holan wrote: > The usb core does have logic that will fix up busted devices which report the same serial number. My guess aligns with David's in that the logic does not quite work if all the busted devices show up at once under a new hub. > > Gianluca, the IDs will eventually be fixed right? > In the short term, you can work around this by simply setting the serial number string descriptor number (iSerialNumber in the device descriptor) to 0, which means "I don't have a serial number." -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
  Message 7 of 48  
14 May 09 13:28
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

Well, we do not manufacture the hardware directly, and so far we have never reprogrammed the unique ID. The device is basically a wireless adapter (with a custom non-NDIS driver), and the manufacturer programs each device with a different MAC but leaves the unique ID set to 12345 (because this is probably what the chip manufacturer told them to do in their reference designs). We can definitely reprogram the adapters that we are selling now with the MAC address as the unique ID (it's my understanding that the unique ID is just a string). But we already have literally thousands of customers which have devices all with the same unique ID. Just so that it's clear to me, is it a requirement to a unique ID for every device? I've seen that even big manufacturers ship all their devices with the same unique ID. Can the usbcore distinguish the various devices from their position on the USB bus, exactly like PCI? Have a nice day GV ----- Original Message ----- From: "Doron Holan" <xxxxx@microsoft.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Thursday, May 14, 2009 9:55 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 The usb core does have logic that will fix up busted devices which report the same serial number. My guess aligns with David's in that the logic does not quite work if all the busted devices show up at once under a new hub. Gianluca, the IDs will eventually be fixed right? d -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of David R. Cattley Sent: Thursday, May 14, 2009 9:48 AM To: Windows System Software Devs Interest List Subject: RE: [ntdev] Bugcheck CA on Vista X64 I am not a USB expert but I think the situation you have is that they all have the same (quite non) unique id. I am guessing that Windows has some counter-measure logic to deal with this but AFAIK 'unique' is supposed to be just that so that the USB system can assign a 'port-independent' Instance Id to the PDO and thus make it possible to plug the device into any port and get the same DevNode (stack) instance identified. There have been other references in the list to device that did not do this and the challenges of making multiple devices work correctly. Perhaps the challenge (to USBxxx.SYS) of dealing with *many* such insertions all at once causes a race not well dealt with. Good Luck, -dave -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni Sent: Thursday, May 14, 2009 12:43 PM To: Windows System Software Devs Interest List Subject: Re: [ntdev] Bugcheck CA on Vista X64 ----- Original Message ----- From: "David R. Cattley" <xxxxx@msn.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Thursday, May 14, 2009 8:56 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 > Gianluca, > > Does your hardware robustly report a unique ID? > Our hardware doesn't have a unique ID, all the devices have the same ID, 12345. Can a device without a unique ID cause such troubles? > I assume you have tried plugging in the hub without any devices and then > one > by one adding in the (three) devices. This crash happened randomly, it's not consistent. I tried plugging the hub and the devices one by one, and nothing bad happened. I tried connecting the hub with the three devices on, and it didn't crash. Have a nice day GV > > -dave > > -----Original Message----- > From: xxxxx@lists.osr.com > [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni > Sent: Thursday, May 14, 2009 11:48 AM > To: Windows System Software Devs Interest List > Subject: [ntdev] Bugcheck CA on Vista X64 > <...excess quoted lines suppressed...> **************************************************************************** > *** > * > * > * Bugcheck Analysis > * > * > * > **************************************************************************** > *** > > PNP_DETECTED_FATAL_ERROR (ca) > PnP encountered a severe error, either as a result of a problem in a > driver > or > a problem in PnP itself. The first argument describes the nature of the > problem, the second argument is the address of the PDO. The other > arguments > vary depending on argument 1. --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 8 of 48  
14 May 09 13:34
Thomas Divine
xxxxxx@pcausa.com
Join Date: 05 Aug 2010
Posts To This List: 635
Bugcheck CA on Vista X64

I am not at all surprised at bad behavior when you have multiple USB devices that do not have unique USB serial numbers. I had one customer who wanted a driver that basically worked with 24 USB Ethernet devices connected to a tree of hubs. (Understand that is RARE to find USB Ethernet adapters that have unique USB serial numbers...) Under controlled conditions with orderly insertion of the devices all was well. However, when a new hub with multiple devices was presented to the system chaos often ensues. Having unique USB serial numbers improves the situation, BUT the scheme always had a problem of one sort or another when order of insertion was changed or other USB devices were added to the mix. There were occasional bugchecks in usbhub.sys - even on XP 32 - if you test like a typical end-user. Being a "little guy" with a product of limited distribution (and with XP SP 3 released) there was no practical expectation of fixing this bug. I suggest that 1.) you provide unique USB serial numbers to your devices and 2.) you provide documentation that recommends a systematic order for insertion and removal of your devices. Good luck! (And more luck if you start working with 11 concurrent AirPCaps...) Thomas F. Divine -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of David R. Cattley Sent: Thursday, May 14, 2009 11:56 AM To: Windows System Software Devs Interest List Subject: RE: [ntdev] Bugcheck CA on Vista X64 Gianluca, Does your hardware robustly report a unique ID? I assume you have tried plugging in the hub without any devices and then one by one adding in the (three) devices. -dave -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Gianluca Varenni Sent: Thursday, May 14, 2009 11:48 AM To: Windows System Software Devs Interest List Subject: [ntdev] Bugcheck CA on Vista X64 Hi guys, I just received a crash dump report with one of our USB products, and the bugcheck is 0xCA, PNP_DETECTED_FATAL_ERROR. "The PNP_DETECTED_FATAL_ERROR bug check has a value of 0x000000CA. This indicates that the Plug and Play Manager encountered a severe error, probably as a result of a problematic Plug and Play driver." The crash happened while connecting a USB hub to the PC and the USB hub had three of our devices connected to the hub itself. Below is the output of "analyze -v", which seems to point the finger to usbhub.sys, which enumerates the USB devices. Can my USB driver cause this issue? Or it's really a bug in the usbhub bus driver? Thanks! GV 3: kd> !analyze -v **************************************************************************** *** * * * Bugcheck Analysis * * * **************************************************************************** *** PNP_DETECTED_FATAL_ERROR (ca) PnP encountered a severe error, either as a result of a problem in a driver or a problem in PnP itself. The first argument describes the nature of the problem, the second argument is the address of the PDO. The other arguments vary depending on argument 1. Arguments: Arg1: 0000000000000001, Duplicate PDO A specific instance of a driver has enumerated multiple PDOs with identical device id and unique ids. Arg2: fffffa8008037060, Newly reported PDO. Arg3: fffffa80095214a0, PDO of which it is a duplicate. Arg4: 0000000000000000 Debugging Details: ------------------ BUGCHECK_STR: 0xCA_1 DEVICE_OBJECT: fffffa8008037060 DRIVER_OBJECT: fffffa8006feb8c0 IMAGE_NAME: usbhub.sys DEBUG_FLR_IMAGE_TIMESTAMP: 479199e5 MODULE_NAME: usbhub FAULTING_MODULE: fffffa6003a0c000 usbhub DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT PROCESS_NAME: System CURRENT_IRQL: 0 LOCK_ADDRESS: fffff80002446c20 -- (!locks fffff80002446c20) Resource @ nt!PiEngineLock (0xfffff80002446c20) Exclusively owned Contention Count = 44 NumberOfExclusiveWaiters = 1 Threads: fffffa80039adbb0-01<*> Threads Waiting On Exclusive Access: fffffa80039ae720 1 total locks, 1 locks currently held PNP_TRIAGE: Lock address : 0xfffff80002446c20 Thread Count : 1 Thread address: 0xfffffa80039adbb0 Thread wait : 0xf0ad1b LAST_CONTROL_TRANSFER: from fffff8000267d058 to fffff8000229f650 STACK_TEXT: fffffa60`01bd4848 fffff800`0267d058 : 00000000`000000ca 00000000`00000001 fffffa80`08037060 fffffa80`095214a0 : nt!KeBugCheckEx fffffa60`01bd4850 fffff800`0268130e : fffffa80`041d2010 fffffa80`00000002 00000000`00000000 00000000`00000000 : nt!PiProcessNewDeviceNode+0x588 fffffa60`01bd49c0 fffff800`026817ea : fffffa80`0a436210 fffffa80`039adbb0 fffffa60`019d5cc0 00000000`00000000 : nt!PipProcessDevNodeTree+0x2de fffffa60`01bd4c30 fffff800`02378bad : fffff801`00000003 fffffa80`04711b80 00000000`00000000 00000000`32706e50 : nt!PiProcessReenumeration+0x8a fffffa60`01bd4c80 fffff800`022ac366 : fffff800`02378980 fffff800`023dd801 fffff800`023dd8f8 00000000`00000001 : nt!PnpDeviceActionWorker+0x22d fffffa60`01bd4cf0 fffff800`024c3fd3 : fffff800`024445a0 37363534`33323130 fffffa80`039adbb0 00000000`00000080 : nt!ExpWorkerThread+0x11a fffffa60`01bd4d50 fffff800`022d9816 : fffffa60`019d2180 fffffa80`039adbb0 fffffa60`019dbd40 00000000`00000001 : nt!PspSystemThreadStartup+0x57 fffffa60`01bd4d80 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x16 STACK_COMMAND: kb FOLLOWUP_NAME: MachineOwner FAILURE_BUCKET_ID: X64_0xCA_1_IMAGE_usbhub.sys BUCKET_ID: X64_0xCA_1_IMAGE_usbhub.sys Followup: MachineOwner --------- --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 9 of 48  
14 May 09 13:38
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

----- Original Message ----- From: "Thomas F. Divine" <xxxxx@pcausa.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Thursday, May 14, 2009 10:33 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 >I am not at all surprised at bad behavior when you have multiple USB >devices > that do not have unique USB serial numbers. > > I had one customer who wanted a driver that basically worked with 24 USB > Ethernet devices connected to a tree of hubs. (Understand that is RARE to > find USB Ethernet adapters that have unique USB serial numbers...) > > Under controlled conditions with orderly insertion of the devices all was <...excess quoted lines suppressed...> Are you? I think I maxed out to 8 AirPcap adapters... Have a nice day GV > > Thomas F. Divine > > > -----Original Message----- > From: xxxxx@lists.osr.com > [mailto:xxxxx@lists.osr.com] On Behalf Of David R. Cattley > Sent: Thursday, May 14, 2009 11:56 AM > To: Windows System Software Devs Interest List > Subject: RE: [ntdev] Bugcheck CA on Vista X64
  Message 10 of 48  
14 May 09 13:44
Mike Kemp
xxxxxx@sintefex.com
Join Date: 30 May 2006
Posts To This List: 273
Bugcheck CA on Vista X64

FWIW my understanding is that unique serial numbers are optional for USB devices. If you don't have one, you must not define a serial number string in the device descriptor. If you define a serial number string, they must be unique. I am pretty sure this is understood by Windows. I hope my recollection is correct!!! M >>>>>> ----- Original Message ----- From: Gianluca Varenni To: Windows System Software Devs Interest List Sent: Thursday, May 14, 2009 6:27 PM Subject: Re: [ntdev] Bugcheck CA on Vista X64 Well, we do not manufacture the hardware directly, and so far we have never reprogrammed the unique ID. The device is basically a wireless adapter (with a custom non-NDIS driver), and the manufacturer programs each device with a different MAC but leaves the unique ID set to 12345 (because this is probably what the chip manufacturer told them to do in their reference designs). We can definitely reprogram the adapters that we are selling now with the MAC address as the unique ID (it's my understanding that the unique ID is just a string). But we already have literally thousands of customers which have devices all with the same unique ID. Just so that it's clear to me, is it a requirement to a unique ID for every device? I've seen that even big manufacturers ship all their devices with the same unique ID. Can the usbcore distinguish the various devices from their position on the USB bus, exactly like PCI? Have a nice day GV
  Message 11 of 48  
14 May 09 13:51
Michal Vodicka
xxxxxx@upek.com
Join Date: 02 Apr 2004
Posts To This List: 1612
Bugcheck CA on Vista X64

> -----Original Message----- > From: xxxxx@lists.osr.com=20 > [mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp > Sent: Thursday, May 14, 2009 7:44 PM > To: Windows System Software Devs Interest List > Subject: Re: [ntdev] Bugcheck CA on Vista X64 >=20 > FWIW my understanding is that unique serial numbers are=20 > optional for USB=20 > devices. If you don't have one, you must not define a serial=20 <...excess quoted lines suppressed...> My understanding is the same but unfortunately, I haven't found anything like this in the USB specification. Anyway, non-unique serial number just doesn't make sense. Ah, these hw manufacturers... ;-) Best regards, Michal Vodicka UPEK, Inc. [xxxxx@upek.com, http://www.upek.com]=20
  Message 12 of 48  
14 May 09 13:53
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

----- Original Message ----- From: "Michal Vodicka" <xxxxx@upek.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Thursday, May 14, 2009 10:50 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 > -----Original Message----- > From: xxxxx@lists.osr.com > [mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp > Sent: Thursday, May 14, 2009 7:44 PM > To: Windows System Software Devs Interest List > Subject: Re: [ntdev] Bugcheck CA on Vista X64 > > FWIW my understanding is that unique serial numbers are > optional for USB <...excess quoted lines suppressed...> My understanding is the same but unfortunately, I haven't found anything like this in the USB specification. Anyway, non-unique serial number just doesn't make sense. Ah, these hw manufacturers... ;-) --GV-- And shame on me, I didn't know about this serial number thingie when I first started working on USB... GV
  Message 13 of 48  
14 May 09 13:53
Thomas Divine
xxxxxx@pcausa.com
Join Date: 05 Aug 2010
Posts To This List: 635
Bugcheck CA on Vista X64

If you never expect multiple of your devices to be installed on a PC, then your assumption is correct. It will probably "survive" using this approach if two such devices are installed. Much more than that - I would expect some issues under some insertion scenarios. I don't have a solution to this problem - just observations that it really sucks when lots of USB devices without unique USB serial numbers are inserted. True in XP and Vista. Thomas -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp Sent: Thursday, May 14, 2009 1:44 PM To: Windows System Software Devs Interest List Subject: Re: [ntdev] Bugcheck CA on Vista X64 FWIW my understanding is that unique serial numbers are optional for USB devices. If you don't have one, you must not define a serial number string in the device descriptor. If you define a serial number string, they must be unique. I am pretty sure this is understood by Windows. I hope my recollection is correct!!! M >>>>>> ----- Original Message ----- From: Gianluca Varenni To: Windows System Software Devs Interest List Sent: Thursday, May 14, 2009 6:27 PM Subject: Re: [ntdev] Bugcheck CA on Vista X64 Well, we do not manufacture the hardware directly, and so far we have never reprogrammed the unique ID. The device is basically a wireless adapter (with a custom non-NDIS driver), and the manufacturer programs each device with a different MAC but leaves the unique ID set to 12345 (because this is probably what the chip manufacturer told them to do in their reference designs). We can definitely reprogram the adapters that we are selling now with the MAC address as the unique ID (it's my understanding that the unique ID is just a string). But we already have literally thousands of customers which have devices all with the same unique ID. Just so that it's clear to me, is it a requirement to a unique ID for every device? I've seen that even big manufacturers ship all their devices with the same unique ID. Can the usbcore distinguish the various devices from their position on the USB bus, exactly like PCI? Have a nice day GV --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 14 of 48  
14 May 09 13:55
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 10004
Bugcheck CA on Vista X64

That is correct. Serial numbers are optional. If you opt in they must be un= ique for all instances of that product. d Sent from my phone with no t9, all spilling mistakes are not intentional. -----Original Message----- From: Mike Kemp <xxxxx@sintefex.com> Sent: Thursday, May 14, 2009 10:45 AM To: Windows System Software Devs Interest List <xxxxx@lists.osr.com> Subject: Re: [ntdev] Bugcheck CA on Vista X64 FWIW my understanding is that unique serial numbers are optional for USB devices. If you don't have one, you must not define a serial number string in the device descriptor. If you define a serial number string, they must b= e unique. I am pretty sure this is understood by Windows. I hope my recollection is correct!!! M >>>>>> ----- Original Message ----- From: Gianluca Varenni To: Windows System Software Devs Interest List Sent: Thursday, May 14, 2009 6:27 PM Subject: Re: [ntdev] Bugcheck CA on Vista X64 Well, we do not manufacture the hardware directly, and so far we have never reprogrammed the unique ID. The device is basically a wireless adapter (wit= h a custom non-NDIS driver), and the manufacturer programs each device with a different MAC but leaves the unique ID set to 12345 (because this is probably what the chip manufacturer told them to do in their reference designs). We can definitely reprogram the adapters that we are selling now with the MAC address as the unique ID (it's my understanding that the unique ID is just a string). But we already have literally thousands of customers which have devices all with the same unique ID. Just so that it's clear to me, is it a requirement to a unique ID for every device? I've seen that even big manufacturers ship all their devices with the same unique ID. Can the usbcore distinguish the various devices from their position on the USB bus, exactly like PCI? Have a nice day GV --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.o= sronline.com/page.cfm?name=3DListServer
  Message 15 of 48  
14 May 09 14:07
Michal Vodicka
xxxxxx@upek.com
Join Date: 02 Apr 2004
Posts To This List: 1612
Bugcheck CA on Vista X64

> -----Original Message----- > From: xxxxx@lists.osr.com=20 > [mailto:xxxxx@lists.osr.com] On Behalf Of=20 > Gianluca Varenni > Sent: Thursday, May 14, 2009 7:53 PM > To: Windows System Software Devs Interest List > Subject: Re: [ntdev] Bugcheck CA on Vista X64 > > And shame on me, I didn't know about this serial number=20 > thingie when I first=20 <...excess quoted lines suppressed...> Neither did I but fortunately our hw department didn't have an idea to add serial number to our devices this time ;-) Wasn't it better when two devices with the same serial number caused immediate BSOD when connected at one? Best regards, Michal Vodicka UPEK, Inc. [xxxxx@upek.com, http://www.upek.com]=20
  Message 16 of 48  
14 May 09 14:20
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11404
Bugcheck CA on Vista X64

Gianluca Varenni wrote: > Well, we do not manufacture the hardware directly, and so far we have > never reprogrammed the unique ID. The device is basically a wireless > adapter (with a custom non-NDIS driver), and the manufacturer programs > each device with a different MAC but leaves the unique ID set to 12345 > (because this is probably what the chip manufacturer told them to do > in their reference designs). > We can definitely reprogram the adapters that we are selling now with > the MAC address as the unique ID (it's my understanding that the > unique ID is just a string). Correct. It's a Unicode string, but the serial number has a limited alphabet, basically 0-9 and A-Z. > But we already have literally thousands of customers which have > devices all with the same unique ID. > > Just so that it's clear to me, is it a requirement to a unique ID for > every device? Yes it is. What you're talking about is a violation of the USB specification. If you don't have a copy of the USB specification, I recommend you download one from www.usb.org. In my opinion, it's quite readable. The most applicable sections for driver developers are chapters 5 and 9. However, I've been drilling into the USB 2.0 spec over the last 10 minutes, and so far I haven't found the "must be unique" requirement. Jan Axelson's book says that a VID, PID and SN combo must be unique, and that certainly matches my understanding, but I can't find it in the spec. It's certainly not supported in Windows. Windows uses the VID/PID/SN combo to uniquely identify a single device. In the absence of a SN, it uses VID/PID/hub slot number. > I've seen that even big manufacturers ship all their devices with the > same unique ID. Can you name one? We can make fun of them. > Can the usbcore distinguish the various devices from their position on > the USB bus, exactly like PCI? Yes, but it only does so if the device has no serial number. -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
  Message 17 of 48  
15 May 09 01:03
ntdev member 33394
xxxxxx@kroah.com
Join Date:
Posts To This List: 7
Bugcheck CA on Vista X64

On Thu, May 14, 2009 at 11:19:33AM -0700, Tim Roberts wrote: > > But we already have literally thousands of customers which have > > devices all with the same unique ID. > > > > Just so that it's clear to me, is it a requirement to a unique ID for > > every device? > > Yes it is. What you're talking about is a violation of the USB > specification. If you don't have a copy of the USB specification, I > recommend you download one from www.usb.org. In my opinion, it's quite > readable. The most applicable sections for driver developers are <...excess quoted lines suppressed...> No, it is not part of the spec for most devices. You are allowed to have a serial number that is not unique for almost all types of devices, except a few. USB printers is one where the class spec requires a unique serial number (that is what the OS uses to determine which printer is which.) So while it is desirable, it is not required. Hope this helps, greg k-h
  Message 18 of 48  
15 May 09 04:18
Mike Kemp
xxxxxx@sintefex.com
Join Date: 30 May 2006
Posts To This List: 273
Bugcheck CA on Vista X64

Hi, this thread made me check the USB spec and with a bit of googling I think I confirmed what I thought: http://msdn.microsoft.com/en-us/library/dd450465.aspx "Universal Serial Bus (USB) device serial numbers are optional, but if they are implemented, they are required to be unique." As far as I can tell the USB spec is silent on the issue. And why not, after all as far as USB is concerned every device is uniquely identified by its address assigned when it is connected. If the host wants to get confused by identical devices on different ports it is at liberty to do so, but it would be a bad host. If the functionality of the device is such that the user might care which device is which, e.g, if it is a device to which the user might connect something, or view something, or control something, or save something, it had better have something unique so the OS or application can manage assigning the same service to the same device each time the bus is re-configured. You can also think of devices where uniqueness is unnecessary, for example if the device adds some processing power for an application. You could add more and more devices to add more and more processing power and never care which device was doing what. M. >>>>>>>>>quote: > Just so that it's clear to me, is it a requirement to a unique ID for > every device? Yes it is. What you're talking about is a violation of the USB specification. If you don't have a copy of the USB specification, I recommend you download one from www.usb.org. In my opinion, it's quite readable. The most applicable sections for driver developers are chapters 5 and 9. <<<<<<<<<<
  Message 19 of 48  
15 May 09 12:25
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

Just to sum things up, 1. the USB 2.0 specification does not say that the serial numbers must be unique (at least I haven't found any reference to it) but 2. the Windows USB core stack requires that the serial number, if present, is unique. If not, the USB stack tries to do its best to deal with devices with the same serial, but sometimes it fails. This is enforced by DTM with this test http://msdn.microsoft.com/en-us/library/dd450465.aspx Right? GV ----- Original Message ----- From: "Mike Kemp" <xxxxx@sintefex.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Friday, May 15, 2009 1:17 AM Subject: Re: [ntdev] Bugcheck CA on Vista X64 > Hi, this thread made me check the USB spec and with a bit of googling I > think I confirmed what I thought: > > http://msdn.microsoft.com/en-us/library/dd450465.aspx > "Universal Serial Bus (USB) device serial numbers are optional, but if > they are implemented, they are required to be unique." > > As far as I can tell the USB spec is silent on the issue. And why not, > after all as far as USB is concerned every device is uniquely identified <...excess quoted lines suppressed...>
  Message 20 of 48  
15 May 09 12:58
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11404
Bugcheck CA on Vista X64

Mike Kemp wrote: > Hi, this thread made me check the USB spec and with a bit of googling > I think I confirmed what I thought: > > http://msdn.microsoft.com/en-us/library/dd450465.aspx > "Universal Serial Bus (USB) device serial numbers are optional, but if > they are implemented, they are required to be unique." Yes, but this is not the USB spec. This is just Microsoft documenting the restrictions of it's own implementation. > As far as I can tell the USB spec is silent on the issue. And why not, > after all as far as USB is concerned every device is uniquely > identified by its address assigned when it is connected. USB defines a lot more than just electrical connectivity. It also defines behavior, and the class specs do so to a much greater extent. It would have been perfectly natural for a serial number restriction to be in the spec. The fact that it's not in there, when I was so confident that it was, has left me somewhat disturbed. -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
  Message 21 of 48  
15 May 09 13:40
Michal Vodicka
xxxxxx@upek.com
Join Date: 02 Apr 2004
Posts To This List: 1612
Bugcheck CA on Vista X64

> -----Original Message----- > From: xxxxx@lists.osr.com=20 > [mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts > Sent: Friday, May 15, 2009 6:58 PM > To: Windows System Software Devs Interest List > Subject: Re: [ntdev] Bugcheck CA on Vista X64 >=20 > USB defines a lot more than just electrical connectivity. It also > defines behavior, and the class specs do so to a much greater extent.=20 > It would have been perfectly natural for a serial number=20 <...excess quoted lines suppressed...> I have the same feeling. Maybe it was so obvious requirement that nobody had a need to write it there. Too bad, nothings is really obvious for hw developers... ;-) Best regards, Michal Vodicka UPEK, Inc. [xxxxx@upek.com, http://www.upek.com]=20
  Message 22 of 48  
15 May 09 17:07
ntdev member 33394
xxxxxx@kroah.com
Join Date:
Posts To This List: 7
Bugcheck CA on Vista X64

On Fri, May 15, 2009 at 09:57:46AM -0700, Tim Roberts wrote: > USB defines a lot more than just electrical connectivity. It also > defines behavior, and the class specs do so to a much greater extent. > It would have been perfectly natural for a serial number restriction to > be in the spec. The fact that it's not in there, when I was so > confident that it was, has left me somewhat disturbed. It's in some of the class USB specs (like USB printing), so you shouldn't be so disturbed :) thanks, greg k-h
  Message 23 of 48  
16 May 09 15:45
Maxim S. Shatskih
xxxxxx@storagecraft.com
Join Date: 20 Feb 2003
Posts To This List: 10394
Bugcheck CA on Vista X64

> Our hardware doesn't have a unique ID, all the devices have the same = ID,=20 > 12345. Can a device without a unique ID cause such troubles? Yes. Just do not claim the support for unique ID if the ID is not actually = unique. --=20 Maxim S. Shatskih Windows DDK MVP xxxxx@storagecraft.com http://www.storagecraft.com
  Message 24 of 48  
18 May 09 04:37
Mike Kemp
xxxxxx@sintefex.com
Join Date: 30 May 2006
Posts To This List: 273
Bugcheck CA on Vista X64

Hi, I discovered the problem when designing a USB device recently that is a vendor unique (i.e. not in a known class). Reading the USB spec I returned a serial number because it looked like you had to, but was nervous as I did not intend the product to be uniquely serialised. Looking into it more I realised it was an optional string, and also discovered the MS restriction, so removed it. Now I understand that it is a clear (hardware) design decision: if it will matter to a user which of several identical devices is which, it needs a serial number. If not, it doesn't. A bad design would be having the same serial number for several identical devices, and we see that MS does not support that. Maybe the USB spec writers could have been clearer, but in fact the term "serial number" implies uniqueness, for example the Cambridge online dictionary says "serial number noun [C]: one of a set of numbers that is put on items produced in large quantities, such as computers, televisions, paper money, etc. so that each has a different number and can be recognized" M > >>>>> > USB defines a lot more than just electrical connectivity. It also > defines behavior, and the class specs do so to a much greater extent. > It would have been perfectly natural for a serial number > restriction to > be in the spec. The fact that it's not in there, when I was so > confident that it was, has left me somewhat disturbed. I have the same feeling. Maybe it was so obvious requirement that nobody had a need to write it there. Too bad, nothings is really obvious for hw developers... ;-) <<<<<<<
  Message 25 of 48  
20 May 09 11:01
Chris Aseltine
xxxxxx@gmail.com
Join Date: 23 Sep 2006
Posts To This List: 1219
Bugcheck CA on Vista X64

Mike Kemp wrote: > If not, it doesn't. A bad design would be having the same serial > number for several identical devices, and we see that MS does > not support that. My guess is that the OEMs got tired of people complaining that they needed to "reinstall drivers" as they moved their device from port to port, so they slapped a (non unique) serial number on the device. Now, MS is compounding the problem by (according to Doron) ignoring this 'mistake' 99% of the time and (according to Gianluca) blue screening 1% of the time. I think all devices with conflicting VID/PID/serial numbers on a system should immediately bang out...
  Message 26 of 48  
20 May 09 11:44
Thomas Divine
xxxxxx@pcausa.com
Join Date: 05 Aug 2010
Posts To This List: 635
Bugcheck CA on Vista X64

I agree with you 100%. The bad behavior is motivated by cost. This is the cost of applying unique serial numbers plus the cost of production testing. With regard to the latter it seems that test rigs are (apparently) much simpler if testing is on a device with no serial number or with all devices having the same serial number. Thomas -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com Sent: Wednesday, May 20, 2009 11:01 AM To: Windows System Software Devs Interest List Subject: RE:[ntdev] Bugcheck CA on Vista X64 Mike Kemp wrote: > If not, it doesn't. A bad design would be having the same serial > number for several identical devices, and we see that MS does > not support that. My guess is that the OEMs got tired of people complaining that they needed to "reinstall drivers" as they moved their device from port to port, so they slapped a (non unique) serial number on the device. Now, MS is compounding the problem by (according to Doron) ignoring this 'mistake' 99% of the time and (according to Gianluca) blue screening 1% of the time. I think all devices with conflicting VID/PID/serial numbers on a system should immediately bang out... --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 27 of 48  
20 May 09 11:56
Mike Kemp
xxxxxx@sintefex.com
Join Date: 30 May 2006
Posts To This List: 273
Bugcheck CA on Vista X64

Devices that have no serial number by design because there is no user requirement to distinguish them are quite acceptable IMO. Why would requiring a serial number be worth a penny and make any sense if there is no benefit? Luckily that is the way it works at the moment. I agree that multiple devices with the "same" serial number violate both the definition of "serial number" and are likely to break something, so would benefit from a warning to the user (after all, we all enjoy those messages from nanny!). M >>>> ----- Original Message ----- From: Thomas F. Divine To: Windows System Software Devs Interest List Sent: Wednesday, May 20, 2009 4:43 PM Subject: RE: [ntdev] Bugcheck CA on Vista X64 I agree with you 100%. The bad behavior is motivated by cost. This is the cost of applying unique serial numbers plus the cost of production testing. With regard to the latter it seems that test rigs are (apparently) much simpler if testing is on a device with no serial number or with all devices having the same serial number. Thomas -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com Sent: Wednesday, May 20, 2009 11:01 AM To: Windows System Software Devs Interest List Subject: RE:[ntdev] Bugcheck CA on Vista X64 Mike Kemp wrote: > If not, it doesn't. A bad design would be having the same serial > number for several identical devices, and we see that MS does > not support that. My guess is that the OEMs got tired of people complaining that they needed to "reinstall drivers" as they moved their device from port to port, so they slapped a (non unique) serial number on the device. Now, MS is compounding the problem by (according to Doron) ignoring this 'mistake' 99% of the time and (according to Gianluca) blue screening 1% of the time. I think all devices with conflicting VID/PID/serial numbers on a system should immediately bang out... ---
  Message 28 of 48  
20 May 09 12:59
David R. Cattley
xxxxxx@msn.com
Join Date: 09 Jul 2002
Posts To This List: 2103
Bugcheck CA on Vista X64

In the case of mass-market WiFi USB adapters, the vendors have struck on a 'solution' which reduces their support burden for the 99% case - one WiFi dongle per system. By making them all have the same serial number, the unit now behaves in a way that the typical customer expects - as a field replaceable unit. Dongle #1 breaks, is eaten by the dog, stolen, miss-placed, whatever. IT sends you another one or you go to Best Buy and fork out a another $50 - whatever. Since you bought the same thing you had last time, you just plug it in and you are off and running. No drivers, no reconfiguration, etc. To the WiFi adapter vendors, IT managers, and most end-users (except for Thomas, Gianluca, and me that is) the story is correct. Now Windows deals with Thomas, Gianluca and me by detecting the 'collision' on serial number and naming one of the devices based on insertion port. And possibly it (Windows) has a race condition with a bug. And we are all big-boys whom while annoyed with the fact we cannot plug 100 WiFi dongles in at once and have Windows deal with it, we will likely not influence any USB vendors to weigh our desires as more important than the 99% whom could complain if it were any other way. The end-user experience is actually spot-on in this case. I suspect that someone thought that through pretty carefully and leveraged the behavior just for this point. Cheers, Dave Cattley -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp Sent: Wednesday, May 20, 2009 11:55 AM To: Windows System Software Devs Interest List Subject: Re: [ntdev] Bugcheck CA on Vista X64 Devices that have no serial number by design because there is no user requirement to distinguish them are quite acceptable IMO. Why would requiring a serial number be worth a penny and make any sense if there is no benefit? Luckily that is the way it works at the moment. I agree that multiple devices with the "same" serial number violate both the definition of "serial number" and are likely to break something, so would benefit from a warning to the user (after all, we all enjoy those messages from nanny!). M >>>> ----- Original Message ----- From: Thomas F. Divine To: Windows System Software Devs Interest List Sent: Wednesday, May 20, 2009 4:43 PM Subject: RE: [ntdev] Bugcheck CA on Vista X64 I agree with you 100%. The bad behavior is motivated by cost. This is the cost of applying unique serial numbers plus the cost of production testing. With regard to the latter it seems that test rigs are (apparently) much simpler if testing is on a device with no serial number or with all devices having the same serial number. Thomas -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com Sent: Wednesday, May 20, 2009 11:01 AM To: Windows System Software Devs Interest List Subject: RE:[ntdev] Bugcheck CA on Vista X64 Mike Kemp wrote: > If not, it doesn't. A bad design would be having the same serial > number for several identical devices, and we see that MS does > not support that. My guess is that the OEMs got tired of people complaining that they needed to "reinstall drivers" as they moved their device from port to port, so they slapped a (non unique) serial number on the device. Now, MS is compounding the problem by (according to Doron) ignoring this 'mistake' 99% of the time and (according to Gianluca) blue screening 1% of the time. I think all devices with conflicting VID/PID/serial numbers on a system should immediately bang out... --- --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 29 of 48  
20 May 09 13:11
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

----- Original Message ----- From: <xxxxx@gmail.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Wednesday, May 20, 2009 8:00 AM Subject: RE:[ntdev] Bugcheck CA on Vista X64 > Mike Kemp wrote: > >> If not, it doesn't. A bad design would be having the same serial >> number for several identical devices, and we see that MS does >> not support that. > > My guess is that the OEMs got tired of people complaining that they needed > to "reinstall drivers" as they moved their device from port to port, so > they slapped a (non unique) serial number on the device. <...excess quoted lines suppressed...> True, if the driver is not signed. If the driver is signed, this problem should not be there as far as I know. > Now, MS is compounding the problem by (according to Doron) ignoring this > 'mistake' 99% of the time and (according to Gianluca) blue screening 1% of > the time. > Well, 1% is pretty high. I basically had one blue screen report about that. Guess what? the machine crashing was the one of my boss... > I think all devices with conflicting VID/PID/serial numbers on a system > should immediately bang out... This is exactly the point. If non-unique serial numbers are allowed by the spec but not by Windows, Windows should crash on it (or refuse to load any driver for the device). It looks like the new WLK (1.4 I think) has a specific test for it even in the unclassified signature, but that was not available in WLK 1.2 (the one I used last time I certified my driver). Oh well... we have started putting unique serials on our devices, even if we do not actually need the serial number (there is no way in our hardware to disable the unique serial number). Thanks everyone for the help GV > > --- > NTDEV is sponsored by OSR > > For our schedule of WDF, WDM, debugging and other seminars visit: > http://www.osr.com/seminars > > To unsubscribe, visit the List Server section of OSR Online at > http://www.osronline.com/page.cfm?name=ListServer
  Message 30 of 48  
20 May 09 13:13
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

I think it's mainly related to testing. In the case of USB wireless adapters (i.e. the devices i work on), the serial number is saved in the EEPROM, and the EEPROM contains the MAC address of the device itself. Writing one unique id or two unique ids on the EEPROM has the same cost from the production point of view. GV ----- Original Message ----- From: "Thomas F. Divine" <xxxxx@pcausa.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Wednesday, May 20, 2009 8:43 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 >I agree with you 100%. > > The bad behavior is motivated by cost. This is the cost of applying unique > serial numbers plus the cost of production testing. With regard to the > latter it seems that test rigs are (apparently) much simpler if testing is > on a device with no serial number or with all devices having the same > serial > number. > <...excess quoted lines suppressed...>
  Message 31 of 48  
20 May 09 13:38
Maxim S. Shatskih
xxxxxx@storagecraft.com
Join Date: 20 Feb 2003
Posts To This List: 10394
Bugcheck CA on Vista X64

> Devices that have no serial number by design because there is no user > requirement to distinguish them are quite acceptable IMO. My wife has an old Pentium-III laptop with USB Wi-Fi adapter. To install this adapter to her laptop, I need to _plug it to all USB = ports present on it_ and set up the network (WEP keys) on each plug. If it would have the serial number - then no such pain. --=20 Maxim S. Shatskih Windows DDK MVP xxxxx@storagecraft.com http://www.storagecraft.com
  Message 32 of 48  
20 May 09 13:39
Maxim S. Shatskih
xxxxxx@storagecraft.com
Join Date: 20 Feb 2003
Posts To This List: 10394
Bugcheck CA on Vista X64

> #1 breaks, is eaten by the dog, stolen, miss-placed, whatever. IT = sends you > another one or you go to Best Buy and fork out a another $50 - = whatever. In real life, you will barely manage to buy _exactly the same_ device. --=20 Maxim S. Shatskih Windows DDK MVP xxxxx@storagecraft.com http://www.storagecraft.com
  Message 33 of 48  
20 May 09 13:40
Maxim S. Shatskih
xxxxxx@storagecraft.com
Join Date: 20 Feb 2003
Posts To This List: 10394
Bugcheck CA on Vista X64

> serial number is saved in the EEPROM, and the EEPROM contains the MAC=20 > address of the device itself. Correct, and the serial number can be trivially derived from the MAC by = the firmware. --=20 Maxim S. Shatskih Windows DDK MVP xxxxx@storagecraft.com http://www.storagecraft.com
  Message 34 of 48  
20 May 09 13:42
Mike Kemp
xxxxxx@sintefex.com
Join Date: 30 May 2006
Posts To This List: 273
Bugcheck CA on Vista X64

Hi David: So you are saying the business model below would not work if there were simply no serial number in the device? In other words there is a downside to having no serial number under Windows? I'd appreciate knowing this as it feeds into the design decision. In other words, what was the reason for deciding to use an identical "serial number" on all units instead of simply no serial number. Thanks, Mike... (PS I have a USB WiFi adapter and a dog. What is the risk if device is eaten? Would there be a problem if he ate two with the same serial number?) >>>>>>>>>>>>>>>>>>>> ----- Original Message ----- From: David R. Cattley To: Windows System Software Devs Interest List Sent: Wednesday, May 20, 2009 5:59 PM Subject: RE: [ntdev] Bugcheck CA on Vista X64 In the case of mass-market WiFi USB adapters, the vendors have struck on a 'solution' which reduces their support burden for the 99% case - one WiFi dongle per system. By making them all have the same serial number, the unit now behaves in a way that the typical customer expects - as a field replaceable unit. Dongle #1 breaks, is eaten by the dog, stolen, miss-placed, whatever. IT sends you another one or you go to Best Buy and fork out a another $50 - whatever. Since you bought the same thing you had last time, you just plug it in and you are off and running. No drivers, no reconfiguration, etc. To the WiFi adapter vendors, IT managers, and most end-users (except for Thomas, Gianluca, and me that is) the story is correct. Now Windows deals with Thomas, Gianluca and me by detecting the 'collision' on serial number and naming one of the devices based on insertion port. And possibly it (Windows) has a race condition with a bug. And we are all big-boys whom while annoyed with the fact we cannot plug 100 WiFi dongles in at once and have Windows deal with it, we will likely not influence any USB vendors to weigh our desires as more important than the 99% whom could complain if it were any other way. The end-user experience is actually spot-on in this case. I suspect that someone thought that through pretty carefully and leveraged the behavior just for this point. Cheers, Dave Cattley
  Message 35 of 48  
20 May 09 13:48
Mike Kemp
xxxxxx@sintefex.com
Join Date: 30 May 2006
Posts To This List: 273
Bugcheck CA on Vista X64

Okay, I think this sets it out: No serial number: device has to be reinstalled for every USB port on the system, and presumably every time a different hub is used. Serial number: after a single install, it works on any port on the system. Serial number same on all units: may crash Windows if two plugged in, so must never use more than one on a system. Serial numbers different: User has to reinstall each time a different s/n device is attached. Cost increase in mfr. Hmm, no obvious best solution then Mike >>>>>>>>>>>>>>>> ----- Original Message ----- From: Maxim S. Shatskih Newsgroups: ntdev To: Windows System Software Devs Interest List Sent: Wednesday, May 20, 2009 6:37 PM Subject: Re:[ntdev] Bugcheck CA on Vista X64 > Devices that have no serial number by design because there is no user > requirement to distinguish them are quite acceptable IMO. My wife has an old Pentium-III laptop with USB Wi-Fi adapter. To install this adapter to her laptop, I need to _plug it to all USB ports present on it_ and set up the network (WEP keys) on each plug. If it would have the serial number - then no such pain. -- Maxim S. Shatskih Windows DDK MVP xxxxx@storagecraft.com http://www.storagecraft.com --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 36 of 48  
20 May 09 14:00
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

That's exactly what we are starting doing for our devices. The serial is the MAC address in the form "112233445566". GV ----- Original Message ----- From: "Maxim S. Shatskih" <xxxxx@storagecraft.com> Newsgroups: ntdev To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Wednesday, May 20, 2009 10:40 AM Subject: Re:[ntdev] Bugcheck CA on Vista X64 > serial number is saved in the EEPROM, and the EEPROM contains the MAC > address of the device itself. Correct, and the serial number can be trivially derived from the MAC by the firmware. -- Maxim S. Shatskih Windows DDK MVP xxxxx@storagecraft.com http://www.storagecraft.com --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 37 of 48  
20 May 09 14:02
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

----- Original Message ----- From: "Mike Kemp" <xxxxx@sintefex.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Wednesday, May 20, 2009 10:47 AM Subject: Re: Re:[ntdev] Bugcheck CA on Vista X64 > Okay, I think this sets it out: > > No serial number: device has to be reinstalled for every USB port on the > system, and presumably every time a different hub is used. > > Serial number: after a single install, it works on any port on the system. > > Serial number same on all units: may crash Windows if two plugged in, so > must never use more than one on a system. <...excess quoted lines suppressed...> If the driver is signed the OS will reinstall the driver automatically, but in the case of a wifi adapter it will probably show up as a different network connection every time. GV > Hmm, no obvious best solution then > > Mike > >>>>>>>>>>>>>>>>> > > ----- Original Message ----- > From: Maxim S. Shatskih > Newsgroups: ntdev
  Message 38 of 48  
20 May 09 14:11
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11404
Bugcheck CA on Vista X64

Mike Kemp wrote: > Hi David: So you are saying the business model below would not work if > there were simply no serial number in the device? In other words there > is a downside to having no serial number under Windows? I'd appreciate > knowing this as it feeds into the design decision. In other words, > what was the reason for deciding to use an identical "serial number" > on all units instead of simply no serial number. This discussion is taking a nasty turn. The fact is, current practice be damned, you are not supposed to have multiple USB devices with the same VID, PID, and serial number. Some of the device classes flat-out prohibit it, but more importantly, Windows is known to blue screen in some circumstances. Please do not go looking for justification here. > (PS I have a USB WiFi adapter and a dog. What is the risk if device is > eaten? Would there be a problem if he ate two with the same serial > number?) Have you ever seen a dog do a memory dump after a bugcheck? It isn't pretty. Lots of paper towels... -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
  Message 39 of 48  
20 May 09 14:32
Chris Aseltine
xxxxxx@gmail.com
Join Date: 23 Sep 2006
Posts To This List: 1219
Bugcheck CA on Vista X64

Gianluca wrote: > True, if the driver is not signed. If the driver is signed, this problem > should not be there as far as I know. Nope. I've been in a factory production situation where 25-30 devices were being programmed over USB simultaneously. The app controlling all of this was, naturally, written in Visual Basic and pegged the CPU at 100% even when the system was idle. Having to do a (signed, silent, automatic) device installation constituted a failure, because the time between the app detecting device insertion and the device interface coming up was too long, and so the app thought something was wrong with the device. (Also, one of the programming modes was over NDIS, with a small DHCP server built into the driver to automatically assign addresses. The CPU was so starved, DHCP could not assign an address to the interface in time, and this was a failure too. So we hacked some static IP solution together (watching OID_802_3_ADDRESS or whatever it is). But I digress.) You could argue that the app was a piece of crap, and you'd be right, but I think the point is that having to do any kind of device installation raises your risk a tremendous amount from a customer support perspective (and many other perspectives as well as others have noted).
  Message 40 of 48  
20 May 09 14:56
David R. Cattley
xxxxxx@msn.com
Join Date: 09 Jul 2002
Posts To This List: 2103
Bugcheck CA on Vista X64

Mike, I did not intend to come across an advocate of one choice over another nor did I have anything to do with any decision, business or otherwise which may have resulted in any particular vendors choice for doing this. I was just trying to illustrate an analysis that shows a potential benefit (in some sense) to having the same S/N on all devices. As Max pointed out, you would be hard pressed to buy two devices with the same model over any given 6 month time-span but if you were a large Enterprise whom bought a truck-load this would be different. The downside to no serial number is well illustrated by Max the IT guy - he needs to 'pre-install' and 'pre-configure' the WiFi dongle on Mrs. Max's laptop to every single possible USB port to avoid having to: 1. Explain why it must be installed in the port on the back when and avoid "but Max, my mouse is plugged in there and this port on the side fits perfectly well too". 2. Run upstairs to figure out why the WiFi wont associate because the WEP keys are configured on (as far as Windows is concerned) a different adapter (aka, same adapter, in a different port). The 'no serial number' case forces Windows to name the PDO based on the 'port'. Having 'a serial number' gets a PDO named with the serial number. The 'unique serial number' is only necessary when you have more than one device. I recall that Windows 95 had some pretty curious 'logic' for PCMCIA modems for more-or-less the very same reason. Imagine if users would stick their favorite X-Jack in the top slot only to find out that RAS thought it was a different modem than the same device in the bottom slot or some such. I think Win95 had 'insertion order' base enumeration for PCMCIA devices or something like that. As for Fido (the dog, not the Filter Device Object) I suggest you test him regularly with one of those WiFi finder devices. My understanding is that eating more than one device will be a violation of patents held by the 802.11n consortium regarding multi-path reception. You will likely have poor Fido go into hiding or pay hefty licensing fees. Cheers, -dave -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Mike Kemp Sent: Wednesday, May 20, 2009 1:42 PM To: Windows System Software Devs Interest List Subject: Re: [ntdev] Bugcheck CA on Vista X64 Hi David: So you are saying the business model below would not work if there were simply no serial number in the device? In other words there is a downside to having no serial number under Windows? I'd appreciate knowing this as it feeds into the design decision. In other words, what was the reason for deciding to use an identical "serial number" on all units instead of simply no serial number. Thanks, Mike... (PS I have a USB WiFi adapter and a dog. What is the risk if device is eaten? Would there be a problem if he ate two with the same serial number?)
  Message 41 of 48  
20 May 09 15:31
Gianluca Varenni
xxxxxx@gmail.com
Join Date: 29 Jun 2006
Posts To This List: 334
Bugcheck CA on Vista X64

----- Original Message ----- From: "David R. Cattley" <xxxxx@msn.com> To: "Windows System Software Devs Interest List" <xxxxx@lists.osr.com> Sent: Wednesday, May 20, 2009 11:56 AM Subject: RE: [ntdev] Bugcheck CA on Vista X64 > Mike, > > I did not intend to come across an advocate of one choice over another nor > did I have anything to do with any decision, business or otherwise which > may > have resulted in any particular vendors choice for doing this. I was just > trying to illustrate an analysis that shows a potential benefit (in some > sense) to having the same S/N on all devices. > <...excess quoted lines suppressed...> Funny enough, my mail that started this discussion is about an 802.11n device :-D GV > > Cheers, > -dave > > > > > > -----Original Message----- > From: xxxxx@lists.osr.com
  Message 42 of 48  
20 May 09 20:33
Ray Trent
xxxxxx@synaptics.spamblock.com
Join Date: 25 Aug 2003
Posts To This List: 394
Bugcheck CA on Vista X64

Gianluca Varenni wrote: > This is exactly the point. If non-unique serial numbers are allowed by > the spec but not by Windows, Windows should crash on it (or refuse to Is it worth my even pointing out that non-unique serial numbers are *in fact* explicitly *prohibited* by the spec? -- Ray (If you want to reply to me off list, please remove "spamblock." from my email address)
  Message 43 of 48  
20 May 09 20:40
Michal Vodicka
xxxxxx@upek.com
Join Date: 02 Apr 2004
Posts To This List: 1612
Bugcheck CA on Vista X64

> -----Original Message----- > From: xxxxx@lists.osr.com=20 > [mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent > Sent: Thursday, May 21, 2009 2:33 AM > To: Windows System Software Devs Interest List > Subject: Re:[ntdev] Bugcheck CA on Vista X64 >=20 > Is it worth my even pointing out that non-unique serial=20 > numbers are *in=20 > fact* explicitly *prohibited* by the spec? Where exactly? We were already trying to find it there without success. Best regards, Michal Vodicka UPEK, Inc. [xxxxx@upek.com, http://www.upek.com]=20
  Message 44 of 48  
21 May 09 00:27
Maxim S. Shatskih
xxxxxx@storagecraft.com
Join Date: 20 Feb 2003
Posts To This List: 10394
Bugcheck CA on Vista X64

> If the driver is signed the OS will reinstall the driver = automatically, but=20 > in the case of a wifi adapter it will probably show up as a different=20 > network connection every time. Yes it will, and you will need to set up WEP/WPA keys separately for = each downstream USB port. Also, the driver is installed once per port, not once per plug. --=20 Maxim S. Shatskih Windows DDK MVP xxxxx@storagecraft.com http://www.storagecraft.com
  Message 45 of 48  
21 May 09 04:18
Mike Kemp
xxxxxx@sintefex.com
Join Date: 30 May 2006
Posts To This List: 273
Bugcheck CA on Vista X64

>>>This discussion is taking a nasty turn.<<< Nothing nasty intended. As I am about to sign off a device with no serial number string I am suddenly concerned to hear there might be bad user experience issues with Windows and driver loading. (Development has been on Mac so far). Mike... A note to Dave: Our dog is more a FIFO than a FIDO, as Tim alludes to below... >>>>>>>> ----- Original Message ----- From: Tim Roberts To: Windows System Software Devs Interest List Sent: Wednesday, May 20, 2009 7:10 PM Subject: Re: [ntdev] Bugcheck CA on Vista X64 Mike Kemp wrote: > Hi David: So you are saying the business model below would not work if > there were simply no serial number in the device? In other words there > is a downside to having no serial number under Windows? I'd appreciate > knowing this as it feeds into the design decision. In other words, > what was the reason for deciding to use an identical "serial number" > on all units instead of simply no serial number. This discussion is taking a nasty turn. The fact is, current practice be damned, you are not supposed to have multiple USB devices with the same VID, PID, and serial number. Some of the device classes flat-out prohibit it, but more importantly, Windows is known to blue screen in some circumstances. Please do not go looking for justification here. > (PS I have a USB WiFi adapter and a dog. What is the risk if device is > eaten? Would there be a problem if he ate two with the same serial > number?) Have you ever seen a dog do a memory dump after a bugcheck? It isn't pretty. Lots of paper towels... -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc. --- NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 46 of 48  
21 May 09 09:03
Pavel A
xxxxxx@fastmail.fm
Join Date: 21 Jul 2008
Posts To This List: 2360
Bugcheck CA on Vista X64

Maxim S. Shatskih wrote: > > Yes it will, and you will need to set up WEP/WPA keys separately for each downstream USB port. > > Also, the driver is installed once per port, not once per plug. And this is exactly the point. Drivers are installed on "device instances", and how the OS identifies "instances" has been changed a long way from Win9x to NT5+. Once it was indeed per plug, and the instance IDs were simple ordinal numbers: first plug goes to #1, next to #2 etc. Eventually they decided to auto-generate instance IDs based on bus topology, but these IDs - besides of being long and ugly - depend on esoteric OS & hardware internals, and thus lead to management and/or interop issues. My guess is that "serial numbers" were designed as a back door to make instance names deterministic: the OS instance ID is derived from the unique device id. So this is why they must be unique. It is kind of manual steering for PnP. When you turn off the autopilot and steer wrong way, you get what you deserved. Regards, -- pa
  Message 47 of 48  
21 May 09 10:11
Pavel A
xxxxxx@fastmail.fm
Join Date: 21 Jul 2008
Posts To This List: 2360
Bugcheck CA on Vista X64

Thomas F. Divine wrote: > I agree with you 100%. > > The bad behavior is motivated by cost. This is the cost of applying unique > serial numbers plus the cost of production testing. With regard to the > latter it seems that test rigs are (apparently) much simpler if testing is > on a device with no serial number or with all devices having the same serial > number. > + another 100% so there are ways to disable serial numbers, for testing - or to prevent Windows crash :) <quote> To ignore all serial numbers, in the above key, change this value to zero: GlobalDisableSerNumGen = 1 To ignore the serial number for an individual device, create an entry under the above ...\UsbFlags key. The name must start with "IgnoreHWSerNum" followed by the vendor and product ID of the device. </quote> http://www.lvr.com/usbfaq.htm Regards, -- PA
  Message 48 of 48  
21 May 09 12:35
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 11404
Bugcheck CA on Vista X64

Ray Trent wrote: > Gianluca Varenni wrote: >> This is exactly the point. If non-unique serial numbers are allowed >> by the spec but not by Windows, Windows should crash on it (or refuse to > > Is it worth my even pointing out that non-unique serial numbers are > *in fact* explicitly *prohibited* by the spec? Nope, they aren't. They are prohibited by some of the device class specs, but there is no such prohibition in the main USB spec, even though many of us were convinced there was. We checked. -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 11:59.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license