大破ログ

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

I-O DATA WN-AX1167GR

下位版のWN-GX300GRに続き、上位版のWN-AX1167GRについてもサポート作業を行い、upstreamへマージされました。この機種についてもまとめます。
なお、先行してWN-AX1167GRのサポート作業を行っていた某氏よりパッチ案やログ等頂き、それを引き継いで完成させたものです。多謝。
なお、この機種についてはまだリリースバージョン用の openwrt-18.06 branch へは取り込まれないそうです。

仕様

これもMT7621です。シングルコアのMT7621Sを搭載するWN-GX300GRに対し、上位モデルという位置づけからかデュアルコアの "MT7621A" が搭載されています。
また、基板自体はWN-GX300GRと共通のため、SoCとFlash、無線周り以外はほぼ共通です。

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

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

OpenWrt化

WN-GX300GRでは制約によりfactoryファームは断念しましたが、WN-AX1167GRでは若干注意は必要なもののfactoryファームを生成できました。

  • アップデートページへアクセス
    PC側のIPアドレスを192.168.0.0/24のいずれかに設定してWN-AX1167GRと接続し、WN-AX1167GRに電源ケーブルを接続して通常起動。
    起動したら、192.168.0.1 へブラウザでアクセスし、ファームウェア更新ページを開く。OpenWrtのfactoryファームを選択してアップデートを実行する。
  • OpenWrt上でsysupgrade
    "1." の手順でfactoryファームがFlashに書き込まれた後、OpenWrtで起動してくる。
    SSH等でOpenWrtのコンソールに入り、 [sourcecode]mtd erase firmware[/sourcecode] を実行したうえでWN-AX1167GRのsysupgradeファームを使用してsysupgradeを実行する。
    例: [sourcecode]sysupgrade openwrt-ramips-mt7621-iodata_wn-ax1167gr-squashfs-sysupgrade.bin[/sourcecode]
  • 完了
    2分前後掛かるものの、Flashへの書き込みが完了して再起動する。

備考

  • WN-GX300GRと同様に、OpenWrtでのシリアルコンソールのBaudrateは115200bpsに設定。
    理由もGX300GRと同じで、U-BootとOpenWrtのbaud rateを合わせるため。
  • WN-GX300GRでは2つあるOS用パーティション("Kernel", "app")それぞれが4MB弱しか確保されておらず、そのためOpenWrtでfactoryファームを作ろうとすると完全に不足してしまった。それに対してWN-AX1167GRでは7.5MBほど確保できるため、ある程度余裕をもってfactoryファームを生成できる。
    ただしこのfactoryファームの実態はinitramfsファームであり、再起動すると設定は消える。このため、factoryファームを投入後sysupgradeでsysupgradeファームを書き込む必要がある。
  • WN-GX300GRと同様に、OpenWrtでは2つあるOSイメージ用パーティションを結合して1つとして扱うようにした。ただし、メーカーファームでは何故か未使用の領域があり(データは00 or FF)、メーカーファームへ戻すバイナリを作成する際はメーカーファームでの "Kernel" の後ろに 0x20000 、"app" の後ろに 0x10000 の空データを追加して OpenWrt における "firmware" のサイズに合わせる。
    firmware (OpenWrt)
    (0xF30000 = 15,552k)
    Kernel (unused) app (unused)
    0x60000
    - 0x7E0000
    0x7E0000
    - 0x800000
    0x800000
    - 0xF80000
    0xF80000
    - 0xF90000
    0x780000
    (7,680k)
    0x20000
    (128k)
    0x780000
    (7,680k)
    0x10000
    (64k)
    上記を firmware.bin などとし、 [sourcecode] mtd write firmware.bin firmware [/sourcecode] とすることでメーカーファームに書き戻すことが可能。
    メーカー公式サイトで公開されているアップデート用ファームでもできそうだけど未検証。
  • MT7621ではHW NATが実装されているため、WN-GX300GRでもNATのCPU負荷をかなり抑えることが可能。
  • WN-AX1167GR2がGRとハード構成が同一であるかは未確認。

雑感

今回はfactoryの作り方や、factoryからsysupgradeした後にU-Bootが起動するパーティションとして2番目を指定した場合ブートが止まってしまうのでは、というメンテナ氏の疑問もあり(ごもっとも)、少々議論したうえで、WN-AX1167GRでは上手くfallbackしてくれるということなどをcommit messageに追加することになった。
その他は特に大きな問題は無し。良かった。