デジモノステーション2016年2月号付録の0SIMをRaspberry Piで試す

デジモノステーション 2016年2月号に０SIM by So-net というものが付録で付いてきて一部で流行っています．
– 雑誌「デジモノステーション」最新号 – DIGIMONO！（デジモノ！）

これはこの雑誌を買って付いてきた付録のSIMを使うと雑誌代(620円)だけで開通手続き手数料無料で月あたり500MB迄無料で利用できるというもの．勿論他にSIMを刺す端末は必要です．

【０SIM by So-net】 詳細
形状：nanoSIM 規格：０SIM by So-net 種類：データ通信専用
データ量と料金（２段階定額）
0MB～499MB：0円
500MB ～ 2047MB：100円～1500円
2048MB ～：1600円
速度制限：なし（ただし5GBまで）/ NTTドコモ 4G LTE（下り最大225Mbps）
開通期限：2016年2月24日

上限もあるのでうっかり使いすぎても安心感があります．ちなみに上限をよく超えるようだと別のプランにしたほうがお得です．
一人で複数契約は出来ないのでたくさん買って500MBごとに差し替えて使うと言ったことは出来ない，3ヶ月利用しないと自動解約されるようなので寝かせておくことも出来ないよう．
普通に使うとあっという間に500MB超えちゃうでしょうけど使いようによっては便利に使えそう(気象センサのデータを送るとかなら余裕)．ということで試してみたかったのですがここは鹿児島．都内から最低でも2日遅れなので試せないでいました．昨日やっとコンビニで入手出来たので試してみました．

ちなみにAmazonでは売り切れでマーケットプレイス扱いの物しか無いようです．その中で安いものはSIMなしと書かれているので注意しましょう．

今回はUSBモデムとして以前500円ほどで買った Docomo L-02C を Rasbian jessie を導入した Raspberry Pi 2B に接続して wvdial で接続しました．このモデムは結構電気を食うらしく電源がある程度大容量でないととても不安定になります．今回は秘密結社オープンフォース河野総統謹製の RaspberryPot という GPIO 経由での電源を利用しました．RaspberryPot は現在恐らく入手出来ません．Raspberry Hubu の電源部分を切り出したものなので Raspberry Hubu でも同じことが出来ます．
＃ちなみに Pi で動かす前に Debian testing stretch amd64 な NotePC でも同様の設定で動くのを確認しています．Debian oldstable 以降なら全部同じ手順で行けると思います．

– RaspberryHabu – FABLIB Wiki – FABLIB – OSDN
– 秘密結社オープンフォース

開通手続き

次のページから開通手続きを行います．開通手続きの期限は2016年02月24日．
– http://lte.so-net.ne.jp/r/0sim/a/

ログイン情報はSIMの台紙に書かれています．

必要なソフトウェアの導入

$ sudo apt update && sudo apt upgrade
$ sudo apt install cu wvdial usb-modeswitch

＜追記＞
※必要なソフトウェアの導入にusb-modeswitchパッケージを追加
＜／追記＞

利用ユーザ pi の dialout グループへの登録

この手続きをしないと，ダイヤル時など毎回 sudo しないといけません．

$ sudo addgroup pi dialout

※反映には要ログインしなおし

Docomo L-02C への APN登録

モデムへの接続と動作確認

/dev/ttyUSB2 部分は dmesg|tailなどとして確認して下さい．モデムの他に何も接続していなければ ttyUSB0~ttyUSB3 の4つのデバイスが確認できるはずです．

% cu -l /dev/ttyUSB2 -s 115200
Connected.
atz
OK

現在のAPN確認

AT+CGDCONT?
+CGDCONT: 1,"IP","mopera.net",,0,0,0
+CGDCONT: 11,"IP","mopera.net",,0,0,0

OK

APN(so-net.jp)を設定

AT+CGDCONT=1,"IP","so-net.jp"
OK

※次のようにして複数のAPNを設定することも可能

AT+CGDCONT=2,"IP","lte.nttplala.com"
OK
AT+CGDCONT=3,"IP","mineo-d.jp"
OK

APNが登録できたか確認

AT+CGDCONT?
+CGDCONT: 1,"IP","so-net.jp",,0,0,0
+CGDCONT: 11,"IP","mopera.net",,0,0,0
OK

