大破ログ

日々大破、それと側転少々。PC関連その他、気になったことなどをつらつらと。

I-O DATA WN-GX300GR

PRを投げたタイミングが丁度OpenWrt 18.06の作業が開始された時期であり、しばらく中の人からのコメント等動きが無かったのでリリース後になるかなーと思っていましたが、今日マージされました。
Tama W06に続き、この機種についてもまとめておきます。

仕様

WSR-1166DHP/DHP2やVR500等でお馴染みのMT7621です。ただし、WN-GX300GRでは上位モデルのWN-AX1167GRに対して下位モデルという位置づけからか、シングルコアの "MT7621S" が搭載されています。

  • SoC: MediaTek MT7621S (880MHz, 1C2T)
  • RAM: DDR2 SDRAM 64MB
  • Flash: SPI Flash 8MB
  • WAN/LAN: 1000Mbps x1 / 1000Mbps x4
  • UART: 115200bps(RJ45側からVcc, GND, TX, RX)

その他ハードウェアやKernel等細かい点の詳細については、雑記ブログにメモしてあるのでそちらを参照。

OpenWrt化

前回sysupgradeファームのみでOpenWrtを導入できたTama W06に対し、こちらはFlashこそ8MBあるものの、メーカーファームでは各OS領域4MB弱でデュアルイメージを構成しています。そのため、OpenWrtではそれぞれの領域に入りきらないのでfactoryファームは断念しました。
これにより、OpenWrtの導入にはシリアルコンソールの接続が必要になります。

  • TFTPサーバを用意
    PC側のIPアドレスを192.168.99.8に設定してWN-GX300GRと接続、WN-GX300GRのinitramfsファームを uImageWN-GX300GR にリネームしたうえでTFTPディレクトリに置き、TFTPサーバを起動。
  • U-Bootからinitramfsでブートさせる
    WN-GX300GRに電源ケーブルを繋いで起動し、U-Bootの起動方法選択で "1" を選択しTFTPからイメージを取得してRAM上に展開しブートするモードへ。デバイスとサーバのIPアドレス、ファイル名は変更せずEnterキー3回押下でinitramfsイメージをTFTPサーバからダウンロードし、それを使用して自動的にブートが実行される。
  • sysupgradeファームを投入
    initramfsファームでのブートが完了したら、mtd erase firmware を実行してメーカーファームを削除したうえでsysupgradeによりsysupgradeファームを焼き込む。
  • 完了
    2分前後掛かるものの、Flashへの書き込みが完了して再起動する。

備考

  • OpenWrtでのシリアルコンソールのBaudrateは115200bpsに設定。ramipsでよくある57600bpsかと思っていたら、メーカーファームではU-BootもKernelも115200bpsだった。このため、OpenWrt化しても57600bpsではU-BootとOpenWrtで異なってしまうので、115200bpsを採用。
  • OpenWrtでは2つあるOSイメージ用パーティションを結合して1つとして扱うようにしたため、initramfs上でバックアップしたメーカーファームの2つのOS領域 ("Kernel" + "app") を結合して firmware.bin などとし、 [sourcecode] mtd write firmware.bin firmware [/sourcecode] とすることでメーカーファームに書き戻すことが可能。
    メーカー公式サイトで公開されているアップデート用ファームでもできそうだけど未検証。
  • MT7621ではHW NATが実装されているため、WN-GX300GRでもNATのCPU負荷をかなり抑えることが可能。

雑感

今回はPRを出してからマージされるまで時間は掛かったものの(前述のとおりリリース準備のため)、議論を行うことは無くすんなりマージされたので一安心。
上位機種のWN-AX1167GRも某氏からパッチ案等頂いたのである程度組み上げてあるものの、実機が無く検証できないのでどうしたものやら。