あ、毎度のお約束ですが、今回は無線LANじゃないので電波法云々はなさそうですが、分解修理は自己責任になります。内容の正確性も含め一切の保障はありません。
まずは分解。後ろにあるゴム足の中にネジ(T8かな?)があるので、それを外すと、特に爪もなくカパッと外れます。
このあたり親切。
カパッと外すとこんな感じ。
シリアルが出せそうな4ピンがあるので、そこにヘッダピンを着けます。
VCCは必要ないので、TX、RX、GND だけ着けました。
ここまで出来れば、あとは適当なRS232C-TTL変換(3V系対応のやつ)でつなぎ、57600bpsで接続して電源を入れると、UBootの画面が出てきます。
どうやら、ブートローダは生きているようです。
では、ファームを流していきます。
必要なものはTFTPサーバと、純正ファームウエアです。TFTPサーバはググれば色々出てきますので、適当なのをインストールしてください。ファームは解凍し、中のbargx_130.fimをTFTPサーバの転送用ディレクトリに配置します。
ルータのLANポートとPCをLANケーブルでつなぎ、PC側のIPを192.168.1.100にします。
また、PCに無線LANやBlueToohなどが有る場合は無効化し、Windowsファイヤーウォールやアンチウイルス系のファイヤーウォールは無効化します。
無効化しないと、TFTPでの転送が出来なかったり、コケたりします。また、Bluetoothや無線LANが生きているとうまく転送されなかったりしますので、ルータとPCを直結させることが重要です。
シリアルコンソールはつないだままです。こちらでモニターしつつ、LAN経由でファームを流していきます。
では、ファームを流していきます。TFTPサーバを起動し、LANケーブルの接続など準備できたら、
いったんルータの電源を切り、電源を入れたら、シリアルコンソール上ですばやく「2」を押します。
こんな画面になればOKです。
2: System Load Linux Kernel then write to Flash via TFTP.
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
と聞かれるので、Yキーを押します。
Please Input new ones /or Ctrl-C to discard
Input device IP (192.168.1.1) ==:
ときかれるので、そのままEnterをおします。
Input server IP (192.168.1.5) ==:
ここで、192.168.1.100と入力します。
Input Linux Kernel filename (firmware.bin)==:
ファームの転送が開始されます。
ETH_STATE_ACTIVE!!
Start httpd!!!
In GemtekHttpdStart...
HTTPD from server 192.168.1.100; our IP address is 192.168.1.1
HTTPD_TIMEOUT_COUNT=10,Load address: 0x80100000
Waiting: T T T T T
とでたら、ブラウザを開き、192.168.1.1にアクセスしますと、ファームをアップロードする画面が出ますので、再度ファームをアップロードします。
再度ファームが書き込まれます。
シリアルコンソール上に
Copy 2871296 byte from 80100289 to Flash... bf060000 => OK!!!
done
At fw success!!!
とでたら、一旦ルータの電源を入り切りし、再起動させると、通常起動します。
ブラウザで192.168.1.1にアクセスすると、管理ページが開けます。
以上で修理完了です。
なお、この要領でDD-WRTなど純正以外のファームに書き換えることも技術的には可能です。
UBootさえ生きていれば、文鎮化しても純正ファームに戻すことが出来ます。
余談ですが、このルータ、シリアルコンソールで特にPWなしでいきなり中のLinuxにアクセスできます。
FWの構成自体はIPTablesのようですね。
FWのVer1.0のころはTopコマンド使えたのですが、最新の1.3 では削除されたようです。容量の問題かな?
/proc/status_led_ctrlにあるファイルをcatで開くと、Lチカしたりできます。
0 件のコメント:
コメントを投稿