Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

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

イントロダクション

※この記載方法だと、Firewallの設定で、LAN側から3G側に通信ができなかったので、修正版の投稿をあげておきました(こちら)。この方法でも、Firewallの設定変更で対応できると思いますが、より簡単な方法を投稿しておきました。
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ドライブとして認識させる

まずは、LG01-JPにDVDドライブとして認識させEjectし、3G USBドングルとして認識させます。

1. LG01-JPのKernelだと、CD-ROMのejectができないため、Kernelを更新します。

opkgコマンドでパッケージをインストールできるようにします(このコマンドは再起動後は毎回実行しないとパッケージのインストールができないようです)。

# opkg update

2. Kernelパッケージをダウンロードし、インストールします。

  • rootディレクトリに移動します。

# cd /root

  • kernelパッケージをダウンロードします。

# wget http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kernel_3.10.49-1-0114c71ed85677c9c1e4911437af4743_ar71xx.ipk

  • kernelパッケージをインストールします。

# opkg install --force-downgrade kernel_3.10.49-1-0114c71ed85677c9c1e4911437af4743_ar71xx.ipk

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

  • sdparm(SCSIデバイスを制御するコマンドです)をインストールします。

# opkg install sdparm

  • SCSI-CDROMドライバをインストールします。

# opkg install kmod-scsi-cdrom

  • 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

80-usbserial
usbserial vendor=0x15eb product=0x7d0e

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

rc.local
sdparm --command=eject /dev/sr0

※exit 0の前に上記を追加

4. 再起動します。

# reboot

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

# ls /dev | grep ttyUSB
ttyUSB0
ttyUSB1
ttyUSB2
ttyUSB3

5. ppp接続の設定

  • pppの設定ファイルを作成します。

# mkdir /etc/ppp/peers
# vi /etc/ppp/peers/soracom-ak020

以下を記述します。

soracom-ak020
# This optionfile was generated by pppconfig 2.3.18.
#
#
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/soracom-ak020"
debug
/dev/ttyUSB0
460800
defaultroute
noipdefault
user "sora"
remotename soracom
ipparam soracom
usepeerdns
persist
replacedefaultroute
  • chatscriptを作成

# vi /etc/chatscripts/soracom-ak020

soracom-ak020
# This chatfile was generated by pppconfig 2.3.18.
'' ATH
OK AT+CFUN=1
OK ATZ
OK 'ATQ0 V1 E1 S0=0 &C1 &D2'
OK AT+CGDCONT=1,"IP","soracom.io"
# Please do not delete any of the comments.  Pppconfig needs them.
#
# ispauth PAP
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
# ispnumber
OK-AT-OK "ATDT*99#"
# ispconnect
CONNECT \d\c
# prelogin
# ispname
# isppassword
# postlogin
# end of pppconfig stuff
  • PPP接続を実行します。

# pppd call soracom-ak020

20秒くらいまってから、接続されたか確認します。

# ifconfig

※Ppp0があるかを確認する。
※Soracomのコンパネでオンラインになっているか確認する。

6. 起動時に自動でPPP接続させる設定をおこないます。

# vi /etc/rc.local

rc.local
sdparm --command=eject /dev/sr0
pppd call soracom-ak020

※pppd call soracom-ak020を追加
Rebootして動作確認

  • PPP接続を切断するには、pppdのプロセスIDを調べて、killして停止します。

# ps | grep pppd
# kill -9 xxxxx(PID)

以上です。

※SORACOM、SORACOM Airは、株式会社ソラコムの登録商標です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?