大破ログ

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

ELECOM WRC-X3000GS2

WRC-X3000GS2内部

以前からIPQ5018搭載機であることを把握しつつ、元々は確保する予定は無かったものの、事情により確保に至ったものです。

まとめていきます。

仕様

IPQ5018搭載機としては特段尖った点は無いものの、ath11k世代の無線を搭載する機種としては少ない256MiBのRAMを搭載。

共通

  • SoC: Qualcomm IPQ5018
  • RAM: DDR3 256MiB
  • WAN/LAN: 1000Mbps x1/1000Mbps x4
  • Flash: SPI-NAND 128MiB
  • UART: 115200bps(バーコード側から3.3V, TX, RX, NC, GND)

その他詳細については、雑記を参照。

OpenWrt化

必要なヘッダの構造を解くことが出来た為、factoryイメージを仕立てられています。

  1. WRC-X3000GS2をルータモードで起動
  2. http://192.168.2.1/ のWebUIにアクセスしてファームウェア更新ページを開く
  3. factory.binイメージを選択し、"適用" ボタンを押下してファームウェアの更新を実行
  4. 完了後再起動されOpenWrtで起動してくれば完了

備考

  • ath11k (11ax/Wi-Fi 6)世代機としては少ない256MiBしかメモリを搭載しておらず、無線機能によって大量のメモリが消費されてOOMを引き起こすのを防止する為、無線機能はDevice Treeで完全に無効化している。
  • Flash内にはOSイメージ用領域が2組存在し、メーカーファームウェアにおいては、更新毎に他方へ書き込まれ更新後はそちらに切り替えられる。ブートに使用されるパーティション0:bootconfig0:bootconfig1 内のインデックスによって制御される。

    なお、OpenWrtではこの切り替えは行わず、最初に導入された方を使い続ける。

  • FlashストレージとしてMacronix MX35UF1G24ADを搭載するが、Linux Kernelに登録されている仕様上本来ECC strength=8でも問題無いはずが、実際のアクセス時にI/Oエラーを引き起こす為、1段階下げたECC strength=4でのサポートとしている。

    この関係上、ブート中にSPI-NANDを認識する際 nand: WARNING: (null): the ECC used on your system is too weak compared to the one required by the NAND chip という警告が出るが、無視しても問題無い。

作業時の色々

  • 本機種の搭載するメモリは256MiBであり、これはath11k (11ax/Wi-Fi 6)世代機としては少ない。OpenWrtにおいて現在使用されているath11kドライバはメーカーファームウェアほどの最適化はされておらず、メモリ使用量が極めて大きい為に、256MiBでは完全にメモリ不足であり、WRC-X3000GS2において無線機能が有効な状態で起動した場合、ユーザーが使用できるメモリは50MiB未満程度しか残らない。

    作業中に無線機能が有効なinitramfsイメージで起動した際、ユーザーが使用できる領域が30MiB前後にまで落ち込み、LuCIにアクセスした際OOMを引き起こしてシステムプロセスが死亡し、最終的にPanicするなどの事象を引き起こした。

  • デュアルブートの挙動にやや癖があり、少々手間ではあったもののOpenWrtでsysupgrade時に上手く扱うようスクリプトを作成し、対応させた。このスクリプトはメーカーファームウェアに切り替える場合にも使用可能。

色々

11ax (Wi-Fi 6)世代機でありながらも、ミドルレンジ帯故か現在では中古価格が大きく下がり、入手しやすくなった機種。

一部SPI-NAND Flashの関係でドライバも少し弄ることになった為、マージされるまでに多少時間を要するかと思っていたものの、実際にはあっさりマージされたので一安心。

本機種はv24.10シリーズには入らず、その次のメジャーリリースからです。なお、WRC-X3000GST2は現時点で作業予定はありません。