A Means To Reliably Distinguish And Identify Multiple Identical USB Devices
Original Publication Date: 2000-May-01
Included in the Prior Art Database: 2003-Jun-18
In the point-of-sale (POS) environment, multiple identical devices (displays) are used quite commonly, hence the need to distinguish between them. In the SIO environment, this problem is solved with a special port hardwares (primary and secondary ports). Once the displays are plugged into the port, the display firmware will be able to detect the hardware difference between the ports and assume the proper port role i.e. display plugged into a primary port will be primary display. This method allows displays to be manufactured identically regarless of their role (primary and secondary). In the USB arena, special hardware modifications are not allowed if industry standards are to be followed. Consequently, a new software scheme is designed to assign the display role based on the order they are discovered in the USB network. The USB devices will be discovered depth-first and the device roles are assigned based on the order that the identical devices were found. Primary devices will have their role assigned then secondary devices, and tercery devices, and so on. This USB network tree traversal order is independent from the USB device discovery mechanism of an operating system. As a result, this method is independent not only from the underlying software platforms but also the underlying hardware platforms (different host PCs, etc.) The crux of this role assignment scheme relies on the relative order of the multiple identical devices and not on the specific port as before. As a result, this algorithm is much more flexible e.g. if a particular port hardware is burnt out for some reason, the host PC can still be used as long as the primary device is still plugged into an upstream port of the secondary device. As compared to before, the system unit board needs to be replaced in order to service the broken port. This software scheme addresses all the POS requirements which were solved by designing hardware which is specific to the POS environment. As a result, this software method allows POS software to run on standard PC system unit without any specific POS content. Multiple joysticks identification were mentioned in public USB forums. However, no automatic solution has been identified. One solution discussion the necessity to physically "hand over" the proper joy stick to the proper user.