Unfortunately standard USB PC/SC smart card readers have several serious limitations when using more than just a few card readers:
- Each individual card reader is seen by the host as a separate USB device. Therefore the USB host has to manage
each reader individually.
- There is a theoretical limit of 127 devices on a USB host. This limit includes all of the hub devices used to allow
the multiple card readers to be connected so the theoretical limit is more like 100 card readers per USB host. Some
computers have more than one USB host and additional USB hosts can often be added as plug-in cards. Thus it is theoretically
possible to connect significantly more than 100 USB card readers to a single computer.
- There is a USB host hardware limit which is almost always lower than the theoretical limit. The best which is achievable
in practice seems to be about 65 card readers on a USB host, but with some USB hardware the limit is much lower.
- USB is a 'busy' protocol and can require significant processing power to keep up with multiple smart card readers even
when the cards in the readers are not active.
- USB devices are enumerated in a random order which cannot be controlled by the application software. This means that the
card readers appear in a different order every time the host computer is powered up. Thus individual cards cannot be identified
by their physical location.
- The operating system can and often does impose a much lower card reader limit. Windows 7 and the Windows Server equivalent
impose a limit of 32 card readers on a PC irrespective of the capabilities of the USB hardware. Windows 8 and 10 reduce this
limit to a maximum of 10 smart card readers. The total number of USB devices of any type connected to an instance of VMWare
is limited to just 20.
- Recent versions of Windows all assume that any connected smart card must be a security device related to the operation of
the computer. The operating system therefore tries to connect to each smart card thereby making it unavailable for other
- When a connection is made to a host by Windows Remote Desktop then Remote Desktop will if at all possible connect to all
available smart card readers, again making them unavailable for other applications.
Linux does not strictly impose any limits on the number of smart card readers connected, however some files may need to be changed to achieve the maximum number of card readers.
Windows Vista and Windows Server
2008 (Not R2) and earlier Windows versions do not impose these operating system limits. The reader limits then are just the limits imposed by the hardware.
Recognising these limitations of multiple USB smart card readers Lisle Design has developed an alternative range of smart card readers - the
Hyper Card Rack™ 120,
Hyper Card Rack™ 20 and the
Hyper Card Desktop™ 6.