やまものブログ

メモ書きブログです (^_^;A

Ubuntu 13.10 で SonyのPaSoRi (RC-S330) を使う

確定申告の時期ですね
自分にとっては、毎年、PaSoRi の出番はこの時期だけ。
自宅PC を Ubuntu 環境に移行しようと決めてから、始めて迎える確定申告

まず、SONY のサポートサイトには Windowsサポートしか謳われていない
そこで、ウェブで検索すると、頼もしいブログを発見

Ubuntu 11.04 で SonyのPaSoRi (RC-S330) を使う

ここにあるとおりでうまく行ったかもしれませんが、余計なことをしてしまった可能性もあり、接続を確認できるまで少し悩みました
唯一、情報としてここで申し上げられるのことは、現時点での libnfc の最新版は 1.7.0 のようです。

まずは、反省点を2つほど。

nfc-poll で確認する場合は、PaSoRi にカードを挿しておくこと。

PaSoRi を接続しただけでカードが挿されていないと "No target found." となります。

・ もしかしたら再起動が必要だったかもしれない (が、多分、関係無し)

以上の反省点があることを踏まえて、つまり、もしかしたら要らないコマンドも実行している可能性があることを前置きして、以下が設定のために実行したコマンドです。試行錯誤の様子を交えながらのメモ書きです。

まず、最初は libnfc.so.5 が無いというエラーに出くわしました。
[1]$ sudo apt-get install libusb-dev libpcsclite-dev
[2]$ wget http://libnfc.googlecode.com/files/libnfc-1.7.0.tar.bz2
[3]$ bzip2 -dc libnfc-1.7.0.tar.bz2 | tar xvf -
[4]$ cd libnfc-1.7.0/
[5]$ ./configure
[6]$ make
[7]$ sudo make install
[8]$ nfc-list
nfc-list: error while loading shared libraries: libnfc.so.5: cannot open shared object file: No such file or directory

ネット検索してヒットした以下のサイト:
Libnfc - NFC Tools
libnfc安装在ubuntu
に記載のあった解決の糸口かもしれないと思えたコマンドを実行。
[9]$ sudo apt-get install libusb-0.1-4 libpcsclite1 libccid pcscd libftdi1
[10]$ sudo cp contrib/linux/blacklist-libnfc.conf /etc/modprobe.d/
[11]$ sudo make clean all
[12]$ ./configure --with-drivers=all
[13]$ make
[14]$ sudo make install
[15]$ sudo cp /usr/local/lib/libnfc.so.5 /usr/lib/libnfc.so.5
[16]$ sudo nfc-poll
nfc-poll uses libnfc 1.7.0
NFC reader: Sony / ? opened
NFC device will poll during 30000 ms (20 pollings of 300 ms for 5 modulations)
No target found.
確証の無い感想ですが、[10] は要るのかどうか疑問。[15]は大当たりかも
この時点で力尽きて作業を終了。マシンをシャットダウンして就寝

一晩明けてから作業再開。
sudo nfc-poll を実行するも結果はまったく同じ。(ということは再起動は効果無し?)

今更ながら、USBコマンドをリストアップするコマンドを実行。
$ lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 054c:02e1 Sony Corp. FeliCa S330 [PaSoRi]
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
あれ! 既にそれらしい項目がいるではないですか

ここで、Ubuntu 11.04 で SonyのPaSoRi (RC-S330) を使う をよく読むと、おさいふ携帯を RC-S330 に載せてから nfc-list を実行している

ということで、住基カードをセットして試してみると。。。
$ sudo nfc-poll
nfc-poll uses libnfc 1.7.0
NFC reader: Sony / ? opened
NFC device will poll during 30000 ms (20 pollings of 300 ms for 5 modulations)
ISO/IEC 14443-4B (106 kbps) target:
PUPI: mm nn oo pp
Application Data: aa bb cc dd
Protocol Info: xx yy zz
認識されている

nfc-list はどうかというと…
$ sudo nfc-list
nfc-list uses libnfc 1.7.0
error libnfc.chip.pn53x Unexpected PN53x reply!
NFC device: Sony / ? opened
1 ISO14443B passive target(s) found:
ISO/IEC 14443-4B (106 kbps) target:
PUPI: mm nn oo pp
Application Data: aa bb cc dd
Protocol Info: xx yy zz
よくわからないエラーが出ているのは気になりますが、認識はされている模様

次は実際に確定申告のシステムでちゃんと使えるかどうかです。ブラウザとかプラグインとの相性問題とかありそうで不安ですが、とりあえず、第一関門突破です