(失敗) MiWiFi firmware-mod-kitでファームウェアを編集してみる

firmware-mod-kitを使ってMiWiFiのファームウェアを弄りたい!(失敗編1)
失敗編は2日続きます。


MiWiFi nanoについて調べているとyouth_r1cl_all_2.2.94.binなる英語版ファームウェアがあるらしい。
公式の最新版は2.2.8…誰かのmodファームウェア?
firmware-mod-kit

firmware-mod-kitは無線LANファームウェアの展開、再構築ができるツールだそうです。
主にOpenWrtなどのオープンソースなファームウェアで利用できますが、メーカー製FWもOpenWrtをベースに作られていたりするので使えるものもあるようです。

firmware-mod-kitはLinuxで使用できるツールです。Ubuntuを使って編集を行いました。
準備
firmware-mod-kitを動かすのに必要なソフトウェアをインストールします。

$ sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic
firmware-mod-kitのダウンロード
$ wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/firmware-mod-kit/fmk_099.tar.gz
$ tar -xvf fmk_099.tar.gz
$ cd fmk

展開
編集したいFWをfmkフォルダに移動し、firmware-mod-kitに含まれるextract-firmware.shを実行してFWを展開します。
$ ./extract-firmware.sh miwifi_r1cl_all_8864d_2.2.8.bin
Firmware extraction successful!
Firmware parts can be found in '/home/****/fmk/fmk/*'
以上のようなメッセージが表示されたら成功です。fmkフォルダが作成され、rootfsフォルダが展開されたFWの内容です。

再構築
編集が終わったら次のコマンドで再構築します。
$ ./build-firmware.sh
Finished! 
New firmware image has been saved to: /home/test/fmk/fmk/new-firmware.bin
new-firmware.binが再構築されたFWです。

MiWiFi Nanoのファームウェアを英語化したい

MiWiFi nanoを最新バージョンにアップデートすると中国語のみになってしまいます。
最新FW(2.2.8)に英語を追加できるか試してみた。

MiWiFi miniとMiWiFi nanoは同じようなluciというWEB UIが使われているので、言語ファイルを移植すれば英語表示できるのではないかと思いました。
MiWiFi miniファームウェア英語バージョンが公開されていたのでこれを展開し、言語ファイルを取り出します。
rootfs/etc/uci-defaults/luci-i18n-english
rootfs/usr/lib/lua/luci/i18n/base.en.lmo
これらがluciの英語ファイルのようです。

これをMiWiFi nanoに移植します。

$ sudo cp luci-i18n-english fmk/rootfs/etc/uci-defaults/
$ sudo cp base.en.lmo fmk/rootfs/usr/lib/lua/luci/i18n/
$ ./build-firmware.sh
ビルド成功のメッセージは表示された。

編集したファームウェアをMiWiFi Nanoに書き込んでみる

再構築したFWはWEB UI経由でのアップグレードはできませんでした。
telnetでアクセス後、mtdコマンドを使ってOpenWrtと同じ方法で書き込みを行ってみました。

DropboxやGoogleDriveにアップロードしてwgetコマンドでファイルを取得できると楽ですが、MiWiFi内蔵のwgetコマンドはhttpsからのダウンロードに対応していません。
そのためscpコマンドを使ってファイルをSSHサーバーから取得しました。

# cd /tmp
# scp test@192.168.31.206:/home/test/new-firmware.bin /tmp/
# mtd -r write /tmp/new-firmware.bin firmware
書き込み後、赤ランプ点滅…
失敗(*ノω・*)

FWリカバリへ

(メモ) 仮想マシンのSSHサーバーに接続できるようにする

仮想マシンを使ってWindows上でLinuxを動かす
UbuntuにSSHサーバーをインストールしてリモートで操作する

VMware Workstation Player上のSSHサーバーにMiWifiから接続するにはネットワークの接続先を変更する必要があるかもしれません。
VMware Workstation Player設定の「取り外し可能デバイス」-「ネットワークアダプタ」の設定から接続先を切り替えて再度接続し直します。


つづく
(失敗) MiWiFi OpenWrt用ipkgパッケージを作ってみる
MiWiFi mkxqimageコマンドを使ってファームウェアを編集できる!!



0 件のコメント :