DWM-222 (4G LTE USB ドングル) を Raspberry Pi で ppp する

Facebooktwittergoogle_plustumblrmail

以前「 DWM-222 (4G LTE USB ドングル) を Ubuntu Xenial で使う」という記事では DWM-222 をモデムとして認識させるまでを書いた。その方法を使えば Ubuntu Xenial で NetworkManager から接続が可能になる。この記事では応用として、 Raspberry Pi で使う際の ppp のやり方を説明する。大まかな手順は以下のようになる。

  • usb_modprobe のセットアップ
  • カーネルモジュールの起動時ロード設定 (/etc/modules)
  • usbserial の認識設定 (/etc/rc.local)
  • ppp 関連のパッケージをインストール
  • pppconfig で ppp 設定ファイルの雛形を生成する
  • 設定ファイルへ利用する事業者に従った微修正を加える
  • pon/poff を使って手動で ppp できるか試す

なお、この記事は台灣大哥大 (Taiwan Mobile) 4G LTE プリペイド SIM の設定例を示す (→設定行動上網) 。

STEP 1. usb_modprobe のセットアップ

これは Raspberry Pi でも同じなので、「 DWM-222 (4G LTE USB ドングル) を Ubuntu Xenial で使う」を参照せよ。

DWM-222 (4G LTE USB ドングル) を Ubuntu Xenial で使う

STEP 2. カーネルモジュールの起動時ロード設定 (/etc/modules)

ppp に必要なカーネルモジュールを起動時にロードするために /etc/modules へ記述を追加。

--- /etc/modules.ORG 2017-05-05 20:55:52.074477000 +0800
+++ /etc/modules 2017-07-13 15:38:32.058728000 +0800
@@ -2,4 +2,6 @@
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
-
+qmi_wwan
+option
+

STEP 3. usbserial の認識設定 (/etc/rc.local)

DWM-222 の /dev/ttyUSB1 が usbserial に認識して貰えるように /etc/rc.local から PID/VID を教えておく。

--- /etc/rc.local.ORG 2017-05-05 20:56:53.594477000 +0800
+++ /etc/rc.local 2017-07-13 15:39:06.398728000 +0800
@@ -17,4 +17,6 @@
printf "My IP address is %s\n" "$_IP"
fi

+( /bin/sleep 3; /bin/echo '2001 7e35' > /sys/bus/usb-serial/drivers/option1/new_id ; ) &
+
exit 0

STEP 4. ppp 関連のパッケージをインストール

$ sudo apt-get install ppp pppconfig

STEP 5. pppconfig で ppp 設定ファイルの雛形を生成する

次に pppconfig コマンドを使って対話的に雛形を作っていく。

$ sudo pppconfig

各画面では以下のように選択。

  • Main Menu: Create a connection
  • Provider Name: TaiwanMobile4G
  • Configure Nameservers (DNS): Dynamic
  • Authentication Method for TaiwanMobile4G: PAP (註: ダミー)
  • User Name: DummyUserName (註: ダミー)
  • Password: DummyPassword (註: ダミー)
  • Speed: 115200
  • Pulse or Tone: Tone
  • Phone Number: *99#
  • Choose Modem Config Method: No
  • Manually Select Modem Port: /dev/ttyUSB1
  • Properties of TaiwanMobile4G: Finished

STEP 6. 設定ファイルへ利用する事業者に従った微修正を加える

pppconfig の結果いくつか設定ファイルができているので、ちょっと書き換える。

  • /etc/ppp/pap-secrets 関連
  • /etc/ppp/peers 関連
  • /etc/chatscript 関連

STEP 6-1. /etc/ppp/pap-secrets 関連

pppconfig は /etc/ppp/pap-secrets に設定を追加してくるが、今回は不要なので消しまう。

--- /etc/ppp/pap-secrets.1 2017-07-13 16:11:13.251040865 +0800
+++ /etc/ppp/pap-secrets 2017-07-13 15:48:37.008728000 +0800
@@ -39,5 +39,5 @@
# remove the following line.

# * password
-"DummyUserName" TaiwanMobile4G "DummyPassword"
+

STEP 6-2. /etc/ppp/peers 関連

台灣大哥大向けの設定では以下を実施。

  • chat -T で APN を指定する
  • user の指定は不要なので消す

また、 ppp 接続に関連して以下を実施。

  • persist で常に存在させる
  • replacedefaultroute で default route を書き換える
--- /etc/ppp/peers/TaiwanMobile4G.0 2017-07-13 16:15:40.221040737 +0800
+++ /etc/ppp/peers/TaiwanMobile4G 2017-07-13 16:39:01.351040069 +0800
@@ -3,14 +3,15 @@
#
hide-password
noauth
-connect "/usr/sbin/chat -v -f /etc/chatscripts/TaiwanMobile4G"
+connect "/usr/sbin/chat -v -T internet -f /etc/chatscripts/TaiwanMobile4G"
debug
/dev/ttyUSB1
115200
defaultroute
noipdefault
-user "DummyUserName"
remotename TaiwanMobile4G
ipparam TaiwanMobile4G

usepeerdns
+persist
+replacedefaultroute

STEP 6-3. /etc/chatscript 関連

  • /usr/sbin/chat の -T オプションで渡ってくる APN を /T で受けて AT+CGDCONT で適用する
--- /etc/chatscripts/TaiwanMobile4G.0 2017-07-13 16:37:29.011040113 +0800
+++ /etc/chatscripts/TaiwanMobile4G 2017-07-13 16:41:19.311040004 +0800
@@ -6,8 +6,10 @@
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
+# apn (specified by -T option of chat command)
+OK-AT-OK AT+CGDCONT=1,"IP","\T","",0,0
# ispnumber
-OK-AT-OK "ATDT*99#"
+OK "ATDT*99#"
# ispconnect
CONNECT \d\c
# prelogin

STEP 7. pon/poff を使って手動で ppp できるか試す

この時点で本当に接続できるかどうかを手動で試す。

$ sudo pon TaiwanMobile4G
$ ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:100.114.239.85 P-t-P:10.64.64.64 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:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:62 (62.0 B) TX bytes:101 (101.0 B)

$ sudo poff TaiwanMobile4G

参考サイト

Facebooktwittergoogle_plustumblrmail
Yusuke Dada K.
Yusuke Dada K.
台湾の現地企業で主に組み込みソフトウエアの研究開発をしている日本人です。我人是個日本人,負責軟體的研究開發。在臺灣的科技公司工作。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です