はじめに
qiitaには下記のような素晴らしい記事があります。
ですが、これらの記事は2017年と古く、そのまま試したらlibpafeをうまくインストールできませんでした。
ちょっといじってなんとかしたので、その記録です。
ということでImagawayaki氏の記事をほぼ丸パクリでお送りします。
動作環境
- マシン: ラズパイ4
- OS: Raspbian bullseye aarch64
- FeliCaリーダ: Sony RC-S320
ライブラリ
-
libpafeを使う。
- RC-S320とかいう骨董品にはたぶんこれしか使えない
環境設定
ここに一工夫があります。
$ sudo apt install libusb-dev
$ git clone https://github.com/rfujita/libpafe.git
$ cd libpafe
$ ./configure #<- 今はうまくできない
./configure
をすると、このままではエラーになってしまいます。具体的には
checking build system type...
で躓き、
unable to guess system type
とか
configure: error: cannot guess build type; you must specify one
などと言われます。
これは同梱されているconfig.guess
さんがaarch64をうまく識別できないことが原因です。ということで、こんなやつに頼らず決め打ちしてしまいましょう。
config.guess
ファイルの中身を全部消して、以下のようにします。
config.guess
echo aarch64-unknown-linux-gnu
exit ;;
スッキリ!
これでもう一回
$ ./configure #<- 直したのでうまくいく
$ make
$ sudo make install
とすれば無事インストールできます。
動作確認
$ sudo ./tests/pasori_test
PaSoRi (RC-S320)
firmware version 1.40
Echo test... success
EPROM test... success
RAM test... success
CPU test... success
Polling test... success
こんな風になればOKです。
sudo不要にする
$ sudo mousepad /lib/udev/rules.d/60-libpafe.rules
テキストエディタが開くので以下を書き込む。
60-libpafe.rules
ACTION!="add", GOTO="pasori_rules_end"
SUBSYSTEM=="usb_device", GOTO="pasori_rules_start"
SUBSYSTEM!="usb", GOTO="pasori_rules_end"
LABEL="pasori_rules_start"
ATTRS{idVendor}=="054c", ATTRS{idProduct}=="01bb", MODE="0664", GROUP="plugdev"
ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02e1", MODE="0664", GROUP="plugdev"
LABEL="pasori_rules_end"
$ sudo udevadm control --reload-rules
を実行
$ sudo reboot
で再起動する
サンプルコードとか
あとはまかせた!!(僕の環境ではコピペでちゃんと動いた)
余談
タイトルに【2025年最新】って書くとメルカリとかヤフオクみたいだよね。胡散臭い。