目次

PPP 接続を行う (発信/着信) (obsolete)

※ v2.x 用の古い内容です。

こちらを参照してください。

拡張ボードに搭載している3G通信モジュール LISA-U200 を使用して、FOMA網へ接続します。

u-blox LISA-U200


例として、DTIの ServersMan SIM LTE の回線で接続してみます。

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:~$


設定 (wvdial使用)

設定ファイルの雛形生成

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)
APNdream.jp
ユーザー名user@dream.jp
パスワードdti
認証タイプCHAP または PAP
PDPタイプIP
ダイヤル番号\*99\*\*\*1#1)


この設定の通り、設定ファイルを編集します。

wvdial.conf
[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:~$

接続できることが確認できました。


設定 (pppconfig使用)

wvdial を使用して設定する場合は設定は簡単なのですが、オンデマンド接続などの細かい設定ができません。
細かい制御をする場合、pppd の設定ファイルを作成する必要がありますが、メニューにより簡単に設定することができる
pppconfig というユーティリティが利用できます。

上の例と同じく、ServersMan SIM LTE を使用した場合の設定をしてみます。


pppconfig による設定

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:~$ 

接続が確認できました。


設定 (着信)

ビジネスmoperaアクセスプレミアム FOMAタイプ への接続を設定してみます。

イメージ

IP着信


設定ファイルの編集

PPPの着信を使用するには、

の設定を行う必要がありますが、一つのファイルに必要事項を設定するだけで利用可能にしています。

/etc/default/mgetty ファイルを編集します。

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


それぞれの項目の内容は、下記に対応しています。

項目 内容 設定値
ENABLEFOMA着信 使用するかどうか1:使用する / 0:使用しない
WAKEUP3)FOMA着信時、Suspend から Wakeup1:する / 0:しない
DEVICEFOMA デバイス選択4)LISA-U200 / UM03-KO
LOCALADDRローカル側IPアドレス契約で指定されたアドレスを設定します
REMOTEADDRリモート側IPアドレス契約で指定されたアドレスを設定します
NETMASKネットマスク契約で指定されたネットマスクを設定します
DEFAULTROUTEデフォルトルート設定PPPにデフォルトルートを設定する場合、1にします
IDLE無通信タイムアウト時間
LCP\_INTERVALLCP Echo送出間隔
LCP\_FAILURELCP Echo無応答


今回は、下記のように設定しました。

mgetty
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サービスの起動

設定ファイルを編集したら、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への応答が返ってきました。


LED状態表示

FOMAモジュールが搭載された機種には、

を表す LED が実装されています。


FOMAモジュールのアンテナレベル及び3G回線への接続状態により、点灯パターンが変化します。

接続状態 アンテナレベル LED Note
ANT I ANT II MOBILE
- 0 点灯 消灯 -
1 点灯 消灯 -
2 消灯 点灯 -
3 点灯 点灯 -
切断 - - - 消灯
接続中 - - - 点灯
モジュール電源OFF - 消灯 消灯 消灯
1)
cid=1とした場合
2)
Define PDP Context
3)
MA-E350/F では機能しません。
4)
v2.3.0 より対応