ブログ

Armadillo-420でMMLink-Lite 3Gを使って見る(イメージ作成編)

at_takuya.sasaki
2016年1月31日 22時24分

以前、安川情報システム株式会社が発売しているUSB 3G通信アダプタ [ MMLink-Lite 3G]を、Armadillo-420で使ってみたときのブログを書きました。
https://users.atmark-techno.com/blog/750/1834

このブログでは設定ファイルなどを標準イメージ上で作成しましたが、RAMDISK上に作成しているため、Armadillo-420をリブートすると消えてしまいます。 ユーザーランドのイメージに設定ファイルを含めてもいいのですが、このファイルはSIMによって変更する必要があるので、今回は、すべてのファイルの実体を /etc/config 上に配置してみたいと思います。

すでにATDEにて、ユーザーランド(Atmark Dist)とカーネルがビルドされている環境を想定しています。ディレクトリ名などは随時読み替えてください。 またSIMはumobileのものを使用しています。ユーザ名/パスワードなどは随時読み替えてください。

1. カーネルコンフィギュレーション

カーネルについては以下のコンフィギュレーションを有効にする必要がありますので、有効化したカーネルをArmadillo-420に書き込んで、Armadillo-420にログインしてください。

Kernel Configuration
    Device Drivers  --->
        [*] USB support  --->
            < >     USB Modem (CDC ACM) support    <-チェックを入れる

2. MMLink-Lite 3G用のoptionファイルの作成

2-1) /etc/defaultにファイルを作成します。
atmark@atde3:~/420core/atmark-dist$ mkdir romfs/etc/default/peers
atmark@atde3:~/420core/atmark-dist$ mkdir romfs/etc/ppp/peers
atmark@atde3:~/420core/atmark-dist$ vi romfs/etc/default/peers/MMLink-Lite_3G
 
以下の内容をファイルに書き込んでください。
 
hide-password
noauth
connect "chat -v -f /etc/ppp/MMLink-Lite_3G"
debug
/dev/ttyACM0
115200
defaultroute
noipdefault
user "umobile@umobile.jp" 
remotename MMLink-Lite_3G
ipparam MMLink-Lite_3G
 
usepeerdns
2-2) シンボリックリンクを張ります
atmark@atde3:~/420core/atmark-dist$ ln -s /etc/config/peers/MMLink-Lite_3G romfs/etc/ppp/peers/MMLink-Lite_3G

3. MMLink-Lite 3G用のchatファイルの作成

3-1) /etc/defaultにファイルを作成します。
atmark@atde3:~/420core/atmark-dist$ vi romfs/etc/default/MMLink-Lite_3G
 
以下の内容をファイルに書き込んでください。
 
# ispauth PAP
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
# ispnumber
OK-AT-OK "ATDT*99***1#"
# ispconnect
CONNECT \d\c
# prelogin
 
# ispname
# isppassword
# postlogin
 
# end of pppconfig stuff
3-2) シンボリックリンクを張ります
atmark@atde3:~/420core/atmark-dist$ ln -s /etc/config/MMLink-Lite_3G romfs/etc/ppp/MMLink-Lite_3G

4. PAP認証用ファイルを作成します

4-1) /etc/defaultにファイルを作成します
atmark@atde3:~/420core/atmark-dist$ vi romfs/etc/default/pap-secrets
 
以下の内容を書き込んでください。
 
# Secrets for authentication using PAP
# client        server  secret                  IP addresses
umobile@umobile.jp * umobile
4-2) シンボリックリンクを張ります
atmark@atde3:~/420core/atmark-dist$ rm -f romfs/etc/ppp/pap-secrets
atmark@atde3:~/420core/atmark-dist$ ln -s /etc/config/pap-secrets romfs/etc/ppp/pap-secrets

5. resolv.confのシンボリックリンクを作成します

atmark@atde3:~/420core/atmark-dist$ ln -s /etc/config/resolv.conf romfs/etc/ppp/resolv.conf

6. ユーザーランドイメージを再作成します

atmark@atde3:~/420core/atmark-dist$ make image

imagesフィルダに再作成されたromfs.img.gzをArmadillo-420に書き込んで再起動します。

次の章からはArmadillo-420側での操作になります。

7. /etc/defaultから各種ファイルをコピーして、フラッシュメモリに保存します

[root@armadillo420-0 (ttymxc1) ~]# cd /etc/config/
[root@armadillo420-0 (ttymxc1) /etc/config]# cp ../default/MMLink-Lite_3G ./
[root@armadillo420-0 (ttymxc1) /etc/config]# cp ../default/pap-secrets ./
[root@armadillo420-0 (ttymxc1) /etc/config]# cp -a ../default/peers/ ./
[root@armadillo420-0 (ttymxc1) /etc/config]# flatfsd -s

8. pppで接続します

[root@armadillo420-0 (ttymxc1) ~]# pppd call MMLink-Lite_3G

9. ログを見てみます

以下のようにIPアドレスが取れていれば成功です。確認できたら、Ctrl-Cでtailコマンドを終了します。

[root@armadillo420-0 (ttymxc1) ~]# tail -f /var/log/messages
~(略)~
<29>Jan  1 09:08:43 pppd[1396]: local  IP address 100.117.133.154
<29>Jan  1 09:08:43 pppd[1396]: remote IP address 100.117.133.154
<29>Jan  1 09:08:43 pppd[1396]: primary   DNS address 202.231.208.73
<29>Jan  1 09:08:43 pppd[1396]: secondary DNS address 202.231.208.74

10. ifconfigでppp0ができているか確認します

[root@armadillo420-0 (ttymxc1) ~]# ifconfig ppp0
ppp0      Link encap:Point-Point Protocol
          inet addr:100.117.133.154  P-t-P:100.117.133.154  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:68 (68.0 B)  TX bytes:148 (148.0 B)

11. 試しにgoogleにpingを飛ばしてみます

[root@armadillo420-0 (ttymxc1) ~]# ping -c 3 google.com
PING google.com (216.58.220.238): 56 data bytes
64 bytes from 216.58.220.238: icmp_seq=0 ttl=55 time=109.5 ms
64 bytes from 216.58.220.238: icmp_seq=1 ttl=55 time=108.5 ms
64 bytes from 216.58.220.238: icmp_seq=2 ttl=55 time=205.8 ms
 
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 108.5/141.2/205.8 ms

12. pppを切断するには以下のコマンドを実行します

[root@armadillo420-0 (ttymxc1) ~]# kill `cat /var/run/ppp0.pid`

以上