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`
以上