Dragino社製IoTゲートウェイ LG01-JPを、SORACOM スターターキット(3G USBドングル AK-020)を使ってSORACOM Airに接続する。その２

# イントロダクション
<font color="red"><b>※2017年9月25日、設定方法を整理し、投稿内容を修正しました。</b></font>
Dragino社製のIoTゲートウェイ、LG01-JPを、SORACOM社のSORACOMスターターキット（3G USBドングル AK-020)を使ってSORACOM Airに接続する方法を説明します。
SORACOMスターターキットは、ABIT社製の3G USBドングル　「AK-020」と、SORACOM Air SIMが付属します。
AK-020は、DVDディスクと、3Gドングルの両方の機能を持っており、Linuxに差した場合には、3Gドングルとして認識させなければPPP接続ができません。
認識させるには、USBを差した後に、DVDディスクをEjectすればよいのですが、LG01-JPのLinux（OpenWRT）Kernelでは、DVDドライブのドライバーが組み込まれていないため、認識できず、Ejectできません。

この説明では、LG01-JPでAK-020を3G USBドングルとして認識させ、SORACOM Airに接続するまでを説明します。

# AK-020をDVDドライブとして認識させる
## 1. LG01-JPのファームウェアをアップデートします。
まずは、LG01-JPにDVDドライブとして認識させEjectし、3G USBドングルとして認識させます。
https://www.openwave.co.jp/opwcloud/index.php/s/WhbP62go2BSTFNx
から、「dragino-IoT--v4.2.3-squashfs-sysupgrade.bin」をダウンロードします。
LG01-JPのWEB設定画面の上メニュー、「System」→「Backup/Flash Firmware」で、ダウンロードしたバイナリに、ファームウェアをアップデートしてください。

## 2. 必要なパッケージをインストールします。

- sdparm（SCSIデバイスを制御するコマンドです）をインストールします。
`# wget --no-check-certificate https://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/oldpackages/sdparm_1.04-1_ar71xx.ipk`
`# opkg install --nodeps sdparm_1.04-1_ar71xx.ipk`
<br />

- SCSI-CDROMドライバをインストールします。
`# opkg update`
`# opkg install --nodeps kmod-scsi-cdrom`
<br />

- LG01-JPを再起動します。
`# reboot`
ここまでで、AK-020をDVDドライブとして認識させることができるようになりました。

# AK-020を3G USBドングルとして認識させる
AK-020のDVDドライブをEjectし、3G USBドングルとして認識させます。

## 1. AK-020のDVDドライブをejectする

`# sdparm --command=eject /dev/sr0`

## 2. 3G USBドングルとして認識されたか確認する

- AK-020のVendorIDは15eb、ProductIDは、DVD：a403、3G USBドングル：7d0eです。lsusbコマンドで、ProductIDが7d0eになっていることを確認します。

`# lsusb
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 15eb:7d0e`

## 3. LG01-JP起動時に、usbseriakドライバが組み込まれ、AK-020が3G USBドングルとして認識されるための設定をします。

`# vi /etc/modules.d/80-usbserial`

```bash:80-usbserial
usbserial vendor=0x15eb product=0x7d0e
```

`# vi /etc/rc.local`
（LG01-JP起動時にsdparmコマンドで、DVDをejectします。）

```bash:rc.local
sdparm --command=eject /dev/sr0
```

※exit 0の前に上記を追加


- 再起動します。

`# reboot`

- USBデバイスが存在するか確認します。

`# ls /dev | grep ttyUSB
ttyUSB0
ttyUSB1
ttyUSB2
ttyUSB3`

## 4. ipv6設定をOFFにします。

- ダイヤルアップ接続時にipv6アドレスの取得でエラーが発生し、ダイヤルアップが切断されてしまうため、ipv6の設定をOFFにします。
 
`# uci set network.wan.ipv6=0`
`# uci commit network.wan`


## 5. ppp接続の設定

- LG01-JPのWEB設定画面でプロバイダの情報などを設定します。
「Network」→「Internet Access」を開き、以下の通り設定します。

| Left align       |       Right align |
|:-----------------|------------------:|
|Small Enterprise-Campus Network|
|　Internet Access|
|　　Access Internet Via|USB Modem|
|　　Display Net Connection|名前（適当でOKです）|
|USB Modem Setting|
|　　USB Modem|設定不要|
|　　Modem Status|設定不要|
|　　Available USB Port|設定不要|
|　　USB Modem Service|UMTS|
|　　VID|設定不要（空欄）|
|　　PID|設定不要（空欄）|
|　　Service APN|soracom.io|
|　　Dial String|*99#|
|　　Username|sora|
|　　Password|sora|
|　　PIN|設定不要（空欄）※SIMに設定した場合は必要です。|
|　　USB Serial Port|ttyUSB0|


- /etc/chatscripts/3g.chatファイルを編集します。。

`# vi /etc/chatscripts/3g.chat`

以下の内容に変更します。。

```text:3g.chat

ABORT   BUSY
ABORT   'NO CARRIER'
ABORT   ERROR
REPORT  CONNECT
TIMEOUT 10
""      'ATH'
OK      'AT+CFUN=1'
OK      'ATZ'
OK      'ATQ0 V1 E1 S0=0 &C1 &D2'
OK      'AT+CGDCONT=1,"IP","$USE_APN"'
SAY     'Calling UMTS/GPRS'
TIMEOUT 30
OK      'ATD*99#'
CONNECT ' '
```
- rebootして動作確認します。
'# ifconfig'
 を実行して、3g-wanがあればOKです。