WG2600HPにOpenWrt21.02.0-rc3を入れる

WG2600HPの開腹

  • 開腹してシリアルコンソールでの作業が必要
  • 表面の黒いパネルはネジを2本はずして、まわりから少しずつ外せばよい。
  • 内部の白いふたがやっかい。白いふたは周りからじわじわ力まかせに外すしかない。白いふたの爪は内側から外向きに引っ掛かるようになっている。なので黒い底のひっかかり部分を外から押すと外れにくくなってしまう。放熱用の板は外さなくてOK。

シリアルコンソール

「スルーホール用テストワイア」があればスルーホールに刺すだけでよいので半田付け不要。これをUSB-シリアル変換ケールブルと接続する。Raspberry PI用に売られているケーブルが使える。RX、TX、GNDの3本つなげばよい。

ファームウェア

ファームウェアは2種類ある。initramfsファイルで最小限のLinuxを起動し。ここからsysupgradeでファームウェアを更新する。サーバーも2種類必要。

  • ファームウェアダウンロードページ
  • KERNELがinitramfsファイル。 openwrt-21.02.0-rc3-ipq806x-generic-nec_wg2600hp-initramfs-uImage
  • SYSUPGRADEがsysupgradeファイル。 openwrt-21.02.0-rc3-ipq806x-generic-nec_wg2600hp-squashfs-sysupgrade.bin

作業用のPC準備

  • TFTPサーバー: initramfsファイルから起動するのに使う。
  • SSHまたはFTPサーバー: バックアップファイルの保存と、sysupgradeファイルをSCPでコピーするのに使う。
  • シリアル通信をサポートしている端末ソフト: TeraTermとか。
  • IPアドレスは192.168.0.2を設定する。ちなみにinitramfsで起動したルーターは192.168.0.1が初期値になる。

OpenWrt 21.01.0-rc3を入れる

鉄PCブログ参照 musashino205氏に感謝。 initfamfsをTFTPブートしたところで、もともと入っているメーカーファームウェアをバックアップするとよい。

メーカーファームウェアのバックアップ

initfamfsをTFTPブートしたところで、もともと入っているメーカーファームウェアをバックアップする。

# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00020000 00010000 "SBL1"
mtd1: 00020000 00010000 "MIBIB"
mtd2: 00040000 00010000 "SBL2"
mtd3: 00080000 00010000 "SBL3"
mtd4: 00010000 00010000 "DDRCONFIG"
mtd5: 00010000 00010000 "SSD"
mtd6: 00080000 00010000 "TZ"
mtd7: 00080000 00010000 "RPM"
mtd8: 00080000 00010000 "APPSBL"
mtd9: 00010000 00010000 "APPSBLENV"
mtd10: 00030000 00010000 "PRODUCTDATA"
mtd11: 00040000 00010000 "ART"
mtd12: 00040000 00010000 "TP"
mtd13: 00500000 00010000 "TINY"
mtd14: 017a0000 00010000 "firmware"
mtd15: 00200000 00010000 "kernel"
mtd16: 015a0000 00010000 "rootfs"
mtd17: 00b50000 00010000 "rootfs_data"

# cd /tmp
# dd if=/dev/mtd14 of=mtd14.bin
# dd if=/dev/mtd15 of=mtd15.bin
# dd if=/dev/mtd16 of=mtd16.bin

そのほか

OpenWrtの設定が原因で起動しなくなってしまった場合でもシリアルコンソールがあればなんとかなる。 OpenWrt起動時にfキーでリカバリーモードにはいり、firstbootコマンドを実行すると、設定が初期値に戻る。