はじめに
SONYの AIスマートホームゲートウェイ、MANOMAをいじるお話をしました。
前回記事ではOpenWRT 15.05.1で ipq806x をターゲットとしたパッケージが配布されておらず、 適当なパッケージをインストールしたところWWANが動かなくなってしまった、ということをご紹介しました。
やはり適当なパッケージをインストールしたのが原因なのではないかと思い、 ちゃんとビルド環境を整えようと思って実施したのが本記事内容です。
QSDK
ipq806x をターゲットとしたOpenWRT SDKってないのかな~と思い、見つけたのが QSDK
です。
https://wiki.codeaurora.org/xwiki/bin/QSDK/
manifestに数パターンあることがわかりますが、最下段「OpenWRT 15.05」「Linux Kernel 4.4」「ipq806x」とありビンゴ、という感じですね。
というかシリアル通信でログインした画面で見えてた↓は「QSDK」なのね・・・(OS⚡DKだと思ってました)
これで、どういった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 menuconfig
で ipq806x
にターゲットを設定しました。
また、manifestの説明にもある通り、wifi系のビルドに問題があるようで通らないので make menuconfig
で Kernel modules -> Wireless Drivers
から mac80211
がらみのもののチェックを全部はずしました。SDKがほしいだけなので問題ない(Wifiまわりの開発をしようとすると困るかな)
Wifiがらみのモジュールをビルドしなくなった関係で、ビルドが通らなくなるものが出てきますので、それも外します。 make menuconfig
で Network
から 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ライフを!