SCD: Support not-so-smart card readers.
authorNIIBE Yutaka <gniibe@fsij.org>
Tue, 8 Jan 2013 06:22:31 +0000 (15:22 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Tue, 8 Jan 2013 06:22:31 +0000 (15:22 +0900)
commita776f660363d20b6cc023609c4547e0aa8825d97
tree66c4827676c00f5beb435906e6d266cc87a60478
parentbb51edc31e6595e38fcbd91d470de57d3a1a7150
SCD: Support not-so-smart card readers.

* scd/ccid-driver.c (struct ccid_driver_s): Add auto_voltage,
auto_param, and auto_pps.
(parse_ccid_descriptor): Set auto_voltage, auto_param, and auto_pps.
Support non-autoconf readers.
(update_param_by_atr): New.
(ccid_get_atr): Use 5V for PowerOn when auto_voltage is not supported.
Use 0x10 when nonnull_nad for SetParameters.
Call update_param_by_atr for parsing ATR, and use param for
SetParameters.
Send PPS if reader requires it and card is negotiable.
When bNadValue in the return values of SetParameters == 0,
clear handle->nonnull_nad flag.
--
This change is to support more card readers by the internal driver.
Tested with 08e6:3478 Gemplus PinPad Smart Card Reader.
scd/ccid-driver.c