Hello, 2014-07-15 13:49 GMT+02:00 Maximilian Stein <[email protected]>: > Thank you for the quick and simple reply. I don't like to be pedantic > but in the release version of libccid 1.4.17 the line in question is > line 53. I replaced that line as you said and the new Omnikey 3121 > (product ID 3022) works, BUT now the identical error as described before > occurs for the older revision of the reader (product ID 0x3021). The log > file is attached as log-new.txt if it is of interest.
That was expected. > I now removed the special treatment of the reader completely from > src/ccid.c like in the attached file omnikey3121.patch (and shown > below). With that patch both readers work and can transact APDUs. For > the record, the CCID driver implicitly uses T=0 for both readers with > the patch applied. Additionally I can confirm that the new revision > (product ID 3022) supports extended APDUs with the patched libccid 1.4.17. > > When I get this right, the special treatment (hack) for the > CARDMAN3121+1 was never used, because there was no reader with the > respective ID (0x076B3022). I might be wrong here and there might > actually was a legacy version of the Omnikey 3121 with the product ID > 3022, but I am in strong doubt about this. When editing src/ccid.c as > you said, the implemented "hack" is applied for the old reader revision > which seems to be incorrect as well. So I wonder why this special > treatment was implemented in the first place and if it is safe to remove > it completely. This patch is present since the oldest version of ccid.c in the subversion repository [1]. That was in 2003. I do no remember why I added such code. So it is a good idea to remove it since it does not solve anything but creates problems. Thanks for your tests. [1] http://anonscm.debian.org/viewvc/pcsclite/trunk/Drivers/ccid/src/ccid.c?view=markup&pathrev=413 > P.S. The SELECT-APDU that is sent in the pcsc-lite/src/testpcsc test > program is malformed, because the given P2 requests a FCI struct as > response but Le is not present in the APDU. I propose to change lines > 267-268 from: > send_length = 7; > memcpy(bSendBuffer, "\x00\xA4\x00\x00\x02\x3F\x00", send_length); > to: > send_length = 8; > memcpy(bSendBuffer, "\x00\xA4\x00\x00\x02\x3F\x00\x00", send_length); APDU Case 4 are problematic with PC/SC. I will make more tests. Thanks -- Dr. Ludovic Rousseau _______________________________________________ Pcsclite-muscle mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle
