こちらを参照してください。
拡張ボードに搭載している3G通信モジュール LISA-U200 を使用して、FOMA網へ接続します。
例として、DTIの ServersMan SIM LTE の回線で接続してみます。
設定用に、wvdial というパッケージを用意してあります。
user1@plum:~$ sudo dpkg -l wvdial [sudo] password for user1: Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=====================-===============-===============-================================================ ii wvdial 1.61-4.1 armhf intelligent Point-to-Point Protocol dialer user1@plum:~$
wvdialconf コマンドを実行します。
ATコマンドが使用できるシリアルポートデバイスを自動検索して、設定ファイルの雛形を作成してくれます。
user1@plum:~$ sudo wvdialconf Editing `/etc/wvdial.conf'. Scanning your serial ports for a modem. ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. Modem Port Scan<*1>: S2 S3 S4 S5 S6 S7 ttyACM0<*1>: ATQ0 V1 E1 -- OK ttyACM0<*1>: ATQ0 V1 E1 Z -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM0<*1>: Modem Identifier: ATI -- LISA-U200-62S-00 ttyACM0<*1>: Speed 4800: AT -- OK ttyACM0<*1>: Speed 9600: AT -- OK ttyACM0<*1>: Speed 19200: AT -- OK ttyACM0<*1>: Speed 38400: AT -- OK ttyACM0<*1>: Speed 57600: AT -- OK ttyACM0<*1>: Speed 115200: AT -- OK ttyACM0<*1>: Speed 230400: AT -- OK ttyACM0<*1>: Speed 460800: AT -- OK ttyACM0<*1>: Max speed is 460800; that should be safe. ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM1<*1>: ATQ0 V1 E1 -- OK ttyACM1<*1>: ATQ0 V1 E1 Z -- OK ttyACM1<*1>: ATQ0 V1 E1 S0=0 -- OK ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM1<*1>: Modem Identifier: ATI -- LISA-U200-62S-00 ttyACM1<*1>: Speed 4800: AT -- OK ttyACM1<*1>: Speed 9600: AT -- OK ttyACM1<*1>: Speed 19200: AT -- OK ttyACM1<*1>: Speed 38400: AT -- OK ttyACM1<*1>: Speed 57600: AT -- OK ttyACM1<*1>: Speed 115200: AT -- OK ttyACM1<*1>: Speed 230400: AT -- OK ttyACM1<*1>: Speed 460800: AT -- OK ttyACM1<*1>: Max speed is 460800; that should be safe. ttyACM1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM2<*1>: ATQ0 V1 E1 -- OK ttyACM2<*1>: ATQ0 V1 E1 Z -- OK ttyACM2<*1>: ATQ0 V1 E1 S0=0 -- OK ttyACM2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyACM2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyACM2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM2<*1>: Modem Identifier: ATI -- LISA-U200-62S-00 ttyACM2<*1>: Speed 4800: AT -- OK ttyACM2<*1>: Speed 9600: AT -- OK ttyACM2<*1>: Speed 19200: AT -- OK ttyACM2<*1>: Speed 38400: AT -- OK ttyACM2<*1>: Speed 57600: AT -- OK ttyACM2<*1>: Speed 115200: AT -- OK ttyACM2<*1>: Speed 230400: AT -- OK ttyACM2<*1>: Speed 460800: AT -- OK ttyACM2<*1>: Max speed is 460800; that should be safe. ttyACM2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyACM3<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyACM3<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud ttyACM3<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. ttyACM4<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyACM4<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud ttyACM4<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. ttyACM5<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyACM5<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud ttyACM5<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. ttyACM6<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyACM6<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud ttyACM6<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. Found an USB modem on /dev/ttyACM0. /etc/wvdial.conf<Warn>: Can't open '/etc/wvdial.conf' for reading: No such file or directory /etc/wvdial.conf<Warn>: ...starting with blank configuration. Modem configuration written to /etc/wvdial.conf. ttyACM0<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ttyACM1<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ttyACM2<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" user1@plum:~$
/etc/wvdial.conf に生成されました。
ファイルの内容を確認してみます。
user1@plum:~$ cat /etc/wvdial.conf [Dialer Defaults] Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Modem Type = USB Modem ; Phone = <Target Phone Number> ISDN = 0 ; Username = <Your Login Name> Init1 = ATZ ; Password = <Your Password> Modem = /dev/ttyACM0 Baud = 460800 user1@plum:~$
ServersMan SIM LTE は下記のとおり設定する必要があります。
項目 | 値 |
---|---|
名前 | 任意 (例: DTI) |
APN | dream.jp |
ユーザー名 | user@dream.jp |
パスワード | dti |
認証タイプ | CHAP または PAP |
PDPタイプ | IP |
ダイヤル番号 | \*99\*\*\*1#1) |
この設定の通り、設定ファイルを編集します。
[Dialer Defaults] Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Modem Type = USB Modem Phone = *99***1# ISDN = 0 Username = user@dream.jp Init1 = ATZ Init3 = AT+CGDCONT=1,"IP","CHAP:dream.jp" Password = dti Modem = /dev/ttyACM0 Baud = 460800
“AT+CGDCONT”2) の部分で、通常はない “CHAP:” という文字列が APN の前に付与されていますが、
これは LISA-U200 固有の設定となります。
wvdial コマンドで、フォアグランドで接続テストを行ってみます。
user1@plum:~$ sudo wvdial --> WvDial: Internet dialer version 1.61 --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK --> Sending: AT+CGDCONT=1,"IP","CHAP:dream.jp" AT+CGDCONT=1,"IP","CHAP:dream.jp" OK --> Modem initialized. --> Sending: ATDT*99***1# --> Waiting for carrier. ATDT*99***1# CONNECT --> Carrier detected. Waiting for prompt. ~[7f]}#@!}!}!} }9}"}&} } } } }#}%B#}%}%}& }<_K}'}"}(}"mB~ --> PPP negotiation detected. --> Starting pppd at Tue Apr 22 14:49:23 2014 --> Pid of pppd: 2143 --> Using interface ppp0 --> pppd: ��[04][01]8�[04][01]��[04][01] --> pppd: ��[04][01]8�[04][01]��[04][01] --> pppd: ��[04][01]8�[04][01]��[04][01] --> pppd: ��[04][01]8�[04][01]��[04][01] --> pppd: ��[04][01]8�[04][01]��[04][01] --> local IP address 100.64.21.xxx --> pppd: ��[04][01]8�[04][01]��[04][01] --> remote IP address 100.64.21.xxx --> pppd: ��[04][01]8�[04][01]��[04][01] --> primary DNS address 202.231.208.73 --> pppd: ��[04][01]8�[04][01]��[04][01] --> secondary DNS address 202.231.208.74 --> pppd: ��[04][01]8�[04][01]��[04][01]
接続できることが確認できました。
/etc/network/interfaces に wvdial で接続する設定を追加し、ifup コマンドで接続できるようにします。
下記設定を、/etc/network/interfaces ファイルに追加します。
auto ppp0 iface ppp0 inet wvdial
ifup コマンドで接続してみます。
user1@plum:~$ sudo ifup ppp0 user1@plum:~$ ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:100.64.147.xxx P-t-P:100.64.147.xxx 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:135 (135.0 B) user1@plum:~$
接続できることが確認できました。
wvdial を使用して設定する場合は設定は簡単なのですが、オンデマンド接続などの細かい設定ができません。
細かい制御をする場合、pppd の設定ファイルを作成する必要がありますが、メニューにより簡単に設定することができる
pppconfig というユーティリティが利用できます。
上の例と同じく、ServersMan SIM LTE を使用した場合の設定をしてみます。
pppconfig を起動します。
メニュー画面が表示されます。
user1@plum:~$ sudo pppconfig
“Create” を選択し、Enter を押します。
ISPの名前を入力します。何をいれても構わないのですが、“pon” / “poff” コマンドによる
接続・切断の際にこの名前を使用しますので、ここでは “DTI” と設定することにします。
DNS の設定をします。接続した際に割り振られますので、“Dynamic” を選択します。
認証の方式を選択します。CHAP でも PAP でも構わないのですが、今回は PAP を選択します。
ISPから指定された “ユーザー名” を設定します。
“user@dream.jp” と設定します。
ISPから指定された “パスワード” を設定します。
“dti” と設定します。
モデムとの通信速度を設定します。“460800” と設定します。
ダイヤル方式を選択します。“Tone” のままでOKです。
ダイヤル番号を設定します。“\*99\*\*\*1#” と設定します。
モデムデバイスを自動認識させるかどうかの選択をします。
明示的に指定したいので “No” を選択します。
モデムデバイスを指定します。“/dev/ttyLISA0” と入力します。
設定が完了しました。
“Finished” を選択すると、設定をファイルに出力してメインメニューにもどります。
デマンド接続など、細かい設定をしたい場合は、“Advanced” を選択します。
“Quit” を選択し、pppconfig を終了します。
pppconfig では、LISA-U200 特有のPDP Context設定ができませんので、エディタで直接設定ファイルを編集します。
対象となるのは、/etc/chatscripts/DTI となります。
user1@plum:~$ sudo nano -w /etc/chatscripts/DTI
“modeminit” の “ATZ” の直後に、AT+CGDCONT による PDP Context 設定を追加します。
以上で設定ができましたので、接続テストをしてみます。
user1@plum:~$ sudo pon DTI
しばらくすると、接続が完了すると思います。ifconfig コマンドで確認してみます。
user1@plum:~$ ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:100.64.170.xxx P-t-P:100.64.170.xxx 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:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:68 (68.0 B) TX bytes:163 (163.0 B) user1@plum:~$
接続が確認できました。
PPPの着信を使用するには、
の設定を行う必要がありますが、一つのファイルに必要事項を設定するだけで利用可能にしています。
/etc/default/mgetty ファイルを編集します。
user1@plum:~$ sudo cat /etc/default/mgetty ENABLE=0 WAKEUP=0 DEVICE= LOCALADDR= REMOTEADDR= NETMASK= DEFAULTROUTE=1 IDLE=30 LCP_INTERVAL=30 LCP_FAILURE=3 # --- Example --- # ENABLE=1|0 # WAKEUP=1|0 # DEVICE=LISA-U200|UM03-KO # LOCALADDR=192.168.5.34 # REMOTEADDR= # NETMASK=255.255.255.0 # DEFAULTROUTE=1|0 # IDLE=30 # LCP_INTERVAL=30 # LCP_FAILURE=3
それぞれの項目の内容は、下記に対応しています。
項目 | 内容 | 設定値 |
---|---|---|
ENABLE | FOMA着信 使用するかどうか | 1:使用する / 0:使用しない |
WAKEUP3) | FOMA着信時、Suspend から Wakeup | 1:する / 0:しない |
DEVICE | FOMA デバイス選択4) | LISA-U200 / UM03-KO |
LOCALADDR | ローカル側IPアドレス | 契約で指定されたアドレスを設定します |
REMOTEADDR | リモート側IPアドレス | 契約で指定されたアドレスを設定します |
NETMASK | ネットマスク | 契約で指定されたネットマスクを設定します |
DEFAULTROUTE | デフォルトルート設定 | PPPにデフォルトルートを設定する場合、1にします |
IDLE | 無通信タイムアウト時間 | |
LCP\_INTERVAL | LCP Echo送出間隔 | |
LCP\_FAILURE | LCP Echo無応答 |
今回は、下記のように設定しました。
user1@plum:~$ cat /etc/default/mgetty #ENABLE=0 #WAKEUP=0 #LOCALADDR= #REMOTEADDR= #NETMASK= #DEFAULTROUTE=1 #IDLE=30 #LCP_INTERVAL=30 #LCP_FAILURE=3 # --- Example --- ENABLE=1 WAKEUP=0 LOCALADDR=192.168.5.34 REMOTEADDR= NETMASK=255.255.255.0 DEFAULTROUTE=1 IDLE=30 LCP_INTERVAL=30 LCP_FAILURE=3
設定ファイルを編集したら、mgettyサービスを起動します。
次回以降は、本体起動時に自動的にサービスが起動しますので、設定をした時のみこの作業が必要です。
user1@plum:~$ sudo service mgetty start mgetty start/running, process 1339 user1@plum:~$
1324 ? S 0:00 [kworker/0:2] 1339 ? Ss 0:00 /sbin/mgetty /dev/ttyLISA0
mgettyプロセスが起動していることが確認できます。
着信のテストをしてみます。
$ ping 192.168.5.34 PING 192.168.5.34 (192.168.5.34) 56(84) bytes of data. 64 bytes from 192.168.5.34: icmp_seq=10 ttl=59 time=143 ms 64 bytes from 192.168.5.34: icmp_seq=11 ttl=59 time=151 ms 64 bytes from 192.168.5.34: icmp_seq=12 ttl=59 time=150 ms 64 bytes from 192.168.5.34: icmp_seq=13 ttl=59 time=148 ms 64 bytes from 192.168.5.34: icmp_seq=14 ttl=59 time=158 ms 64 bytes from 192.168.5.34: icmp_seq=15 ttl=59 time=147 ms 64 bytes from 192.168.5.34: icmp_seq=16 ttl=59 time=145 ms 64 bytes from 192.168.5.34: icmp_seq=17 ttl=59 time=145 ms ^C --- 192.168.5.34 ping statistics --- 17 packets transmitted, 8 received, 52% packet loss, time 16079ms rtt min/avg/max/mdev = 143.267/148.854/158.043/4.328 ms
きちんとpingへの応答が返ってきました。
FOMAモジュールが搭載された機種には、
を表す LED が実装されています。
FOMAモジュールのアンテナレベル及び3G回線への接続状態により、点灯パターンが変化します。
接続状態 | アンテナレベル | LED | Note | ||
---|---|---|---|---|---|
ANT I | ANT II | MOBILE | |||
- | 0 | 点灯 | 消灯 | - | |
1 | 点灯 | 消灯 | - | ||
2 | 消灯 | 点灯 | - | ||
3 | 点灯 | 点灯 | - | ||
切断 | - | - | - | 消灯 | |
接続中 | - | - | - | 点灯 | |
モジュール電源OFF | - | 消灯 | 消灯 | 消灯 |