If you plug in the device to a new port that it was never plugged into before and the device does not have a serial number, it won’t affect boot b/c the device will not be installed during the boot process. The driver will be installed on the device once the UM pnp manager has been started which is much later in the boot process. If the device moves to a new port and has a serial number, it will start as it would have if it had never moved.
d
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of S. Drasnin
Sent: Monday, January 23, 2006 2:14 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] USB Serial Numbers
hi
?
I found the information on how to set the serial number – the thing stored in the device descriptor’s iSerialNumber is either 0 or is an index to a string. The following link goes into details:
http://www.microsoft.com/whdc/system/bus/usb/USBFAQ_intermed.mspx
?
My remaining question is if you set iSerialNumber to 0, does it have a performance issue during boot-up (if the device is plugged in during boot-up).
?
thanks
----- Original Message -----
From: S. Drasnin
To: Windows System Software Devs Interest List
Sent: Monday, January 23, 2006 11:41 AM
Subject: Re: [ntdev] USB Serial Numbers
Thanks everybody for the replies.
?
What constitutes a unique serial number in the USB device descriptor? Does it just have to be a unique number in the list of serial numbers for a given Vendor ID and a given Product ID, or is there is more to picking it than that (and will require me reading the USB spec).
?
The other thing I wasn’t clear about is if you had a usb plugged in during boot that didn’t have a serial number set in the configuration descriptor?(serial number = 0) and the corresponding driver was signed. Would?that cause?a significant (enough for the user to notice) delay during boot-up?
?
thanks
?
----- Original Message -----
From: Doron Holan
To: Windows System Software Devs Interest List
Sent: Monday, January 23, 2006 10:10 AM
Subject: RE: [ntdev] USB Serial Numbers
USB sticks are required to have unique serial numbers in their class
spec for the volume ID and compliance for that class of device is much
higher.? If the device does not have a serial number, you can plug in an
as many as you want, they will show up as new instances for each new
port they are plugged into.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ray Trent
Sent: Monday, January 23, 2006 9:55 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] USB Serial Numbers
I’m trying to recollect something about this…
Is it true that 2 devices that have *no* serial number (i.e. the
descriptor is null, not 2 that have the same serial number), will work?
Most mice don’t have serial numbers at all, and yet people plug multiple
ones in a lot.
So, basically the Windows is doing is bluescreening if you plug in a USB
device with illegal descriptors (if you have a serial number it’s
*required* by the spec to be globally unique when combined with the
HWID).
Not a very friendly thing to do… but I have a hard time getting too
terribly worked up about it. One problem is that it opens up a DOS
attach on kiosk-like devices that accept USB sticks… but whatever…
Doron Holan wrote:
The OS relies on the bus driver to maintain the uniqueness of IDs.
The OS bugchecks b/c the bus driver broke that contract.? Newer
revisions of the USB core handle this error more gracefully (don’t know
what that appeared), but the win2k stack did not.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Arlie Davis
Sent: Monday, January 23, 2006 9:20 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB Serial Numbers
Wait wait – shouldn’t the OS *check* that the device instance IDs are
unique, and do something reasonable, instead of bugchecking?
If I build a USB device that looks like a hub with 2 ports, each of
which
has a device that enumerates with the same serial number, can I just
run
around and plug it in Windows machines, wait for them to enumerate,
and
bring the machine down?? That seems very ill-advised, if so.? The OS
should
be robust, in the face of rude behavior from devices, at least on a
relatively “isolated” bus like USB.
– arlie
?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Henry
Gabryjelski
Sent: Monday, January 23, 2006 12:07 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] USB Serial Numbers
As Doron has said, USB doesn’t necessarily use the port numbers.? Why?
The
user typically expects the properties of a device to follow the
device, not
the port they plug the device into.? If the USB device has a unique
serial
number, the unique ID is based on the serial number and not the port.
This
way, the same per-device properties are applied no matter which port
it is
installed on.
(Presuming identical DeviceID and Bus(USB) for the below…) What
does this
mean when you plug in two “identical” devices?
(1) Unique S/N’s == no problems
(2) No S/N’s == no problems
(3) Identical S/N’s (violation of spec) == bugcheck due to non-unique
PnP ID
hth,
.
-----Original Message-----
From: Grabelkovsky, Michael [mailto:Michael.Grabelkovsky@ca.com]
Sent: Sunday, January 22, 2006 1:20 AM
Subject: Re: USB Serial Numbers
> What is not clear is what happens if two of the same devices (same
USB
board, exact same hardware) are both plugged in, but (obviously) into
separate USB ports.
Every PnP ID is concatenation of:
- BUS info
- HUB info
- DeviceID info
Accordingly,
If you plug in two identical devices, Windows puts them the different
HardwareID, due they plug in the different USB connectors.
Pay attention, if you plug in the same device in one connector, and
after to
other, it receives the different HardwareID.
What I have not checked, if would plug into the same USB connector 2
identical device units one after other…
Do they receive the same
HardwareID or Windows may understand the different?
How, if so…
?
Regards,
Michael
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
–
Ray
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com