Sunday, June 23, 2013

CCID descriptor statistics: bMaxCCIDBusySlots

Article from the serie "CCID descriptor statistics"

The bMaxCCIDBusySlots field is a number value from the CCID USB descriptor: Maximum number of slots which can be simultaneously busy.
If the CCID does not support queuing, it reports bMaxCCIDBusySlots equal to 01h; which means that the CCID will treat all commands synchronously.

bMaxCCIDBusySlots#%
125198.82 %
010.39 %
210.39 %
510.39 %


The normal value for a CCID interface is 1.

The value 0 is bogus. If only 0 slot can be busy (used) then the reader can be used at all. This is the case of the Feitian Technologies FT SCR310 reader.

The value 2 is used by the COVADIS Auriga reader. This reader also declares 3 slots (bMaxSlotIndex: 0x02) so 2 slots (among 3) can be used at the same time.

The value 5 is used by Teridian Semiconductors TSC12xxFV.09. This reader has 5 slots (bMaxSlotIndex: 0x04). So all the 5 slots can be used at the same time.

My CCID driver do not use this value. Only one slot of a reader can be used at the same time. This may evolve but only few readers would benefit some this improvement.