おはよう君需要なし

求不得苦な日々

SONYの MANOMA NCP-HG100 用に Dropbear(SSHサーバー) をビルドする

はじめに

SONYの AIスマートホームゲートウェイ、MANOMAをいじるお話をしました。

nodemand.hatenablog.com

前回記事ではOpenWRT 15.05.1で ipq806x をターゲットとしたパッケージが配布されておらず、 適当なパッケージをインストールしたところWWANが動かなくなってしまった、ということをご紹介しました。

やはり適当なパッケージをインストールしたのが原因なのではないかと思い、 ちゃんとビルド環境を整えようと思って実施したのが本記事内容です。

QSDK

ipq806x をターゲットとしたOpenWRT SDKってないのかな~と思い、見つけたのが QSDK です。

QSDK - XWiki

f:id:yoh_mar28:20201124145743p:plain
QSDKの対応リスト

manifestに数パターンあることがわかりますが、最下段「OpenWRT 15.05」「Linux Kernel 4.4」「ipq806x」とありビンゴ、という感じですね。

というかシリアル通信でログインした画面で見えてた↓は「QSDK」なのね・・・(OS⚡DKだと思ってました)

f:id:yoh_mar28:20201123232644p:plain
QSDK

これで、どういったconfigでビルドされたのかはわかりませんが、MANOMA NCP-HG100 がQSDKでビルドされたものであるということが特定できたわけです。

QSDKを使えるようにする

というわけで、このSDKを使えるようにしていくわけですが、基本的には https://wiki.codeaurora.org/xwiki/bin/QSDK/ にある通りの手順を実施します。

repo init -u git://codeaurora.org/quic/qsdk/releases/manifest/qstak -b release -m caf_AU_LINUX_QSDK_<your version>.xml --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable
repo sync
cp qca/configs/qsdk/ipq_open.config .config
make package/symlinks
make defconfig

ただ、このままだとターゲットが ipq になってしまいますので、 make menuconfigipq806x にターゲットを設定しました。

f:id:yoh_mar28:20201124151210p:plain
ターゲットを ipq806x に

また、manifestの説明にもある通り、wifi系のビルドに問題があるようで通らないので make menuconfigKernel modules -> Wireless Drivers から mac80211 がらみのもののチェックを全部はずしました。SDKがほしいだけなので問題ない(Wifiまわりの開発をしようとすると困るかな)

f:id:yoh_mar28:20201124151444p:plain
mac80211がらみを外す

Wifiがらみのモジュールをビルドしなくなった関係で、ビルドが通らなくなるものが出てきますので、それも外します。 make menuconfigNetwork から wpad-mesh を外します。

f:id:yoh_mar28:20201124151636p:plain
wpad-mesh外す

いざビルド

というわけで SDK をビルドしていきます。

make -j4 V=s

私は Windows10 で Ubuntu18.04(WSL2) を使ってビルドしましたが、色々とハマる部分はあったので下記サイトを参考に適宜修正しました。

Ubuntu18.04下编译OpenWRT15.05遇到的问题和解决方案 | iZheteng

めちゃくちゃ時間かかりましたが、出ているエラー内容をもとにググると多くは解決できたので(前述のようにカーネルビルドのconfigいじったりする必要はあった)、 気合です。

(そしてめっちゃ容量を食った。色々ソースを展開するので合計30GBぐらい使ったかも?)

dropbear

このSDK、パッケージ単体でのビルドもできるんですが、上記の make コマンドで標準搭載のパッケージがビルドされるようなのでそれを利用します。

bin/ipq806x/packages/base/dropbear_2017.75-1_ipq806x.ipk

にパッケージが生成されるはずなので、それをコピーしてUSBメモリなどでMANOMAに移します。

opkg install dropbear_2017.75-1_ipq806x.ipk

上記コマンドでインストールして前回記事のように有効化して終わりです。

さいごに

ついにWWANに不具合が発生しないままSSHでログインできるようになりました。

みなさんもよきMANOMAライフを!