pasori(RC-S370)とlibnfc(1.7.1)の話

はじめに

libnfc-1.7.1は、USBのVID、PID的には pasori(RC-S370)に対応している。 しかし、実際にlibnfc-1.7.1をRaspberry Pi(Raspbian)上でコンパイルし、 そのライブラリを使った自作のプログラムを動かしてみると動かない。

そこで、libnfcのソースコードに少しだけ変更を加えると、 (なんかエラーは出たりするけど) 動くようになったのでその変更点を公開する。

方法1: Unable to set USB configuration (Device or resource busy)と出る場合

やっていることは、libusbのどこかのドキュメントに 書いてあるとおり、usb_detach_kernel_driver_npを 入れることである。

このあたりに 適当に作ったパッチを置いておくので、 libnfc-1.7.1に当てるか、中身を見てソースファイルを書き換えるかすれば、 動くんじゃないかなと思う。

方法2: Application level error detected/Unable to open NFC deviceと出る場合

pn53x_decode_firmware_versionの処理の手前で、 時間をおくと、うまくいったりする。

先と同様に、 このあたりに適当に作ったパッチを置いておく。

おわりに

適当に作ったモノなので、libnfcを 変更せずとも動いているのならこんなの要らないし、 このパッチを当てたからといって、動くことを保証するものではない。

一度makeしたことがある場合には、 過去の何かが残っているかも知れないので、 一旦make cleanした方が良いという点に注意。

rootで動かす必要があったりもする。

過去の文章