Howto

auのW05Kを使用してインターネットに接続する - Armadillo-9編

auのWINデータカードを使用して、インターネットに接続する方法を紹介します。WINデータカードカードは、CFカードインターフェースタイプのW05Kを使用します。W05Kは、二つのシリアルポートを使用して通信速度を上げるマルチポートをサポートしていますが、本Howtoでは一つのポートのみ使用して通信する方法を紹介します。

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

  1. ppp機能及びシリアルドライバを有効にする
  2. ppp 関連の設定をおこなう。
  3. ppp 接続をおこなう。

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

  • 対象製品:Armadillo-9 (基板Rev.E)
  • atmark-dist:v20081018
  • linux-kernel:v2.6.12.3-a9-14
  • データ通信カード:W05K
  • プロバイダ:au.NET

1. ppp機能及びシリアルドライバを有効にする。

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

  • PPP (point-to-point protocol) support
  • PPP support for async serial ports
  • PCMCIA serial driver

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

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

[PC ~/atmark-dist]$ make menuconfig

Main Menu では、下記のように設定してください。

Main Menu
 
Vendor/Product Selection  ---> 
--- Select the Vendor you wish to target
(AtmarkTechno) Vendor
--- Select the Product you wish to target
(Armadillo-9.PCMCIA) 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
 
  Character devices  --->
    Serial drivers  --->
      <*> 8250/16550 and compatible serial support
      <*>   8250/16550 PCMCIA device support

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

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

make します。

[PC ~/atmark-dist]$ make

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

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

プロバイダにau.NETを使用する場合は、ユーザ名は「au@au-win.ne.jp」、パスワードは「au」となります。また、アクセスポイントは「*99**24#」、DNSは「210.196.3.183」を使用します。御利用のプロバイダに合わせて適宜読みかえてください。

/etc/pcmcia/config に以下を追加

card "W05K"
  manfid 0x03e5, 0x0002
  bind "serial_cs"

/etc/ppp/ppp-on-dialer

#!/bin/sh
#
# This is part 2 of the ppp-on script. It will perform the connection
# protocol for the desired connection.
#
exec chat -s -v -t 60                                   \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO DIALTONE\r'               \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              ATZ                             \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         30                              \
        OK              ATDT*99**24\#                   \
        CONNECT         '\d\d'                          \

/etc/ppp/options

lock
name au@au-win.ne.jp
defaultroute

/etc/ppp/pap-secrets

# Secrets for authentication using PAP
# client        server  secret                  IP addresses
au@au-win.ne.jp *       au

/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

3. ppp 接続をおこなう。

デバイスドライバを組み込んだArmadillo-9にW05Kを接続し、pcmgrを起動します。

[armadillo ~]# /etc/rc.d/rc.pcmcia start

eth0が有効になっている場合は、eth0を無効にしておきます。

[armadillo ~]# ifconfig eth0 down

ttyS0 と ttyS1 にアタッチされますが、最初の ttyS0 がシリアルモデムになります。そのため、ttyS0 を使用して ppp 接続を行います。

[armadillo ~]# pppd /dev/ttyS0 115200 connect /etc/ppp/ppp-on-dialer

正常に接続できると、「ppp0」というネットワークインターフェースが作成されます。

[armadillo ~]# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:76 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:6344 (6.1 KiB)  TX bytes:6344 (6.1 KiB)
 
ppp0      Link encap:Point-Point Protocol
          inet addr:xxx.xxx.xxx.xxx  P-t-P:172.23.47.172  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:95 errors:6 dropped:0 overruns:0 frame:0
          TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:7974 (7.7 KiB)  TX bytes:7722 (7.5 KiB)
tips: eth0がdhcpでIPアドレスを取得する設定になっている場合、起動時に/etc/resolv.confが上書きされてしまうため、再度設定が必要です。また、/var/lockフォルダがない場合は作成する必要があります。

以上で、auのW05Kを使用して、インターネットに接続することができます。今回のHowtoは、Armadillo-9 に適用することができます。

関連情報

本Howtoで使用したイメージは以下からダウンロードできます。