ICカードリーダ

手元にあるICカードリーダ用のMacOS用ドライバはないようだ。
ほかのドライバが使えないかいろいろ試行錯誤したが、現在まだできていない。
試行錯誤の過程を記録しておく。
Leopardの場合、Smartcard reader/writeのドライバは、
/usr/libexec/SmartCardServices/drivers/
にあるようだ。
現状では、以下のものがある。


sh-3.2# pwd
/usr/libexec/SmartCardServices/drivers
sh-3.2# ls -1
CC-PC-Card.bundle
CCIDClassDriver.bundle
SCR24XHndlr.bundle
ifd-ASEIIIeUSB.bundle
ifdok_cm4040_macos-2.0.0.bundle

ディレクトリの下には、Contents/Info.plist がある。これはxml形式。
一部を抜粋すると、


ifdProductID
0xffff
ifdVendorID
0x04e6
こんなかんじでVendorIDとProductIDが書かれている。

CCIDClassDriverはどうやら汎用的なものらしい。これが動くかどうか実験してみる。
このInfo.plistには上記の例のようにProductID/VendorIDは書かれていなくてClassなどでマッチさせるようだ。
そこで、強制的にProductID, VendorIDを記載してみる。

ProductID/VendorIDは、りんご>このMacについて>ハードウェア>USB をたどって
PCI装置ID/PCI製造元IDの値を使用した。

結果は撃沈。

/var/log/system.logをみてみると、


com.apple.SecurityServer[19]: src/CCIDDriver/specific/MacOSX/tools_mosx.c (63): Bundle InfoDic error: ifdReadTimeOut not found
com.apple.SecurityServer[19]: src/CCIDDriver/USB/MacOSX/usbserial_mosx.c (326): Unable to locate interface
com.apple.SecurityServer[19]: src/CCIDDriver/common/ifdhandler.c (165): OpenReader failed
のような感じのエラーをはいているので、CCIDDriverを使おうとしているっぽいが、失敗している。


これとは別にちょっと調べたところ、CCIDのオープンソースドライバがあることがわかった。

http://pcsclite.alioth.debian.org/ccid.html


上記ページにはMacOSX Leopard 10.5に対応していると書かれている。
しかしconfigureしてみたらusb.hがないと言われて中断。

今後気が向いたら再調査するかもしれないが確定申告に間に合わなければ、VMware上のWindows XPですませるかも。