libnfc-1.5.1を解凍すると、README-Windows.txtというファイルがある。
これを読みながらやってみた。
最初は素直にMinGWとLibUSB 1.2.5をインストールしたのだがどうもうまくいかん。
しかし本当に「素直に」やるならば、MinGWではなくて、テキストの一番下にリンクがあるTDM-GCCというものを使うやり方になるのだった。
cmake-guiで、ビルドしたいpn53x_usbドライバを指定してconfigure。
なんかエラーが出たけど、もう一度configure。
LibUSBのincludeとlibを指定してなかったのでエラー→指定してconfigure。
そうすると、通った。
あとは書いてあるとおりに、mingw32-make。
こちらはwarningは出るけれども、最後まで通った。
examplesディレクトリにexeがあるので、よくわからないままnfc-poll.exeを実行。
・・・libnfc.dllがない、と。
どっかパスが通る場所にlibnfc.dllを置いて実行。
・・・NFCデバイスがない、と。
LibUSBのドライバを正しくインストールしていないためだった。
LibUSBからダウンロードしたファイルを解凍すると、binの中にinf-wizard.exeがある。
それを実行する前にlibusb-win32-bin-README.txtを読むと、dllのファイル名を変更せよとある。
なので、それに従って名前を変え、inf-wizard.exeを起動。
PaSoRiを選択したらinfができ、そのままインストールまで実行できる。
インストールすると、デバイスマネージャの「libusb-win32 devices」の下にPaSoRiが出てくる。
zadigで最初はやってたのだが、それではだめなようだ。
一度インストールしてしまえば、install-filter-win.exeが使えたような気がするが、まあいいや。
この状態でPaSoRiの上にMifare Standardカードを置いて、nfc-poll.exeを実行。
nfc-poll uses libnfc 1.5.1
Connected to NFC reader: Sony / RC-S370/P - PN533 v1.48 (0x07)
NFC device will poll during 30000 ms (20 pollings of 300 ms for zd modulations)
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
UID (NFCID1): 1e 63 b2 53
SAK (SEL_RES): 08
ふむ、動いていそうだ。
FeliCa Liteカードでもやってみたが、ちゃんとIDmなどが取れている。