EMOBILE のデータ通信モジュールを使用して、インターネットに接続する方法を紹介します。
データ通信モジュールは、USB 接続タイプの D02HW/D21HW/D22HW/D23HW を使用します。
これらは Linux からは、マスストレージ、シリアルモデム、シリアル端末の三種類のデバイスに見えます。
それらのうち、シリアルモデムを使いプロバイダのサーバと ppp 接続をおこないます。
おおまかな手順は下記のようになります。
- USB デバイスドライバを修正する。
- ppp 機能及び USB デバイスドライバを組み込む。
- ppp 関連の設定をおこなう。
- ppp 接続をおこなう。
なお、本 Howto では、以下の環境を想定しています。
ご利用の環境に合わせて適宜読みかえてください。
- 対象製品:Armadillo-220
- atmark-dist:v20090318
- linux-kernel:linux-2.6.12.3-a9-17
- データ通信モジュール:D02HW
1. USB デバイスドライバを修正する。
Linux 2.6.12.x では Huawei Technologies 社製 USB 通信モジュールを使用するための機能が不足しているため、USB デバイスドライバを修正します。
Linux カーネル 2.6.12.x ソースに、Huaweiパッチをあててください。
(Linux カーネル 2.6.26 では、パッチは不要です)
[PC ~]$ ls linux-2.6.12.3-a9-17/ linux-2.6.12_usb-hw.diff.gz [PC ~] cd linux-2.6.12.3-a9-17 [PC ~/linux-2.6.12.3-a9-17]$ gzip -cd ../linux-2.6.12_usb-hw.diff.gz | patch -p1 patching file drivers/usb/serial/Kconfig patching file drivers/usb/serial/option.c patching file drivers/usb/storage/unusual_devs.h patching file drivers/usb/storage/initializers.h patching file drivers/usb/storage/initializers.c patching file include/linux/usb.h
2. ppp 機能及び USB デバイスドライバを組み込む。
カーネルに、以下のデバイスドライバを組み込みます。
- PPP (point-to-point protocol) support (CONFIG_PPP)
- PPP support for async serial ports (CONFIG_PPP_ASYNC)
- USB Mass Storage support (CONFIG_USB_STORAGE)
- USB Serial Converter support (CONFIG_USB_SERIAL)
- USB driver for GSM and CDMA modems (CONFIG_USB_SERIAL_OPTION)
また、ユーザランドのアプリケーションとして、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 Mass Storage support USB Serial Converter support ---> <*> USB Serial Converter support <*> USB driver for GSM and CDMA modems
最後に、ユーザランドの設定をおこないます。
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 が使用する設定ファイルを、変更します。
EMOBILE のデータ通信モジュールを使用する場合は、ユーザ名は「em」、パスワードも「em」となります。
また、アクセスポイントは「*99***1#
」を使用します。
御利用の環境に合わせて適宜読みかえてください。
/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 ATDT*99***1# \ CONNECT '\d\d'
/etc/ppp/options
lock name em defaultroute usepeerdns
/etc/ppp/pap-secrets
# Secrets for authentication using PAP # client server secret IP addresses em * em
ppp-on-dialer はシェルスクリプトですので、実行権限を与えます。
[PC ~/atmark-dist]$ chmod +x romfs/etc/ppp/ppp-on-dialer
resolv.conf は ppp で取得されるものを使用しますので、シンボリックリンクに変更します。
[PC ~/atmark-dist]$ rm romfs/etc/resolv.conf [PC ~/atmark-dist]$ ln -sf /etc/ppp/resolv.conf romfs/etc/resolv.conf
変更したら、イメージを作成し、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 にデータ通信モジュールを接続すると、下記のように表示されます。
usb 1-2: new full speed USB device using ep93xxusb and address 2 usb 1-2: Product: HUAWEI Mobile usb 1-2: Manufacturer: HUAWEI Technologies scsi0 : SCSI emulation for USB Mass Storage devices Vendor: HUAWEI Model: Mass Storage Rev: 2.31 Type: CD-ROM ANSI SCSI revision: 02 sr0: scsi-1 drive Uniform CD-ROM driver Revision: 3.20 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 5 usb 1-2: USB disconnect, address 2 usb 1-2: new full speed USB device using ep93xxusb and address 3 usb 1-2: Product: HUAWEI Mobile usb 1-2: Manufacturer: HUAWEI Technologies option 1-2:1.0: Option 3-port card converter detected usb 1-2: Option 3-port card converter now attached to ttyUSB0 option 1-2:1.1: Option 3-port card converter detected usb 1-2: Option 3-port card converter now attached to ttyUSB1 scsi1 : SCSI emulation for USB Mass Storage devices Vendor: HUAWEI Model: Mass Storage Rev: 2.31 Type: CD-ROM ANSI SCSI revision: 02 sr0: scsi-1 drive Attached scsi generic sg0 at scsi1, channel 0, id 0, lun 0, type 5
USB Serial converter は、ttyUSB0 と ttyUSB1 にアタッチされますが、最初の tty がシリアルモデムになります。
そのため、ttyUSB0 を使用して ppp 接続を行います。
[armadillo ~]# pppd /dev/ttyUSB0 460800 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:10.64.64.64 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)
以上で、EMOBILE のデータ通信モジュールを使用して、インターネットに接続することができます。
今回のHowtoは、Armadillo-220/240、Armadillo-9、Armadillo-300、Armadillo-500/500 FX に適用することができます。
また、今回の手順は、WILLCOM の PHS 端末を使用してインターネットに接続すると、ほぼ同じ手順ですので、そちらの記事もご参照ください。