ICカードリーダドライバ(PCSC対応)について

現在私は、PCSC対応のカードリーダを用いて、
スマートカードにアクセスするアプリを作成しようとしています。
UnixやMacについては全くの初心者です。。。
どなたかお助けいただけませんでしょうか?
カードリーダ・ドライバであるbundleを/usr/local/pcsc/drivers
にコピーして、ターミナルからpcscdというデーモンを動かしました。
このデーモンがカードリーダの状態監視を開始するはずなのですが、
----------------------------
>/usr/sbin/pcscd -d stdout
src/pcscdaemon.c:258 main: debug message to stdout
src/pcscdaemon.c:395 main: warning: no reader.conf found
src/pcscdaemon.c:413 main: pcsc-lite daemon ready.
Bus error
----------------------------
「Bus error」というメッセージが出力されて異常終了してしまい
ます。
カードリーダ:ASC_ACR30U(USB接続)

投稿日 2003/06/03 08:42

返信: 8

2003/06/03 08:56 Community User への返信

‾/Library/Logs/CrashReporter/にpcscd.crash.logが出ていると思いますので、それを眺めてみては?
および、gdbでrunするのも良いと思いますが。

2003/06/03 11:34 Community User への返信

きくちさん、ありがとうございます。
pcscd.crash.logは以前も確認したのですが、
下記の通りで全く分かりません。。。
また、gdbにおいては、
「Program exited normally.」
と出力され、エラー情報もなく終了してしまいます。
---------------pcscd.crash.log---------------------
Command: pcscd
PID: 452
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000
Thread 0 Crashed:
#0 0x90016814 in strtoul
.........
PPC Thread State:
srr0:0x90016814 srr1:0x0200f030 ..................
.....................
-------------------------------------------------
・・・USBカードリーダに接続できないということが、
なんとなく分かるくらいです。
実行したpcscdは、PC購入時から/usr/sbin/に存在しますし、
ドライバもSmartWireless社からダウンロードした、
Mac OSX対応のbundleをコピーしてマニュアルの通り
セットアップしたはずなのですが。。
ドライバの在り処)
http://smartwireless.jp/download/driver.html

2003/06/03 12:02 Community User への返信

