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:

  1. BUS info
  2. HUB info
  3. 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... :slight_smile:
Do they receive the same HardwareID or Windows may understand the different?
How, if so...

Regards,
Michael

I believe that if you plug in two different USB devices with identical
device ID info into the same USB port, one after the other, windows will
think that they are the same device. Having unique serial numbers on your
USB devices is really a requirement that the platform works around for all
the crappy devices that don’t bother.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
Grabelkovsky, Michael
Sent: Sunday, January 22, 2006 4:20 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] 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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile: 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

>Every PnP ID is concatenation of:

  1. BUS info
  2. HUB info
  3. DeviceID info

The exact format of PnP device IDs for all main buses (like USB) is documented
in MSDN Library.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

>Every PnP ID is concatenation of:

>1. BUS info
>2. HUB info
>3. DeviceID info

The exact format of PnP device IDs for all main buses (like USB) is
documented in MSDN Library.
Maxim Shatskih, Windows DDK MVP

By the way,
I’ve looked for the documented format description for

  1. HardwareID
  2. HKLM\System\CurrentControlSet\Enum\USB????
  3. Same for 1394…

in MSDN and not found. :frowning:
Do you have the references in MSDN (or probably in other sources)?

Regards,
Michael

>I’ve looked for the documented format description for

  1. HardwareID
  2. HKLM\System\CurrentControlSet\Enum\USB????
  3. Same for 1394…
    in MSDN and not found. :frowning:

Search MSDN for “Device Identification Strings”. You can also search Google
with nearly the same results :slight_smile:

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile:
Do they receive the same HardwareID or Windows may understand the different?
How, if so…

Regards,
Michael

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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile: 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

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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile: 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

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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile: 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

I believe it was XP.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Monday, January 23, 2006 12:30 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB Serial Numbers

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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile: 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


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

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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile: 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

I guess what I’m asking is – does the USB hub driver currently check the
uniqueness of serial numbers of devices plugged in? Your statement seems to
imply that it does, I just want to be sure.

– arlie

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Monday, January 23, 2006 12:30 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB Serial Numbers

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

AFAIK, the current implementation does sanity check the serial numbers
before reporting them as unique to the OS.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Arlie Davis
Sent: Monday, January 23, 2006 11:17 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB Serial Numbers

I guess what I’m asking is – does the USB hub driver currently check
the
uniqueness of serial numbers of devices plugged in? Your statement
seems to
imply that it does, I just want to be sure.

