先日、ラップトップから取り込んだスマートカードリーダーを入手しました。内蔵のスマートカードリーダーですが、USBを使用しているため、ケーブルを作成しても問題ありません。
USBドライバーによって正しく認識されているようです:
[1370965.148035] usb 1-3.2: new low-speed USB device number 25 using ehci-pci
[1370965.229948] usb 1-3.2: New USB device found, idVendor=08d4, idProduct=0009
[1370965.229962] usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[1370965.229969] usb 1-3.2: Product: Fujitsu Siemens USB Smartcard Reader
[1370965.229976] usb 1-3.2: Manufacturer: OMNIKEY AG
それはかなり湿った標準のFujitsu Siemens USBスマートカードリーダーであるため、「Fujitsu Siemens SmartCard USB 2A」および「Fujitsu Siemens SmartCard Keyboard USB 2A」のドライバーで動作するはずです。どちらもまったく同じものですが、「キーボード」のバリエーションがUSBキーボードに永続的に接続されている点が異なります(同じ場合)。
PC/SCドライバーがリーダーを認識しません。上記のリーダーは libccid でサポートされていますが、pcscd
はベンダーと製品IDでリーダーを認識できません。
00000286 hotplug_libudev.c:260:get_driver() Looking for a driver for VID: 0x08D4, PID: 0x0009, path: /dev/bus/usb/001/026
(次のUSBデバイスにステップオーバーするだけです。最終的には、すべてのUSBデバイスを試し、その後は何もしません。)
私は今何をすべきかいくつかのアドバイスが欲しいのですが?私にできる唯一のことは、CCIDドライバーのソースをダウンロードしてそこにハックすることです。少なくとも、それが今思いつくことができる唯一のことです。他に試すことができるものはありますか?
OpenCT :
/etc/openct.conf
の行のコメントを外す必要がありました:
driver cardman {
ids = {
# usb:076b/0596, # OMNIKEY CardMan 2020
# usb:076b/1784, # OMNIKEY CardMan 6020
usb:08d4/0009, # Fujitsu Siemens SCR USB Reader
};
};
これらのcardman
ドライバーのIDがコメント化されている理由がわかりません。おそらくドライバーがまだ機能していないのでしょうか?
とにかく、これでopenct-tool
で何かを取得できます:
$ openct-tool list
0 OMNIKEY CardMan 2020/6020/6120
単純なEEPROMカードを挿入しましたが、このカードを検知しましたが、そこから読み取ることができません。
$ openct-tool read
Detected OMNIKEY CardMan 2020/6020/6120
Card present, status changed
failed to reset card
ですから、まだ機能していません。
以前はこのカードリーダーをサポートするPC/SCのドライバーがありました: pcsc-lite-cm202 、しかし、今ではなくなっているようです。
ソースパッケージ をメーカーからダウンロードしました。とても古いです。コンテンツを/usr/lib64/pcsc/drivers
にコピーしましたが、間違ったアーキテクチャ用にコンパイルされているため、明らかに機能しません。
そこにある唯一のソースは、カーネルモジュールをコンパイルしますが、pcscd
に必要なlibcm2020.so
はコンパイルしません。
何かが足りない場合、libcm2020.so
のソースを見つけることができませんでした。実際にライブラリをコンパイルすることは可能です。ソースを見つける場所のヒントはすばらしいでしょう。
openct-tool read
これをルートとして試すか、USBカードリーダーの権限を確認してください(smargoと呼ばれる別のカードリーダーを使用し、ttyUSB0に接続されているため、/ dev/ttyUSB0を確認します)。その後、やり直します。
openct-tool read