2010年7月23日金曜日

Fonera 2202でWillcom/Emobile PPP接続 その2 (building kernel/firmware)

 

以下に最新開発環境の取得とUSB driverの変更点について記載します。

 

1. 開発環境の準備

Kernel / Firmware build環境はCent OS 5.5にて行いました。

参考リンクの「Sources and toolchain to build fon-ng and application」の記載がすべてなのですが、必要とするpackageについては Cent OS用に読替える必要があります。yumによるpackage適用となります。このときtftp server packageも一緒にインストールしておきます。

 

rootユーザーにてログインし、Yumから必要なpackageをインストールします。

# yum install binutils cpp gcc kernel-headers make zlib-devel ncurses-devel gawk bison flex unzip bzip2 autoconf intltool python subversion

次にPerlのmoduleをロードします。

# cpan

…  最初のCPANの機動の場合には、質問がされます。基本敵にはEnterでOKです。ダウンロード先は国内のサイトを選択します。CPANのpromptが表示れさたら、Diget, Digest::CRC, YAMLをインストールします。

CPAN> install Digest

CPAN> install Digest::CRC

CPAN> install YAML

CPAN> exit

 

Cent OSには一般ユーザーにてログインし、最新の開発環境をdownloadします。
% svn co http://svn.fonosfera.org/fon-ng/trunk

環境の初期化処理を行います。
% cd trunk
% sh ./install.sh

 

2. WSIM / H12HW用の修正

Cent OSのコンソールから trunk/openwrt/build_dir/linux-fonera2_developer/linux-2.6.26.2/drivers/usb/serial に移動します。bold字体の箇所が今回の追加です。

pl2303.h: WSIMのproduct IDを追加します。

#define IODATA_VENDOR_ID        0x04bb
#define IODATA_PRODUCT_ID       0x0a03
#define IODATA_PRODUCT_ID_RSAQ5 0x0a0e
#define IODATA_PRODUCT_ID_WSIM  0x0940

 

pl2303.c: IODATAのvendor IDとWSIMのproduct IDの組をtableに追加します。

{ USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) },
{ USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) },
{ USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_WSIM) },

 

option.c: H12HWのproduct IDを追加します。D02HWはE220として記載されています。

#define HUAWEI_VENDOR_ID                        0x12D1
#define HUAWEI_PRODUCT_E600                     0x1001
#define HUAWEI_PRODUCT_E220                     0x1003
#define HUAWEI_PRODUCT_E220BIS                  0x1004
#define HUAWEI_PRODUCT_H12HW                    0x1008

HUAWEIのvendor IDとH12HWのProduct IDの組をtableに追加します。

{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_H12HW, 0xff, 0xff, 0xff) },

 

3. kernel/firmwareのbuildとFonera 2202 firmwareの更新

「Sources and toolchain to build fon-ng and application」の記載に沿って、build作業を実施します。

% cd openwrt
% make menuconfig

ここで、Fon 2.0g (2202)用の設定となっているか、developer modeとなっているかの確認とpl2303の追加を行います。

 
f-1
Target Systemとdeveloper modeであるかどうかの確認をします。この場合、上図の一行目と二行目がそれぞれLa Fonera 2.0, developerと表示されております。値が異なる場合には、Enterキーを押して、sub menuに入り、設定を変更します。


f4   
pl2303 追加のために “Kernel modules”を選択、Enterキーを押します。

f5  
USB Supportを選択、Enterキーを押します。

f6 
kmod-usb-serial-pl2303を選択し、spaceキーを2回押してbuilt-in とします。ESCでtopに戻ります。

f7
Yesを選択して、configurationの更新をします。

 

kernel/firmwareのbuildを実施します。
% cd trunk/openwrt
% make V=99

 

Firmware(trunk/openwrt/bin/openwrt-fonera2.image)をtftp serverに置きます。ここでは Cent OS にtftp server packageをインストールしました。

