
以前から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イメージを仕立てられています。
- WRC-X3000GS2をルータモードで起動
http://192.168.2.1/のWebUIにアクセスしてファームウェア更新ページを開く- factory.binイメージを選択し、"適用" ボタンを押下してファームウェアの更新を実行
- 完了後再起動されOpenWrtで起動してくれば完了
備考
- ath11k (11ax/Wi-Fi 6)世代機としては少ない256MiBしかメモリを搭載しておらず、無線機能によって大量のメモリが消費されてOOMを引き起こすのを防止する為、無線機能はDevice Treeで完全に無効化している。
Flash内にはOSイメージ用領域が2組存在し、メーカーファームウェアにおいては、更新毎に他方へ書き込まれ更新後はそちらに切り替えられる。ブートに使用されるパーティションは
0:bootconfigと0: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は現時点で作業予定はありません。