[Pcsclite-muscle] [PATCH v2 ccid]: Improve the recent fix for getting the number of supported data rates
Ludovic Rousseau
ludovic.rousseau at gmail.com
Sat Apr 10 11:20:58 BST 2021
Fixed.
Thanks
Le jeu. 8 avr. 2021 à 23:16, Guido Trentalancia
<guido at trentalancia.com> a écrit :
>
> Improve the following two recent fixes to get the number of supported data rates:
>
> commit b00292f718e9f13626147af63bfb9164ec74d2cb
> Author: Ludovic Rousseau <ludovic.rousseau at free.fr>
> Date: Sat Mar 27 18:46:15 2021 +0100
>
> ccid_usb: ask for bNumDataRatesSupported data rates
>
> Some devices set bNumDataRatesSupported to a value different from 0 but
> libusb_control_transfer() fails if another value (like 256) is used.
>
> The Alcor Micro 9540 is such a reader.
>
> commit 19b9e9256781b55513e22e8ecd9c85ad409e9069 (HEAD -> master, origin/master, origin/HEAD)
> Author: Ludovic Rousseau <ludovic.rousseau at free.fr>
> Date: Sun Apr 4 19:04:10 2021 +0200
>
> get_data_rates(): fix bug if bNumDataRatesSupported > 0
>
> The bug was introduced in b00292f718e9f13626147af63bfb9164ec74d2cb (not
> released in a stable version)
>
> Thanks to Godfrey Chung got the bug report
> https://github.com/LudovicRousseau/CCID/commit/b00292f718e9f13626147af63bfb9164ec74d2cb#r49087277
>
> -------
>
> These fixes seem also needed on the following reader: Bit4Id miniLector AIR NFC v3 (25DD:3403).
>
> Signed-off-by: Guido Trentalancia <guido at trentalancia.com>
>
> diff -pru ccid-git-08042021-0700/src/parse.c ccid-1.4.34-to-git-08042021-0700/src/parse.c
> --- ccid-git-08042021-0700/src/parse.c 2021-04-08 06:55:26.700371266 +0200
> +++ ccid-1.4.34-to-git-08042021-0700/src/parse.c 2021-04-08 21:51:23.354942352 +0200
> @@ -496,15 +501,15 @@ static int ccid_parse_interface_descript
> int i;
>
> /* we do not get the expected number of data rates */
> - if ((n != device_descriptor[27]*4) && device_descriptor[27])
> + if ((n != bNumDataRatesSupported*4) && bNumDataRatesSupported)
> {
> (void)printf(" Got %d data rates but was expecting %d\n", n/4,
> - device_descriptor[27]);
> + bNumDataRatesSupported);
>
> /* we got more data than expected */
> #ifndef DISPLAY_EXTRA_VALUES
> - if (n > device_descriptor[27]*4)
> - n = device_descriptor[27]*4;
> + if (n > bNumDataRatesSupported*4)
> + n = bNumDataRatesSupported*4;
> #endif
> }
>
>
> _______________________________________________
> pcsclite-muscle mailing list
> pcsclite-muscle at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/pcsclite-muscle
--
Dr. Ludovic Rousseau
More information about the pcsclite-muscle
mailing list