2011/2/24 Grant Olson <[email protected]>:
> Hello all.
Hello
> I just got my hands on an ACR83 reader. Note this is a different model
> than the ACR38. It has a built-in pinpad in a really small form factor.
>
> I was disappointed to see it seems to only have Windows drivers. I
> thought I'd take a stab at adding support to libccid. I'm making some
> progress, but could use some advice.
>
> I downloaded the latest versions of libccid and pcscd and got them
> compiled and installed on my debian 6 system.
>
> Originally libccid wouldn't detect the smartcard at all because it was
> returning a USB class code of 0x0 instead of 0xb. A quick read of the
> USB spec said that this is okay if the interface descriptions return the
> correct info.
I am surprised. I thought 0xFF was used for proprietary class.
Where in the USB spec have you found the information?
> As a hackey non-production quality fix, I added some code to
> get_ccid_usb_interface in ccid_usb.c that will accept class 0x0 as well
> as 0xb. After that, I did seem to detect the card and get reasonable
> info for smartcard capabilities. (I'll post the full text of
> ./src/parse at the end of this post.)
>
> After that, I was able to manually run pcscd in the foreground with
> debug info. At this point, we actually do seem to see the card and it
> seems to be smart enough to detect when I remove and insert my openPGP
> smartcard. So there's some progress.
>
> But when I try to issue a command like "echo foo | gpg2 --clearsign",
> one of the internal commands times out:
>
> 00000007 towitoko/atr.c:329:ATR_GetDefaultProtocol() default protocol: T=1
> 00000008 PPS: Sending request: FF 11 18 F6
> 00000019 -> 000000 6F 04 00 00 00 00 15 00 00 00 FF 11 18 F6
> 05001137 ccid_usb.c:614:WriteUSB() write AAA failed (3/5): -7 Success
/** Operation timed out */
LIBUSB_ERROR_TIMEOUT = -7,
It is not a CCID error code from the reader.
> I'm getting in pretty far over my head, this code is all new to me. If
> anyone has any pointers as to what I should be looking at, I'd
> appreciate it. Also let me know if I'm doing anything stupid in the way
> I've setup my dev environment.
Since the reader is not really implementing the CCID specification I
would not be surprised if the reader does not support the PPS or
something like that. Maybe the reader reports a wrong dwFeatures.
I can only suggest you to buy a real and supported CCID reader. Unless
you have free time...
Regards
--
Dr. Ludovic Rousseau
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle