2014年9月11日木曜日

FON2405E へ改造ファームウェアを導入

かなり以前に入手したまま放置していた FON2405E がありました。新規にハンダゴテを購入するにあたり、この FON2405E を開くためのヘックスローブ・ドライバ (T8) も一緒に購入してきました。写真の Anex T8x60 です。

FON2405 を分解するために購入したヘックスローブ・ドライバ (T8) です。

このヘックスローブ・ドライバで FON2405E の筐体を開くことができました。底面の四本のネジを外した後、筐体の上下をパーツを固定している爪から上下パーツを分離する必要がありました。これが結構硬い噛み合わせになっているので注意が必要です。

FON2405E の底面にあるゴム足を撤去するとネジが見えてきます。

写真のように前後二箇所に爪があります。それぞれ内側に向かって引っかかるようになっています。爪部分の拡大写真を掲載しておきますので、分解するときに、この爪をイメージしながら力を加えて上下パーツを分離してください。

背面コネクタ側の爪の様子です。
前面の LED 側の爪の様子です。

下側のパーツにプリント印刷基盤が嵌めこまれていました。イーサネット・コネクタなどが下側のパーツに引っかかっていますので、この部分を避けてプリント印刷基盤を引き出します。これでシリアル・コンソール用のリード線を取り付けることができるようになります。

上下の部品を分離したところです。
取り出したプリント印刷基盤です。

ここからは参考ウェブサイトに従って作業を行いました。英文ですが、こちらの FON2405E 用の独自のファームウェアを配布しているウェブサイトが大変参考になります。
Fonera Simpl Hacking
https://sites.google.com/site/hottunalabs/home/fonera-simpl-hacking

プリント印刷基盤の J2 接点にシリアル・コンソール用の引き出し接点を取り付けました。またこのとき FON2405E の受信側 (RX) の端子へプルアップ抵抗(参考ウェブサイトでは 1.0 キロオーム)を取り付けました。なお手持ちの抵抗器に 1.0 キロオームの抵抗器がなかったため、2.7 キロオームのものを取り付けました。これでも動作に問題はないようです。

シリアルコンソール用の接続端子を設けたところです。

そしてファームウェアの書き換えに使用するマシンは Debian Wheezy がインストールされたものを使用しました。ファームウェアの書き換えに必要なシリアル・コンソールの cu とデータ転送に使う tftpd をインストールしてあります。

パソコンと FON2405E をシリアルケーブルで接続しました。このシリアルケーブルはメーカー不詳の PL2303HX のチップを使用した USB 端子のものシリアルケーブルのものです。

シリアルケーブルの PL2303HX の送信端子(Tx)と FON2405E の受信端子(Rx)、PL2303HX の受信端子(Rx)と FON2405E の送信端子(Tx)を間違えずに接続します。そしてグランド(GND)も接続しますが、電源(Vcc)の端子は接続しません。以上でシリアルコンソールの配線は終了です。
そして FON2405E の黒いイーサネット・コネクタとパソコンの間をイーサネット・スイッチを経由して LAN ケーブルで接続します。

FON2405E のファームウェアの書き換えの準備の様子です。
シリアルケーブルを接続している部分の拡大写真です。
赤色の Vcc は接続していません。

そして cu コマンドにてパソコンから FON2405E へシリアル接続を以下のコマンドで行いました。このコマンドを実行してエラーが発生する場合には補足の※1を参考にしてください。
# cu -l /dev/ttyUSB0 -s 57600
(転送速度は 57,600bps です。)

FON2405E の電源を投入してパソコンのシリアルコンソールへ文字が表示されれば接続成功です。

上記の参考ウェブサイトに従ってパソコン上から作業を行いました。

FON2405E のリセットボタンを押したまま電源を投入するとシリアルコンソールへ U-Boot が表示されます。まだリセットボタンは押したままの状態で数字の "1" 〜 "3" を入力します。ファームウェアの書き換えでは "2" を入力し、U-Boot のコンソール上で作業を行うには "3" を入力します。選択した数字の入力の後、リセットボタンから指を離します。すると所定の表示へと移行して行きます。

参考ウェブサイトでは、FON オリジナルのファームウェアを保存する作業も含まれていますが、もう FON オリジナルのファームウェアに戻さない決意のある私のような人は、そのままファームウェアの書き換えを行なってもよいと思われます。

参考ウェブサイトにはいくつかのファームウェアが掲載されていますが、使用するのは以下の二点だけです。
  • sdk_root_uImage_ram.img
  • ralink-custom-20100813.img

このファームウェアの書き換えの部分で参考となる日本語のブログも紹介しておきます。
フォン FON 2405e 個人専用 ルータに 改造 する
http://blog.goo.ne.jp/suica-zico/e/c69a1e3a4ce1aad17391f7c80b1a0de3

無事ファームウェアの書き換えが終了すると自動的に再起動が行われて動作を開始します。

初期値の IP アドレスは 10.10.10.254 です。ログインユーザー名が admin 、パスワードが admin となっています。ブラウザでアクセスして諸設定を行えば設定完了となります。

新しいファームウェアの設定画面の様子です。

FON2405E のフラッシュメモリは 2MB しか存在しないようで、この FON2405E のファームウェアの作者さんも苦労をして 2MB に収めたようです。無線LANルータとしては必要最小限度の機能しか存在していませんが、無線LAN部分が 802.11n にまで対応したチップが使用されていることもあり、使用した感触は軽快な動作となっていました。

補足 ※1
"cu: open (/dev/ttyUSB0): Permisson denied" と表示されて cu コマンドでシリアル接続が出来ない場合があります。

参考ウェブサイト
Debian Bug report logs - #264626
root cannot use the serial port
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=264626

PL2303HX のシリアルケーブルが使用する /dev/ttyUSB0 の所有者(オーナー)を変更します。
# chown uucp /dev/ttyUSB0

そして tty 端末を使用する dialout のグループへ自分のログインアカウントを追加しておきます。
# adduser 自分のアカウント名 dialout
以上で cu コマンドで /dev/ttyUSB0 への接続ができるはずです。

補足 ※2
cu コマンドの終了の仕方

cu コマンドを終了するには、チルダ "~" を入力してすぐにピリオード "."  を入力すると少し遅れて cu コマンド動作が終了します。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。