Fonera 2202は以下のように接続します。

  • Fonera 2202のInternet側のコネクタ(白)をCent OSと同じLANに接続します。
  • Fonera 2202の筐体を開け、シリアルケーブル(カモン携帯電話用ケーブルの改造品、TxDのためにVCC pull upが必要)を接続します。

「Firmware update instructions」に従って、作成したfirmwareに入れ替えます。この作業については、更新に失敗するとFoneraが起動しなくなることもあります。もとのfirmwareに戻すには、Fonのダウンロードサイト(http://download.fonosfera.org/)から該当firmwareをdownloadし、同様の手順にて戻します。ダウンロードサイトに用意されているFirmwareは以下のようです。

 

Code name Version Desctiptions
Gari 2.3.6.0 Fon 2303用firmwareが用意されている。
Elan 2.3.0.0 Fon 2303用firmwareが用意されている。
Cheeky 2.2.6.0 Fon 2303用firmwareが用意されている。
Flipper 2.2.5.0 Fon 2202用firmwareが用意されている。
Platero 2.2.4.0 Fon 2202用firmwareが用意されている。
Caterpillar 2.2.3.0 Fon 2202用firmwareが用意されている。
OktoPussy 2.2.2.0 Fon 2202用firmwareが用意されている。
Trantor 2.2.1.0 Fon 2202用firmwareが用意されている。
failsafe N/A Fon 2204用のfailsafe firmwareと思われる。※1

※1 私自身は試したことはありません。

 

Fonera 2202 の接続は以下のようにして行いました。
Fonera 2202:
シリアルピン -- カモンケーブル -- シリアルUSB変換 -- Note PC
  Ethernet(白) – Ethernet HUB ----- Cent OS 5.5 (tftp server)



1. Foneraにシリアル接続したNote PCにて、端末ソフト(e.g. TeraTerm)を起動し、シリアルUSB変換機が設定したCOM port (e.g. COM6)に割り当てる。
2. Fonera 2202を機動。起動後、RedBootから ^Cの入力を促すpromptが表示されたところで、Note PCの端末ソフトから ^C を入力。

 +Ethernet eth0: MAC address **:**:**:**:**:**
IP: 0.0.0.0/255.255.255.0, Gateway: 0.0.0.0
Default server: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROMRAM]
OpenWrt certified release, version 1.1 - built 12:40:38, Sep  3 2007

Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

Board: FON 2202
RAM: 0x80000000-0x82000000, [0x80040290-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 3.000 seconds - enter ^C to abort
^C


3. ここでは、Fonera 2202のIP addressを192.168.0.1、tftpserverのIP addressを192.168.0.100と設定します。

RedBoot> ip_address -l 192.168.0.1/24 -h 192.168.0.100

4. tftp serverより、firmwareをダウンロードし、設定を行います。resetで再起動し、新規firmwareが機動します。

RedBoot> load –r –b %{FREEMEMLO} openwrt-fonera2.image

RedBoot> fis delete image

RedBoot> fis create image

RedBoot> reset

 

Firmwareが更新されますと、それまでの設定がクリアされてしまいます。Foneraの自動更新スクリプトでは、/etc/以下のファイルの一部を保存して、更新後に戻してしいるようです。

pl2303をbuiltin したkernel/firmwareが起動すると以下のメッセージが記録されます。

# dmesg

usbserial: USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver

USB Hub経由で WSIMをFonera 2202に接続したときのメッセージは以下のようになります。

WSIM接続の構成は以下のようになります。

Fonera 2202:
USB port – USB 2.0 Hub – IO Data WSIM – NetIndex W-SIM

# dmesg

pl2303 1-1.1:1.0: pl2303 converter detected
usb 1-1.1: pl2303 converter now attached to ttyUSB0
ttyusb -> 1 ttyUSB0 pl2303 04BB0940

 

参考リンク

変更履歴

  • 2010/07/29: yum installとcpanについて記載を追加

0 件のコメント:

コメントを投稿