クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

Raspberry Pi 2 Model BをSORACOM Airに接続してみました。 #soracom

L-02Cの中古品を秋葉原のとある店で入手して、Raspberry Pi 2 Model BからSORACOM Airに接続してみました。

L-02CをRaspberry PiのUSBに接続すると、CDROMとして認識するので、ejectします。

# tail -f /var/log/messages
Nov 29 15:10:16 raspberrypi kernel: [ 175.315695] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 29 15:10:16 raspberrypi kernel: [ 175.315712] usb 1-1.4: Product: docomo L02C
Nov 29 15:10:16 raspberrypi kernel: [ 175.315728] usb 1-1.4: Manufacturer: NTT DOCOMO, INC.
Nov 29 15:10:16 raspberrypi kernel: [ 175.315744] usb 1-1.4: SerialNumber: 353168047113660
Nov 29 15:10:16 raspberrypi kernel: [ 175.317668] usb-storage 1-1.4:1.0: USB Mass Storage device detected
Nov 29 15:10:16 raspberrypi kernel: [ 175.321508] scsi host0: usb-storage 1-1.4:1.0
Nov 29 15:10:17 raspberrypi kernel: [ 176.314558] scsi 0:0:0:0: CD-ROM LG Autorun 2.00 PQ: 0 ANSI: 0
Nov 29 15:10:17 raspberrypi kernel: [ 176.345053] sr 0:0:0:0: [sr0] scsi-1 drive
Nov 29 15:10:17 raspberrypi kernel: [ 176.345083] cdrom: Uniform CD-ROM driver Revision: 3.20
Nov 29 15:10:17 raspberrypi kernel: [ 176.358871] sr 0:0:0:0: Attached scsi generic sg0 type 5

必要なものをインストール。

# sudo apt-get install usb-modeswitch wvdial

デバイス認識情報を確認します。

# lsusb
Bus 001 Device 004: ID 1004:61dd LG Electronics, Inc.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

認識した情報から40-usb_modeswitchrulesに記載して、デバイスを再起動します。

ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61dd", RUN+="usb_modeswitch '%b/%k'"

usbデバイスが認識していることを確認します。

# ls /dev/ttyUSB*
/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3

wvdial.confへの記載※自分の場合は、ttyUSB2になっていましたが、場合により別かもしれません。


# vi wvdial.conf

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Dial Attempts = 3
Modem Type = Analog Modem
Dial Command = ATD
Stupid Mode = 1
Baud = 460800
New PPPD = yes
ISDN = 0
Phone = *99***1#
Carrier Check = no
Modem = /dev/ttyUSB2
APN = soracom.io
Username = sora
Password = sora

接続

# sudo wvdial &

ifconfigに、ppp0があることを確認、ppp0にプライベートIPが割り当てられているので、SORACOMまではインターネットに出ていないことが確認できます。

# ifconfig
3: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3
link/ppp
inet 10.166.183.42 peer 10.64.64.64/32 scope global ppp0
valid_lft forever preferred_lft forever

ルーティングをppp0にします。

# sudo route del default
# sudo route add default dev ppp0
# sudo route

SORACOM User consoleで、メタデータサービスの設定をしておきます。

$ curl -s http://metadata.soracom.io/v1/subscriber | jq .
{
"imsi": "44010xxxxxxxxxx",
"msisdn": "81xxxxxxxxxx",
"ipAddress": "10.xxx.xxx.xx",
"apn": "soracom.io",
"type": "s1.slow",
"groupId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
"createdAt": 1448079978960,
"lastModifiedAt": 1448780464401,
"expiredAt": null,
"terminationEnabled": false,
"status": "active",
"tags": {},
"sessionStatus": {
"lastUpdatedAt": 1448780464401,
"imei": "xxxxxxxxxxxxxxx",
"location": null,
"ueIpAddress": "10.xxx.xxx.xx",
"dnsServers": [
"100.127.0.53",
"100.127.1.53"
],
"online": true
},
"speedClass": "s1.slow",
"moduleType": "nano",
"plan": 0,
"expiryTime": null,
"operatorId": "OPxxxxxxxxxx",
"createdTime": 1448079978960,
"lastModifiedTime": 1448780464401
}

下記を参考にして、あっさり接続ができました。下記にも記載していますが、wvdialがエラーになることが1度ありました。

下記コメントも頂きました。後ほどトライします。

コメントは受け付けていません。