[Pcsclite-muscle] Different behaviour with Select MF on Omnikey 5427 and 5022

Stephan Guilloux stephan.guilloux at crisalid.com
Wed Nov 4 08:48:59 EST 2020


You're right, contact-less communication is not easy ;-)

Cards are not the same model at all, right.
I got only those 2 in stock, during lock down ... ;-(

Because of the "no power", I performed some more tests, and with the
same setup, I got the card powered-on, like below.
No change: The SelectMF has no answer from the card on 5427, but it
has with 5022.

Extracts with 5427
[...]
00000035 [1962927040] ifdhandler.c:1989:IFDHICCPresence() Card present
00000029 [1962927040] ifdhandler.c:1167:IFDHPowerICC() action:
PowerUp, usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
(lun: 0)
00000048 [1962927040] -> 000000 62 00 00 00 00 00 71 00 00 00
00255602 [1962927040] <- 000000 80 14 00 00 00 00 71 00 00 00 3B 8F 80
01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6A
00000064 [1962927040] eventhandler.c:406:EHStatusHandlerThread()
powerState: POWER_STATE_POWERED
00000028 [1962927040] eventhandler.c:423:EHStatusHandlerThread() Card
inserted into HID OMNIKEY 5427 CK (01010053484D37353001395E34176930)
00 00
00000036 [1962927040] winscard_svc.c:822:MSGSignalClient() Signal client: 6
00000025 [1962927040] winscard_svc.c:825:MSGSignalClient() SIGNAL
rv=0x0 for client 6
00000095 [1962927040] Card ATR: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03
00 01 00 00 00 00 6A
[...]
00000034 [1952445376] APDU: 00 A4 00 0C 02 3F 00
00000029 [1952445376] ifdhandler.c:1316:IFDHTransmitToICC()
usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
(lun: 0)
00000026 [1952445376] commands.c:1634:CmdXfrBlockAPDU_extended() T=0
(extended): 7 bytes
00000053 [1952445376] -> 000000 6F 07 00 00 00 00 73 00 00 00 00 A4 00
0C 02 3F 00
00040062 [1952445376] <- 000000 80 00 00 00 00 00 73 40 FE 00
00000092 [1952445376] commands.c:1534:CCID_Receive Card absent or mute
00000034 [1952445376] SW:
00000025 [1952445376] ifdwrapper.c:543:IFDTransmit() Card not transacted: 612
00000024 [1952445376] winscard.c:1620:SCardTransmit() Card not
transacted: 0x80100016

Extract with 5022:
[...]
00000037 [1953493952] APDU: 00 A4 00 0C 02 3F 00
00000028 [1953493952] ifdhandler.c:1316:IFDHTransmitToICC()
usb:076b/5022:libusb-1.0:1:14:0 (lun: 0)
00000049 [1953493952] commands.c:1634:CmdXfrBlockAPDU_extended() T=0
(extended): 7 bytes
00000052 [1953493952] -> 000000 6F 07 00 00 00 00 09 00 00 00 00 A4 00
0C 02 3F 00
00001207 [1953493952] <- 000000 80 02 00 00 00 00 09 00 00 00 6A 81
00000062 [1953493952] SW: 6A 81
[...]



Stéphan GUILLOUX
Ingénieur Développement Sr

40 avenue de la libération 57160 Châtel St-Germain
Tél. 03 87 65 98 80 / poste 221
stephan.guilloux at crisalid.com

LES LOGICIELS QUI VOUS DONNENT DES AILES ! - www.crisalid.com




Le mer. 4 nov. 2020 à 11:36, Ludovic Rousseau
<ludovic.rousseau at gmail.com> a écrit :
>
> Le mer. 4 nov. 2020 à 11:15, Stephan Guilloux
> <stephan.guilloux at crisalid.com> a écrit :
> >
> > Here you are.
> >
> > I took the opportunity to update PCSC and CCID to the latest versions
> > available (1.9.0 and 1.4.33).
> > Results are the same.
> >
> > To reproduce, I ran the last official scard_example.go and rebuilt it
> > with the libs above.
> > scard_example output is inserted in each PCSC log file.
> >
> > For comparison, the same process is used with a 5427 and a 5022.
> > 5427 logs are attached in this mail.
> > 5022 will be sent in a second mail.
>
> From log-hid-5427-card1-ko.txt
>
> 00000037 [1963975616] ifdhandler.c:1868:IFDHICCPresence()
> usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
> (lun: 0)
> 00000039 [1963975616] -> 000000 65 00 00 00 00 00 04 00 00 00
> 00001820 [1963975616] <- 000000 81 00 00 00 00 00 04 01 00 01
> 00000037 [1963975616] ifdhandler.c:1989:IFDHICCPresence() Card present
> 00000040 [1963975616] ifdhandler.c:1167:IFDHPowerICC() action:
> PowerUp, usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
> (lun: 0)
> 00000965 [1963975616] -> 000000 62 00 00 00 00 00 05 00 00 00
> 00217134 [1963975616] <- 000000 80 00 00 00 00 00 05 42 FE 00
> 00000052 [1963975616] commands.c:243:CmdPowerOn Card absent or mute
> 00000031 [1963975616] ifdhandler.c:1234:IFDHPowerICC() PowerUp failed
>
> The reader reports a card present but can't power on the card.
>
> Later in the log:
> 00000034 [1953493952] APDU: 00 A4 00 0C 02 3F 00
> 00000028 [1953493952] ifdhandler.c:1316:IFDHTransmitToICC()
> usb:076b/5427:libhal:/org/freedesktop/Hal/devices/usb_device_076b_5427_serialnotneeded_if0
> (lun: 0)
> 00000046 [1953493952] commands.c:1634:CmdXfrBlockAPDU_extended() T=0
> (extended): 7 bytes
> 00000053 [1953493952] -> 000000 6F 07 00 00 00 00 0C 00 00 00 00 A4 00
> 0C 02 3F 00
> 00039734 [1953493952] <- 000000 80 00 00 00 00 00 0C 40 FE 00
> 00000069 [1953493952] commands.c:1534:CCID_Receive Card absent or mute
> 00000024 [1953493952] SW:
> 00000024 [1953493952] ifdwrapper.c:543:IFDTransmit() Card not transacted: 612
> 00000024 [1953493952] winscard.c:1620:SCardTransmit() Card not
> transacted: 0x80100016
>
> The reader reports that the card is no more present.
>
> I suspect a communication problem between the card and the reader.
> Contactless communication is not easy.
>
> Both cards are Mifare cards
> https://smartcard-atr.apdu.fr/parse?ATR=3B8F8001804F0CA000000306030001000000006A
> Maybe they are not exactly the same model.
>
> Maybe someone here has an explanation.
>
> Bye
>
> --
>  Dr. Ludovic Rousseau
>
> _______________________________________________
> pcsclite-muscle mailing list
> pcsclite-muscle at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/pcsclite-muscle



More information about the pcsclite-muscle mailing list