問題タブ [acr122]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - NFC リーダー「SELECT (by AID)」APDU が Android デバイスにルーティングされない
ACR122ドライバーがインストールされたWindowsマシンにACR122U NFCリーダー/ライターを接続しています。
API を使用javax.smartcardio
して SELECT (AID による) ADPU を Android デバイス (HCE モードにする必要があります) に送信しようとしています。
これは私のコードです:
これは私が得る出力です:
私01020304
のAndroidデバイスからNFCリーダーに提示されたUIDだと思います。SELECT APDU は応答を返しません。長さは 0 バイトです。
私の Android デバイスには、次のサービスがあります。
しかしprocessCommandAdpu
、呼び出されていません。ログを調べたところ、SELECT ADPU がリーダーに送信されたと思われるときに何も見つけることができなかったので、ADPU が Android デバイスに到達していないようです。
これは、Android プロジェクトの apduservice.xml です。
それに加えて、送信時に NFC リーダーが多少動かなくなる ADPU がいくつかあります。例えば、
これは、PN532 チップの現在のステータスを照会する疑似 APDU であり、応答を返しません。この特定のリーダーに欠陥がある可能性はありますか? どうすれば確認できますか?
更新(チャットでの議論に基づく):
2 番目のリーダー (同じモデル、同じバージョン) を使用したテストが機能しました。したがって、最初のリーダーのあいまいな設定であるか、リーダーが誤動作していた可能性があります。
両方のリーダーのバージョン情報は同じです。
- ACR122U ファームウェア バージョン: 41435231323255323135 (-> ACR122U215)
- PN532 バージョン: D503 32010607 9000 (-> PN532 v1.6)
nfc - ACR122U を使用する libnfc が SELECT (AID による) APDU で応答しない
NFC リーダーの「SELECT (by AID)」を参照してください。APDU は、デバッグおよび最終的な結果で Android デバイスにルーティングされません。TL;DR読者は単に機能していない可能性があります。
ACR122U nfc リーダーがあります。この例http://www.nfc-tools.org/index.php?title=Libnfc:APDU_example#apdu_example.cを Ubuntu マシンで実行しようとしました。
これは、Android デバイス (HCE モードである必要があります) をリーダーにタップしたときに得られるログ出力です。
(01 02 03 04)
基本的に、UID (または別のデバイスをタップすると別の UID)が表示されるので、私の Android デバイスがリーダーに表示されていることがわかります。その後、select AID
apdu の送信がタイムアウトするだけで、Android ログに関連する応答が表示されません。
Android デバイスには、選択しようとしている AID を使用してアプリケーションがインストールされていますf0 01 02 03 04 05 06
。
これは、この特定のリーダーに問題がある可能性がありますか? リーダーの応答を停止しているように見える他の ADPU もあります。たとえば、応答がありFF 00 00 00 02 D4 04
ません。どうにかしてハードウェアを診断できますか?
ubuntu - ACR122 NFC リーダーが libnfc ubuntu で動作しない
ubuntu 18.10でlibnfcを使用してセットアップする必要がある新しいACR122U-A9 nfcリーダーを手に入れました。mfoc は libnfc と連携する必要があるため (libnf なしで mfoc を使用する方法があれば、すばらしい! その解決策も役に立ちます!) libnfc 1.7.1 をインストールして数時間の調査を行った後、私はまだやったそれを機能させません。使用sudo nfc-list
して pcscd が実行されていないたびに、次のエラーが表示されます。
pcscd が実行中の場合、エラーは次のようになります。
そして時々これも現れます:
私がそれから読んだことは次のとおりです。
- libnfc は動作します
- ドライバの問題があります
- 何かが読者をブロックする
- その何かがpcscdです(インターネットによると)
私はすでに次のことをしました:
nfc
pn533
pn533_usb
ファイルのブラックリスト/etc/modprobe.d/blacklist-libnfc.conf
- pcscd デーモンを停止します
- 上記のドライバーを手動で削除します
sudo modprobe -r <driver>
- ここからデバイス ドライバーをインストールします: https://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/
- ラップトップを約100回再起動します
- nfcの神に祈る
誰かが私を助けたり、私が間違っていたことを教えてくれますか? 前もって感謝します!
PS: どうにかして pcscd で動作するようになりましたが、mfoc でそれを使用する方法を理解できなかったので (それが可能であったとしても) 役に立ちません。