Sunday, February 9, 2014

CCID descriptor statistics: bNumDataRatesSupported

Article from the serie "CCID descriptor statistics"

The bNumDataRatesSupported field is a number value from the CCID USB descriptor:
The number of data rates that are supported by the CCID.

If the value is 00h, all data rates between the default data rate dwDataRate and the maximum data rate dwMaxDataRate are supported. Those values comply with § 1.2 and with all clock frequencies supported by the reader. See offset 18 and GET_CLOCK_FREQUENCIES § 5.3.2.

bNumDataRatesSupported#%
0 (will use whatever is returned)18171.26 %
53207.87 %
106155.91 %
172.76 %
041.57 %
441.57 %
541.57 %
1131.18 %
12731.18 %
5220.79 %
720.79 %
820.79 %
1510.39 %
1910.39 %
25410.39 %
310.39 %
4010.39 %
4510.39 %
5710.39 %


This field is used to retrieve the list of all the data rates supported by the reader. The driver then select the best (fastest) data rate to use with the card according to the card ATR TA1 byte.

The longer the list, the better because it will give more choice for the driver to select the best data rate.