設定の書き込み

ATZ0
OK

モデムから切断

~.

Disconnected.

ダイヤルアップのために wvdial の設定

/etc/wvdial.conf に以下を追記．

[Dialer 0sim]
Modem Type = Analog Modem
Phone = *99***1#
Carrier Check = no
Auto Reconnect = yes
Stupid Mode = yes

ISDN = 0
Init1 = ATZ
Init2 = ATH
Init3 = AT+CGDCONT?
Init4 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Dial Command = ATD
Modem = /dev/ttyUSB2
Baud = 115200

Username = nuro
Password = nuro

接続

$ wvdial 0sim

接続確認

$ w3m -dump http://ifconfig.me/all
ip_addr: 118.241.XXX.XXX
remote_host: XXXXXXXXXX.ap.nuro.jp
user_agent: w3m/0.5.3+debian-19
port: 44286
lang: ja;q=1.0, en;q=0.5
connection:
keep_alive:
encoding: gzip, compress, bzip, bzip2, deflate
mime: text/html, text/*;q=0.5, image/*, application/*, audio/*, video/*, x-scheme-handler/*, x-content/*, inode/*
charset:
via:
forwarded:

利用状況確認

対のページからログインして利用状況が確認できます．また，400MB を超えるとメールでお知らせも来るらしいです．
– ユーザWebメインメニュー

ということで暫く試してみたいと思います．

※Amazonで雑誌を買う場合はSIMなしのものもあるのでよく確認して購入しましょう．

関連URL

Linux/Device/Docomo_L-02C – matoken’s wiki.

＜追記＞

Twitterで/dev/ttyUSBnが見つからないという書き込みを見て導入パッケージが足りなかったのに気づきました．これが足りないとUSBモデム接続時のdmesgで以下のようにCD-ROMのsr0デバイスが出て来てttyUSBnは出てきません．

$ dmesg | tail

[417400.989925] usb 2-1.1: Product: docomo L02C

[417400.989927] usb 2-1.1: Manufacturer: NTT DOCOMO, INC.

[417400.989928] usb 2-1.1: SerialNumber: 353168046719530

[417400.990982] usb-storage 2-1.1:1.0: USB Mass Storage device detected

[417400.991062] scsi host11: usb-storage 2-1.1:1.0

[417401.988387] scsi 11:0:0:0: CD-ROM            LG       Autorun          2.00 PQ: 0 ANSI: 0

[417401.988771] scsi 11:0:0:0: Attached scsi generic sg2 type 5

[417401.999991] sr 11:0:0:0: [sr0] scsi-1 drive

[417402.000001] cdrom: Uniform CD-ROM driver Revision: 3.20

[417402.000257] sr 11:0:0:0: Attached scsi CD-ROM sr0

この時のベンダーID:プロダクトIDは1004:61ddです．

$ lsusb|grep LG

Bus 002 Device 027: ID 1004:61dd LG Electronics, Inc.

この場合usb-modeswitchパッケージを導入して，

$ sudo apt install usb-modeswitch

USBモデムを接続し直すと出てきます．

$ dmesg | tail

[417994.525827] usb 2-1.1: Product: docomo L02C

[417994.525830] usb 2-1.1: Manufacturer: NTT DOCOMO, INC.

[417994.527296] option 2-1.1:1.0: GSM modem (1-port) converter detected

[417994.527511] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB0

[417994.527807] option 2-1.1:1.1: GSM modem (1-port) converter detected

[417994.527997] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB1

[417994.528217] option 2-1.1:1.2: GSM modem (1-port) converter detected

[417994.528346] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB2

[417994.528597] option 2-1.1:1.3: GSM modem (1-port) converter detected

[417994.528741] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB3

プロダクトIDも61ddから618fに変わりました．

$ lsusb|grep LG

Bus 002 Device 029: ID 1004:618f LG Electronics, Inc. Ally/Optimus One

何故CD-ROMデバイスが出てくるかというとWindows環境などでのツールやドライバ導入のためです．このCD-ROMデバイス中にツールやドライバが入っていて簡単に導入が出来るというものなのですが，Linux版のツールやドライバは入っていないです．usb-modeswitchパッケージはCD-ROMからUSBモデムへのデバイスの切り替えをしてくれます．

＜／追記＞