某氏が先行して作業されていたものを引き継ぎ、ようやくマージに到達しました。
今回は、後述する通りドライバの不足などから一部機能を除いたサポートです。まとめていきます。
仕様
IPQ4019を搭載し、NCP-HG100/Cellularの持つ様々な機能に対応する為、他に様々なICが搭載されています。 法律の関係上、無線機能の使用は非推奨です。
- SoC: IPQ4019
- RAM: DDR3 512MiB
- Flash: eMMC 4GB
- WAN/LAN: 1000Mbps/1000Mbps x2 (QCA8072)
- UART: J1, 115200bps(三角マーク側から3.3V, TX, RX, GND)
その他の詳細については、雑記やこのブログの進捗報告を参照。
OpenWrt化
U-Bootがデフォルトでブート時に使用するコマンドは、セキュアブートに対応したKernelが必要と思われ、OpenWrtのKernelはブートに失敗することからU-Bootの環境変数の書き換えが必要です。
UARTのスルーホールにピンを立てる場合は、筐体を閉じた際に干渉するのを防ぐ為L字ピンの使用を推奨。
- TFTPサーバを準備
192.168.132.100
でTFTPサーバを用意し、NCP-HG100/CellularのinitramfsイメージをC0A88401.img
のファイル名でTFTPディレクトリ内に配置- U-Bootのコンソールに入る
- NCP-HG100/Cellularに電源を接続し、シリアルコンソールに
Hit any key to stop autoboot:
と表示されたタイミングでいずれかのキーを押下しブートを停止させる - U-Bootのブート用コマンドを設定
- 以下を入力してブート用コマンドを設定する
setenv bootcmd "mmc read 0x84000000 0x2e22 0x4000 && bootm 0x84000000" saveenv
- initramfsイメージでブート
- 以下を実行してinitramfsイメージでブートする
tftpboot && bootm
- sysupgradeイメージをNCP-HG100/Cellularにダウンロードしsysupgrade
- wgetやscp等を用いてsysupgradeイメージをデバイス上にダウンロードし、それを用いてsysupgradeを行う 必要である場合、sysupgrade実行前にddでeMMCのパーティションをバックアップする
- 完了
- sysupgradeが完了し、OpenWrtが起動してくれば完了
備考
本機種はNuvoton MINI54FDEをMCUとして搭載しているが、現状ドライバが存在しない為これを制御することができない。このことから、MCUが管理する以下の機能はユーザーが利用することはできない
- RGB LED(筐体外周)
- 冷却ファン
- 温度センサ(2か所)
このうち、冷却ファンについてはデフォルトで自動制御されており、計測された温度に従って回転したり停止したりする模様
IPQ4019のオーディオ関連機能やオーディオ関連ICのドライバは現状存在しない為、それらが提供する機能は利用不可
BluetoothやZWaveは、それらを提供する各ICのドライバが現状存在しない為、利用不可
筐体上面に存在する各ボタンについてはタッチセンサICが介在しており、このICはNCP-HG100/Cellular起動直後はブート中の状態を抜けておらずボタンを利用することができない状態にある
i2csetを用いてブート完了の状態に遷移させることで、ボタンが利用可能になる
opkg update
opkg install i2c-tools
i2cset -y 1 0x14 0xf 1
本機種ではKernel+RootFSのOSイメージを2つ持っており、OpenWrtにおいては1つ目のみ使用する
SONY公式サイトでは "/Cellular" モデル以外に "/WLAN" モデルの存在が示されているものの、市場に実在するかが曖昧であり、後者の実機を確保しておらず互換性が不明であることから、今回のサポートは "/Cellular" モデルに限定したものとした
サポートのマージ時点で既にOpenWrt 22.03.0がリリース済みである為、今後OpenWrt 22.03シリーズに含まれることはない 次のメジャーリリースからサポートされると思われる
作業時の色々
作業ついでに学習も兼ねて外周のRGB LED等を制御しているMCUのドライバを試しに書いてみるなどしたものの、あくまで学習程度のレベルである為今回サポートを投げ込むにあたっては含めなかった
既にこの機種に対する意欲も低下しつつあるため、今後そのドライバを改善したり投げ込む可能性は低い本機種のサポートがマージされた直後、IPQ40xxが持つ内部スイッチ機能に対するDSA (Distributed Switch Architecture) サポートがマージされ、それに対応する状態に変換されなかったNCP-HG100/Cellularを含む多くの機種はまとめて無効化されてしまった
急ぎ修正を行って投げ込み、マージされたことで再度NCP-HG100/Cellularのビルドが有効化された
色々
色々あって作業が長期に渡ってしまったが、マージされて一安心。並行してWSR-2533DHP2の作業を行うなどしていた時期もあり、進みがかなり遅くなったりしていた。
本機種はサウンド関連等使用できない機能は多々あるものの、ルータとしての基本的な動作のほかUSBポートもあることから、それらを活用できる機種として良さそう。
上で少し触れたとおり、この機種に対するモチベーションは低下気味であることから、今後の改善はあまり積極的には手を付けないことが予想される為、必要であれば誰かが行うことに若干期待。必要な保守はします。