NETGEAR GS108T v3

デブリックの方法論

HTTP 経由で OpenWrt ファームウェアなどを転送した結果、 ファイルの転送が途中で中断した場合は フラッシュ作業が不成功となります。

これにより OS が起動しなくなった場合に回復する方法です。

そもそもこの端末のフラッシュ作業は、 ファームウェア (例 openwrt-24.10.0-realtek-rtl838x-netgear_gs108t-v3-squashfs-sysupgrade.bin) を Runtime1 または Runtime2 に対して、そのまま書き込みするだけです。

フラッシュ処理にあたっては、内容は一切変更されません。

初期状態であれば Runtime1Runtime2 は同じ内容が書き込みされた状態で出荷されています。

ですので、方法論としては Runtime2 から Runtime1 へファーウェアをコピーする事で回復を図る、という事になります。

デブリックの方法

[OpenWrt Wiki] NETGEAR GS108T v3 を参考に シリアル接続をします。

Windows の場合は PuTTY などを使用して、シリアルコンソールを起動します。接続パラメータは: 115200, 8N1

電源を投入した後 Esc キーを連打して U-Boot のコンソールに入ります。

BOOT Loader Version 1.0.0.5 (2019-03-15 17:08:23 UTC)

Board: RTL838x CPU:500MHz LXB:200MHz MEM:300MHz
CPU  : 500 MHz
RAM  : 128 MB
FLASH: 32 MB

Model: GS108Tv3
MAC  : 28:94:01:68:6C:2C

Hit Esc key to stop autoboot:  0
RTL838x#

つぎに、以下の要領でコマンドを順序よく実行していきます。

RTL838x# cp.l 0xb5180000 0 0x3A0000
RTL838x# cmp.l 0xb5180000 0x80000000 0x3A0000
Total of 3801088 words were the same
RTL838x# sf write 0x80000000 0x300000 0xe80000
II: Writting 15204352 bytes to 00300000... 100%

実行が完了したら GS108T v3 を再起動します。

うまくいけば、デブリックが完了しています。

附録

flshow

RTL838x# flshow
=============== FLASH Partition Layout ===============
Index  Name       Size       Address
------------------------------------------------------
0     LOADER     0xe0000    0xb4000000-0xb40dffff
1     BDINFO     0x10000    0xb40e0000-0xb40effff
2     SYSINFO    0x10000    0xb40f0000-0xb40fffff
3     JFFS2_CFG  0x100000   0xb4100000-0xb41fffff
4     JFFS2_LOG  0x100000   0xb4200000-0xb42fffff
5     RUNTIME1   0xe80000   0xb4300000-0xb517ffff
6     RUNTIME2   0xe80000   0xb5180000-0xb5ffffff
======================================================