日経Linuxに載ってて、前からやりたかったこともありついうっかりやってしまいました。
所有していた型番が2100番台だったので、「シリアルケーブル作らないとなぁ…」って思って敬遠してたのですが、
どうやらPDC時代の携帯用ケーブルでどうにかなるということを知り、Goサイン。
注意 守れそうもなかったらやらないこと。
やるときはすべて自己責任。
壊れても泣かない。
壊すのが怖かったら最初からやらない。
人のせいにしない。
この作業を行うことで何らかの損害が発生してもhizumiは一切責任を負いません。
必要なもの。
Windowsマシン
LaFonera (ないとお話にならない。+でもできるみたいですが、ここでは無印の2100番台を使います。)
PC-携帯のUSBケーブル(for PDC)
ピンヘッダx3個(はまれば何でもOK)
はんだ付け技術少々+工具
ネット環境
各種ソフト (Serialコンソール,ssh環境,TFTPサーバー等々)
(今回はシリアルとssh両方使えるという理由でputtyとPoor TFTP Serverを使用しました。)
あると便利なもの。
UNIX環境(Macでも可、起動できなくなった時用。)
細い先のとがったもの。(リセットボタンをぽちる時用)
ケーブル作成
LaFoneraの2100番には基盤の上にシリアル用のピンが立っています。
←コンデンサ メモリ→
.. 1,2
.. 3,4
.. 5,6
.. 7,8
. 9,10
これのピン番号を上のように仮定すると
(1:VCC)
2:GND
6:Tx
8:Rx
となっているのでちょうどUSB-Serial機能ももってるPDC時代の携帯用通信ケーブルを用意し、即席シリアルケーブルを作成できるというわけ。
hizumiは携帯マスターというソフトに付属していたUP12を使用しました。
(どうやら海連のUP12Cと同等品のようなのでドライバをそのまま流用できるようです。)
また、ピンヘッダはASUS P5K-Proを買った時についていたIEEE1394のピン端子延長ヘッダを流用しました。
こんな感じ。UP12,UP12Cを使うときは、GND:黒、Tx:白、Rx:緑とつなぎます。(赤は使用しない)
ソフトの準備
Poor TFTPServerをあらかじめ立ち上げておき、OpenWrtのWebページより、
openwrt-atheros-2.6-vmlinux.lzma
openwrt-atheros-2.6-root.squashfs
を用意しPoorTFTPServerと同じディレクトリに入れる。
シリアルでの作業
PuttyやTeraTermProなどを立ち上げシリアル関係の設定。
シリアル設定は以下の通り
ボーレート:9600
データ長:8bit
パリティ:なし
ストップビット:1bit
フロー制御:なし
シリアルケーブル、LANケーブルを繋ぎ(結構忘れがち)、ソフトの準備が整ったら作業開始。
以下[Ent]は改行とおきます。
まず電源ケーブルを入れる。
するとソフトの画面にだらだらと起動シークエンスが表示されるので
Ctrl+Cを押してキャンセルする。
^C
RedBoot>
すると上のように表示されて入力待ちの状態になります。
まずは、FWをTFTPで飛ばすので、IPアドレスの設定。
ここではFONが192.168.1.3/24、PCが192.168.1.100と仮定して作業しますので、環境が違う場合は適宜書き変えてコマンドを実行してください。
RedBoot> ip_address -l 192.168.1.3/24 -h 192.168.1.100[Ent]
IP: 192.168.1.3/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.100
次にフォーマット。途中で本当にフォーマットするか聞いてくるのでyをタイプ。
RedBoot> fis init[Ent]
About to initialize [format] FLASH image system – continue (y/n)? y[Ent]
*** Initialize FLASH Image System
… Erase from 0xa87e0000-0xa87f0000: .
… Program from 0×80ff0000-0×81000000 at 0xa87e0000: .
そして、ここでFWを1つTFTPで持ってくる。
エラーが出たらip_addressの確認、LANケーブルのチェック、TFTPServerの確認を行ってみてください。
RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma[Ent]
Using default protocol (TFTP)
Raw [...]