Rasberry piでfelica(edy/suica)を読む

Rasberry PIでfelicaIDmを読みたくてウズウズしてたので
「やってみました」historyログをうpしておきます。


意外と簡単に行きましたが
libnfcが手持ちのRC-S320(白PaSeRi)ではどうにも認識ができませんでしたが、
libpafeとちょっとしたPGで対応できました。


以下は非常に参考になりました

Raspberry PiSonyPaSoRi (RC-S330) を動かす
http://kludgelet.blogspot.jp/2012/08/raspberry-pi-sony-pasori-rc-s330_12.html

libpafeで行き先表示板
http://www.ei.fukui-nct.ac.jp/~t-saitoh/mt/2012/07/libpafe.html

libusb libpcscliteをインストール

cd /usr/local/src
wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2
bzip2 -dc libusb-1.0.9.tar.bz2 |tar xvf -
cd libusb-1.0.9
./configure
make 
make install
wget http://ftp.nara.wide.ad.jp/debian/pool/main/p/pcsc-lite/libpcsclite1_1.8.4-1+deb7u1_armhf.deb

dpkg -i libpcsclite1_1.8.4-1+deb7u1_armhf.deb 
apt-get install libusb-dev
apt-get install  libpcsclite-dev 
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 016: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 017: ID 1bcf:0007 Sunplus Innovation Technology Inc. Optical Mouse
Bus 001 Device 018: ID 054c:005d Sony Corp. 
Bus 001 Device 019: ID 054c:005c Sony Corp. 
Bus 001 Device 008: ID 054c:01bb Sony Corp. FeliCa S320 [PaSoRi]

libnfcインストール

RC-S320では動きませんでした

wget http://libnfc.googlecode.com/files/libnfc-1.7.0-rc7.tar.gz
tar xzvf libnfc-1.7.0-rc7.tar.gz

cd libnfc-1.7.0-rc7

./configure
make
make install

libpafeインストール

wget http://homepage3.nifty.com/slokar/pasori/libpafe-0.0.8.tar.gz

tar xzvf libpafe-0.0.8.tar.gz

cd libpafe-0.0.8/

./configure 

make
make install

cat /etc/ld.so.conf.d/local.conf

echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
ldconfig -v

vi /lib/udev/rules.d/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}=="006c", MODE="0664", GROUP="plugdev"
ATTRS{idVendor}=="054c", ATTRS{idProduct}=="01bb", MODE="0664", GROUP="plugdev"
ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02e1", MODE="0664", GROUP="plugdev"

LABEL="pasori_rules_end"
--------------------------

udevadm control --reload-rules

# pasori_test 
PaSoRi (RC-S320)
 firmware version 1.40
Echo test... success
EPROM test... success
RAM test... success
CPU test... success
Polling test... success

IDm読みこみPG

libpafeで行き先表示板
http://www.ei.fukui-nct.ac.jp/~t-saitoh/mt/2012/07/libpafe.html

コンパイル方法

gcc -c felica.cxx
ar r felica.a felica.o
ranlib felica.a
gcc -lpthread -lrt -o felica felica.o felica.a /usr/local/lib/libpafe.a /usr/local/lib/libusb-1.0.a
# ./felica