> 実行したpcscdは、PC購入時から/usr/sbin/に存在しますし、
あ、これは失礼。(^^;
> スマートカードにアクセスするアプリを作成しようとしています。
こう↑あったので、てっきりご自身でmakeされたのかと...。

2003/06/13 10:31 Community User への返信

日本語環境では、ターミナルからの起動はできません。
通常は、システム起動時に起動するように設定する必要があります。
これを行うことのできるSDKが以前アップルのデベロッパにはあったのですが現在は削除されています。
ターミナルで起動したい場合、英語環境にしてrootでloginする必要があります。
システム起動時に起動する方法は、
/System/Library/StartupItems/SmartCardServices/ ディレクトリを作成
SmartCardServicesを作成し下記の内容とする。
#!/bin/sh
##
# Start PC/SC
##
. /etc/rc.common
ConsoleMessage "Starting SmartCard Services"
rm -rf /tmp/pcsc
/usr/sbin/pcscd
StartupParameters.plistを作成し下記の内容とする。
{
Description = "PC/SC Daemon";
Provides = ("SmartCardServices");
Requires = ();
OrderPreference = "None";
Messages =
{
start = "Starting SmartCard Services";
stop = "Stopping SmartCard Services";
};
}
以上
尚、pcscdにはいくつかの致命的なバグがあります。
1。スリープモードから復帰すると動作しなくなる。
2。同じ会社のリーダを複数接続して1台抜くとpcscdがクラッシュする
3。スループ中にリーダを追加するとpcscdのリーダ一覧がおかしくなる

2003/06/13 11:00 Community User への返信

日本語環境では、ターミナルからの起動はできません。
通常は、システム起動時に起動するように設定する必要があります。
これを行うことのできるSDKが以前アップルのデベロッパにはあったのですが現在は削除されています。
ターミナルで起動したい場合、英語環境にしてrootでloginする必要があります。
システム起動時に起動する方法は、
/System/Library/StartupItems/SmartCardServices/ ディレクトリを作成
SmartCardServicesを作成し下記の内容とする。
#!/bin/sh
##
# Start PC/SC
##
. /etc/rc.common
ConsoleMessage "Starting SmartCard Services"
rm -rf /tmp/pcsc
/usr/sbin/pcscd
StartupParameters.plistを作成し下記の内容とする。
{
Description = "PC/SC Daemon";
Provides = ("SmartCardServices");
Requires = ();
OrderPreference = "None";
Messages =
{
start = "Starting SmartCard Services";
stop = "Stopping SmartCard Services";
};
}
以上
尚、pcscdにはいくつかの致命的なバグがあります。
1。スリープモードから復帰すると動作しなくなる。
2。同じ会社のリーダを複数接続して1台抜くとpcscdがクラッシュする
3。スループ中にリーダを追加するとpcscdのリーダ一覧がおかしくなる

2003/06/16 17:28 Community User への返信

perekomaさん、ありがとうございます!
pcscdは正常に動作しているようです。
pcscdの持つバグについても、丁寧なご説明ありがとうございます。
よくご存知のようなので、さらに質問させてください。
Mac OSX対応のカードリーダって、国内で簡単に入手できるので
しょうか?ご存知でしたら、ご紹介いただけないでしょうか?
最初の私の書き込みでは、Mac OSX対応のリーダを持っている
ということを記載していましたが、実は最近になってそれが
疑わしくなってきました。
下記は、細かい情報かもしれませんが、現在の私の状況です。
---------------------------------------------------
私が現在持っているカードリーダは、
ASC社(http://www.acs.com.hk)の提供するカードリーダの同等品、
とある別の国内の会社が提供するリーダです。
この会社のサイトから、ACS社と同じMac OSX対応のドライバを
ダウンロードすることができます。しかしながら、どうやっても
うまくいかないので、同会社に問い合わせたところ、
「Macに対応している」という明確な回答は得られませんでした。
また、他の会社にも問い合わせましたが、
「Mac対応のカードリーダだ」という確信が持てる会社は、
未だ見付かっていません。
ちなみに---------------------------------------
私はhttp://www.linuxnet.comで入手した、
「JPC/SC Java API」を用いてICカードと通信する
アプリケーションを開発しようとしています。
しかしながら、perekomaさんのアドバイスの通り、
pcscdを動かした状態でテストプログラムを実行しても、
リーダのリストを取得する段階で、
java.lang.RuntimeException: no reader found
の例外が発生してしまいます。
他にも、Gemplus社やSchlumberger社などからダウンロードした
Mac対応のドライバもインストールして試したのですが、
上記と同じ例外が発生してしまいます。
やっぱりリーダ本体が無いとだめでしょうか?

2003/06/17 08:52 Community User への返信

アプリを作成するには、リーダ及びICカードが必須です。
リーダが正常に動作するかは、/usr/bin/pcsctestを実行するとリーダ名及びICカードのATRを取得できます。
これが最低動作しないとアプリの開発は不可能です。
カードリーダの情報は、
http://www.linuxnet.comにアップロードされている
Omnikey Cardman 2020/6020 は動作していることは確認しています。
その他に関しては、
今回、某国内メーカからの依頼でOSX対応を行っている関係でカードリーダに関してはこれ以上詳細には公表できないためご勘弁願います。

2003/06/20 10:57 Community User への返信

いろいろと貴重な情報ありがとうございました。
私の方でも再度問い合わせしたところ、現在私の持っている
カードリーダは、OS10.1には対応しているものの、未だ10.2
には対応していないようです。
→10.2からはpcsc-liteがプレインストールされているのが
 原因か?
10.1で動作しているドライバが10.2では動作しないことが
確認されているようです。私のMacもまさしくOS 10.2だっ
たので、動作しなかったのは納得しました。
この会社は、来月くらいまでにその対応を行う予定とのこ
とを聞きました。

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

ICカードリーダドライバ(PCSC対応)について

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。