scd: Add support for ACR-122U

* scd/ccid-driver.h (VENDOR_ACR, ACR_122U): New.
* scd/ccid-driver.c (ccid_open_usb_reader): Do not call
libsub_set_interface_alt_setting for this reader.
--

Co-authored-by: markus.montkowski@gnupg.com
This commit is contained in:
Werner Koch 2024-03-07 13:29:56 +01:00
parent a1ea3b13e0
commit 1682ca9f01
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
2 changed files with 7 additions and 1 deletions

View File

@ -1805,7 +1805,10 @@ ccid_open_usb_reader (const char *spec_reader_name,
}
/* Submit SET_INTERFACE control transfer which can reset the device. */
rc = libusb_set_interface_alt_setting (idev, ifc_no, set_no);
if ((*handle)->id_vendor == VENDOR_ACR && (*handle)->id_product == ACR_122U)
rc = 0; /* Not supported by this reader. */
else
rc = libusb_set_interface_alt_setting (idev, ifc_no, set_no);
if (rc)
{
#ifdef USE_NPTH
@ -1820,6 +1823,7 @@ ccid_open_usb_reader (const char *spec_reader_name,
npth_protect ();
#endif
/* Perform any vendor specific intialization. */
rc = ccid_vendor_specific_init (*handle);
leave:

View File

@ -70,6 +70,7 @@ enum {
VENDOR_FSIJ = 0x234b,
VENDOR_VASCO = 0x1a44,
VENDOR_NXP = 0x1fc9,
VENDOR_ACR = 0x072f
};
@ -88,6 +89,7 @@ enum {
#define VEGA_ALPHA 0x0008
#define CYBERJACK_GO 0x0504
#define CRYPTOUCAN 0x81e6
#define ACR_122U 0x2200 /* NFC Reader */
#endif /*CCID_DRIVER_INCLUDE_USB_IDS*/