Multiple USB scanners with the same Manufacturer device ID

I have connected 6 Fujitsu fi-5110c scanners to a Windows 2003 server, using a USB hub. All the drivers are installed correctly and each device functions fine. The problem I have is that when I disconnect the devices and then re-connect in a different order to the original process, the scanners are being assigned incorrectly by Windows. (I.e. scanner 5 is connected first, and Windows recognizes this as being scanner 1). So I need to connect them in the same order I originally did.

Another problem seems to be the event handling when the scan button is pressed (i.e events are triggering the wrong device).

Is there a device ID in the registry that could be causing this? I notice the device IDs are the same for each one, event though the control set 001 .. 007 is OK.
encircleAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

kbens0nCommented:
The answer to both these questions lies in the registry. When a bus driver performs device enumeration, it reports device identifiers for the devices it detects back to the PnP manager. The identifiers are bus-specific; for a USB bus, an identifier consists of a vendor ID (VID) for the hardware vendor that made the device and a product ID (PID) that the vendor assigned to the device. (See the DDK for more information on device ID formats.) Together these IDs form what Plug and Play calls a device ID. The PnP manager also queries the bus driver for an instance ID to help it distinguish different instances of the same hardware. The instance ID can describe either a bus-relative location (for example, the USB port) or a globally unique descriptor (for example, a serial number). The device ID and instance ID are combined to form a device instance ID (DIID), which the PnP manager uses to locate the device's key in the enumeration branch of the registry (HKLM\SYSTEM\CurrentControlSet\Enum)

Disconnecting/reconnecting the devices is no different than powering them off. The registry enumeration remains, as originally detected, and subsequent operations will be directed at the "perceived" ports as they were -originally- ...despite their new locations. In order to account for changes that you make in which devices and in which ports... you must remove the hardware enumeration from Device Manager for the Root port for the USB Hub and re-initiate a new <Hardware Found> sequence of PnP manager to allow Windows to discover the new configuration and update the Registry linkage)s) to the appropriate driver(s) and PID/VID pairs.
0
kbens0nCommented:
BTW, using a simple "marking" system on the Hub ports and each device (such as matching color dots -or- paper labels, etc.) will allow for reeconnection of the proper device to the proper hub port ;-)
0
ComplyCommented:
You can try to disable "Safely Remove this Device" by

Right clicking on the USB device in Explorer-Properties-Hardware, High light the device then click properties. On the Policies tab uncheck Enable Write Caching. Then check optimize for quick removal. This stops you from having to right click the device safely remove. It makes it hot swapable.
0
encircleAuthor Commented:
The real issue is one of support. The scanners are at remote locations connected to a central server using a Silex USB network adapter.

If more than one was turned off, they would need to be turned on and connected manually in the correct order. This is impractical as there's 29 of the little blighters dotted around a 100 mile radius :(

We'ver resorted to using VMs as there's no solution from MS, Fujitsu, or Silex!

Maybe I could as if anyone knows how to re-flash the BIOS on a Fujitsu 5110c to change the device ID? ;)
0
ComplyCommented:
Then The only way to keep them in the right order is too leave them connected.

The ID is hard coded in the board. You might see if the Manufactor could tell you ow to change it.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Peripherals

From novice to tech pro — start learning today.