Howto

WILLCOM の PHS 端末を使用してインターネットに接続する

WILLCOM の PHS 端末を使用して、インターネットに接続する方法を紹介します。
PHS 端末は、USB 接続タイプの "DD" Data Driver WS002IN を使用します。
WS002IN は Linux からはシリアルモデムに見えるので、それを使いプロバイダのサーバと ppp 接続をおこないます。


おおまかな手順は下記のようになります。

  1. USB Serial Converter のデバイスドライバを修正する。
  2. ppp 機能及びUSB Serial Converter のデバイスドライバを組み込む。
  3. ppp 関連の設定をおこなう。
  4. ppp 接続をおこなう。


なお、本 Howto では、以下の環境を想定しています。
ご利用の環境に合わせて適宜読みかえてください。

1. USB Serial Converter のデバイスドライバを修正する。

カーネルに、USB Serial Converter を組み込みます。
デフォルトのドライバには、WS002IN のベンダ ID 及びプロダクト ID が登録されていないため、 Serial USB Converter のデバイスドライバを修正します。

まず、WS002IN のベンダ ID 及びプロダクト ID を調べます。
WS002IN を適当な Linux PCに接続して、dmesg コマンドを実行してください。

[PC ~/]$ dmesg
(省略)
ohci_hcd 0000:00:13.3: wakeup
usb 4-1: new full speed USB device using ohci_hcd and address 4
usb 4-1: configuration #1 chosen from 1 choice

上記のように、表示され USB デバイスがどのバスに接続されたかが分かります。
今回は、4番のバスに接続されたので、lsusb コマンドで詳細を調べます。

[PC ~/]$ lsusb -v -s 4 | egrep 'idVendor|idProduct'
  idVendor           0x11f6
  idProduct          0x2001

WS002IN のベンダ ID は 0x11f6、プロダクト ID は0x2001ということが分かりました。

WS002IN は、PL-2303 というUSB Serial Converter を使用しているため、該当のデバイスドライバを修正します。

linux カーネルソースに、下記のパッチをあててください。
パッチのダウンロード

2. ppp 機能及びUSB Serial Converter のデバイスドライバを組み込む。

カーネルに、以下のデバイスドライバを組み込みます。

  • PPP (point-to-point protocol) support
  • PPP support for async serial ports
  • USB Prolific 2303 Single Port Serial Driver

また、ユーザランドのアプリケーションとして、pppd を組み込みます。

make menuconfig を使用した場合の設定は下記のようになります。

[PC ~/atmark-dist]$ make menuconfig

Main Menu では、下記のように設定してください。
Productは、使用する Armadillo の種類に応じて適切に選択してください。

Main Menu
 
Vendor/Product Selection  ---> 
--- Select the Vendor you wish to target
(AtmarkTechno) Vendor
--- Select the Product you wish to target
(Armadillo-220.Base) AtmarkTechno Products 
 
Kernel/Library/Defaults Selection  --->
--- Kernel is linux-2.6.x
(default) Cross-dev
(None) Libc Version
[*] Customize Kernel Settings (NEW)
[*] Customize Vendor/User Settings (NEW)

次に、カーネルの設定をおこないます。

Linux Kernel Configuration
 
Device Drivers  --->
Networking support  ---> 
<*> PPP (point-to-point protocol) support
<*>   PPP support for async serial ports
 
USB support  --->
USB Serial Converter support  --->
<*> USB Serial Converter support 
<*>   USB Prolific 2303 Single Port Serial Driver

最後に、ユーザランドの設定をおこないます。

Userland Configuration
 
Network Applications  --->
[*] pppd

make します。

[PC ~/atmark-dist]$ make dep all

3. ppp 関連の設定をおこなう。

pppd の動作に必要な設定を行います。

まず、pppd が使用する /var/lock ディレクトリを作成します。

[PC ~/atmark-dist]$ mkdir romfs/var/lock

ppp のデバイスノードを追加します。
変更する ext2_devtable.txt は、make menuconfig の際に選択した Product のものとなります。

[PC ~/atmark-dist]$ vi vendors/AtmarkTechno/Armadillo-220.Base/ext2_devtable.txt

下記の1行を追加してください。

/dev/ppp           c      660    0     0     108     0       0       0     -

次に、pppd が使用する設定ファイルを、変更します。
プロバイダに prin を使用する場合は、ユーザ名は「prin」、パスワードも「prin」となります。
また、アクセスポイントは「0570-570-711##64」を使用します。
御利用の環境に合わせて適宜読みかえてください。

/etc/ppp/ppp-on-dialer

#!/bin/sh
exec chat -s -v -t 60                                   \
        TIMEOUT         3                               \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nNO CARRIER\r'                \
        ABORT           '\nNO DIALTONE\r'               \
        ABORT           '\nBUSY\r'                      \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT0570570711\#\#64            \
        CONNECT         '\d\d'

/etc/ppp/options

lock
name prin
defaultroute

/etc/ppp/pap-secrets

# Secrets for authentication using PAP
# client        server  secret                  IP addresses
prin    *       prin

/etc/resolv.conf

nameserver 210.196.3.183
nameserver 210.141.112.163

ppp-on-dialerはシェルスクリプトですので、実行権限を与えます。

[PC ~/atmark-dist]$ chmod +x romfs/etc/ppp/ppp-on-dialer

変更したら、イメージを作成し、Armadillo に書き込みます。 カーネルも書き換えるのを忘れないようにしてください。

[PC ~/atmark-dist]$ make image
[PC ~/atmark-dist]$ hermit download -i images/linux.bin.gz -r kernel
[PC ~/atmark-dist]$ hermit download -i images/romfs.img.gz -r userland

4. ppp 接続をおこなう。

デバイスドライバを組み込んだ Armadillo-220 に WS002IN を接続すると、下記のように表示されます。

usb 1-1: new full speed USB device using ep93xxusb and address 2
pl2303 1-1:1.0: PL-2303 converter detected
usb 1-1: PL-2303 converter now attached to ttyUSB0

ttyUSB0 にアタッチされましたので、それを使用して ppp 接続を行います。

[armadillo ~]# pppd /dev/ttyUSB0 230400 connect /etc/ppp/ppp-on-dialer

接続にはしばらく時間がかかります。
正常に接続できると、「ppp0」というネットワークインターフェースが作成されます。

[armadillo /etc/ppp]# ifconfig ppp0
ppp0      Link encap:Point-Point Protocol
          inet addr:XXX.XXX.XXX.XXX  P-t-P:61.204.7.254  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1653 (1.6 KiB)  TX bytes:2225 (2.1 KiB)

以上で、WILLCOM の PHS 端末 WS002INを使用して、インターネットに接続することができます。


今回のHowtoは、Armadillo-2x0、Armadillo-9、及びArmadillo-500に適用することができます。
動作デバイスのページもご参照ください。