– arlie

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Monday, January 23, 2006 12:30 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] USB Serial Numbers

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


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

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 Holanmailto:xxxxx
To: Windows System Software Devs Interest Listmailto:xxxxx
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.commailto:xxxxx
[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.commailto:xxxxx
[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.commailto:xxxxx
> [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:
> 1. BUS info
> 2. HUB info
> 3. 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… :slight_smile: 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=256http:
>
> You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx
>
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256http:
>
> You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx
>
>


Ray


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256http:

You are currently subscribed to ntdev as: xxxxx@microsoft.commailto:xxxxx
To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256http:

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx</mailto:xxxxx></http:></mailto:xxxxx></mailto:xxxxx></http:></mailto:xxxxx></http:></mailto:xxxxx></http:></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>

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.mspxhttp:

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. Drasninmailto:xxxxx
To: Windows System Software Devs Interest Listmailto:xxxxx
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 Holanmailto:xxxxx
To: Windows System Software Devs Interest Listmailto:xxxxx
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.commailto:xxxxx
[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.commailto:xxxxx
[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.commailto:xxxxx
> [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:
> 1. BUS info
> 2. HUB info
> 3. 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… :slight_smile: 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=256http:
>
> You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx
>
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256http:
>
> You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx
>
>


Ray


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256http:

You are currently subscribed to ntdev as: xxxxx@microsoft.commailto:xxxxx
To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256http:

You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx


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</mailto:xxxxx></http:></mailto:xxxxx></mailto:xxxxx></http:></mailto:xxxxx></http:></mailto:xxxxx></http:></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx></http:>

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:

  1. BUS info
  2. HUB info
  3. 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… :slight_smile: 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

>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?

Rather slow. INF file scan and such. And this - for each device plugging in.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

hi

Sorry to beat this issue to death, but…

So are you saying that for a driver with no serial number (iSerialNumber = 0):

  1. It will be slow he first time you plug in the device into a given port? (Assuming the driver is signed and thus the user isn’t prompted to install a driver.)
  2. The subsequent times you plug in this device with serial number =0 into that same given port, it still will be slow.

If #2 is true, what do you mean by slow - slow as in the users have to wait to access to device? And, if #2 is true, how come my Microsoft USB Intellimouse and USB wireless mouse/keyboards all have serial numbers set to 0 if #2 is a problem?

thanks
----- Original Message -----
From: Maxim S. Shatskihmailto:xxxxx
To: Windows System Software Devs Interest Listmailto:xxxxx
Sent: Monday, January 23, 2006 7:57 PM
Subject: Re: [ntdev] USB Serial Numbers

>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?

Rather slow. INF file scan and such. And this - for each device plugging in.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.commailto:xxxxx
http://www.storagecraft.comhttp:</http:>


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256http:

You are currently subscribed to ntdev as: xxxxx@msn.commailto:xxxxx
To unsubscribe send a blank email to xxxxx@lists.osr.commailto:xxxxx</mailto:xxxxx></mailto:xxxxx></http:></mailto:xxxxx></mailto:xxxxx></mailto:xxxxx>

#1 - yes it’s slow b/c you need to find the INF and run an install
#2 - no, it will not be slow. The device will start almost immediately b/c it is already in an installed state

d


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of S. Drasnin
Sent: Tuesday, January 24, 2006 9:27 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] USB Serial Numbers

hi
?
Sorry to beat this issue to death, but…
?
So are you saying that for a driver with no serial number (iSerialNumber = 0):

  1. It will be slow he first time you plug in the device into a given port? (Assuming the driver is signed and thus the user isn’t prompted to install a driver.)
  2. The subsequent times you plug in this device with serial number =0?into that same given port, it still will be slow.
    ?
    If #2 is true, what do you mean by slow - slow as in the users have to wait to access to device? And, if #2 is true, how come my Microsoft USB Intellimouse and USB wireless mouse/keyboards all have serial numbers set to 0 if #2 is a problem??
    ?
    thanks
    ----- Original Message -----
    From: Maxim S. Shatskih
    To: Windows System Software Devs Interest List
    Sent: Monday, January 23, 2006 7:57 PM
    Subject: Re: [ntdev] USB Serial Numbers

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?

Rather slow. INF file scan and such. And this - for each device plugging in.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@msn.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

S. Drasnin wrote:

Sorry to beat this issue to death, but…

So are you saying that for a driver with no serial number
(iSerialNumber = 0):

It’s a *DEVICE* with no serial number. This is not about drivers at all.

  1. It will be slow he first time you plug in the device into a given
    port? (Assuming the driver is signed and thus the user isn’t prompted
    to install a driver.)
  2. The subsequent times you plug in this device with serial number
    =0 into that same given port, it still will be slow.

No. As long as you plug it in to the same port, the device will be
recognized as a good friend, and no additional install is done. The
difference comes when you plug it into a DIFFERENT port. If there is a
serial number, the device will still be recognized, even in its new
location. However, if there is no serial number, the device will be
treated as a stranger, and a driver search will begin.

If #2 is true, what do you mean by slow - slow as in the users have to
wait to access to device? And, if #2 is true, how come my Microsoft
USB Intellimouse and USB wireless mouse/keyboards all have serial
numbers set to 0 if #2 is a problem?

“Slow” is a relative term. The only delay is in searching the driver
database for a PNP match. Assuming you haven’t changed any INF files,
it only takes a second or two. If you have changed an INF file so that
it has to rebuild the INF cache, that can take many seconds.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.