Dropbox

小米ルーター青春版+OpenWrtをリピーターにしても速度的に今ひとつだし、まだまだOpenWrtの実験に使うのでどうしようかと思っていたところ、OpenWrt待ちで使いみちの無かった小米WiFiルーター3 (Xiaomi WiFi router 3)+Asuswrtをリピーターにしてみました。GUIメニューから設定出来るので難しくはありませんが見つけにくい設定でしたので紹介しておきます。

設定画面の大分類にはリピーターなどはありませんが”Advanced Settings/Wireless 2.4GHz”にBridgeタブがあります。

asuswrtg_bridge

ここでWireless Operation Modeに”AP-Client+AP”を設定して目的のWiFiアクセスポイントに接続するだけでOKです。ここで”AP-Client (AP is disabled)”にして5GHzをAPとして使用するともしかするとパフォーマンスが良いのかも知れません。環境があればWDSも使用できます。

速度的にも満足がいくものになりましたので、少々大きいのですが小米ルーター3はしばらくリピーターとして活用することになりました。

もともと小米WiFiルーター青春版(Xiaomi WiFi Router Youth)はリピーターとして使用していましたのでOpenWrtでもリピーターとしての構成を試してみました。ネットワークで沢山見つかる設定例とほぼおなじです。

前回の設定で普通にWiFiルーターとして使用できている状態から始めます。目標とする構成はEthernetのWAN接続の部分をWiFiで置き換えるもので、一般的に言うところのWiFi拡張とは違うものです。

またLuCIのは白コネクターのEthernetに接続してPCから行います。

1) Network/WirelessでScanボタンを押し、親となる目的のWiFiアクセスポイントのJoinボタンを押します。下の画面でWiFiパスワードを入力しSubmitボタンを押します。
openwrt-repeater1

2) 次の画面NetworkがWWANになっていることを確認してSave&Applyボタンを押します。
openwrt-repeater2

3) Network/Wireless/Overviewは以下のように親のWiFiネットワークに接続されているのが分かります。この状態で白コネクターEthernetに接続されたPCからWiFi経由でネットワーク接続出来るようになります。
openwrt-repeater3

4) クライアントモードで接続するためのWiFiアクセスポイントを作成します。Network/WirelessでAddボタンを押します。下の画面で任意のSSID, ModeはAcess Point, NetworkはLanにします。またWireless SecurityタブにてWPA2などのパスワードも設定します。
openwrt-repeater4

5) Network/Wireless/Overviewは以下のようになります。これでWiFiからWiFiへのリピーターとして機能しました。
openwrt-repeater5

接続は出来ますが、速度的には今ひとつです。想像の半分くらいしか速度が出ません。WiFiアダプターが一つで二役なので仕方ないのかも知れません。ただオリジナルのファームウェアのリピーターモードは速度テストはしていませんが、遅いとは感じていませんでしたし小米の格安小型リピーターでは問題なく速度が出るので、チューニングの余地はありそうです。

workingonxiaomiyouth

本当は小米WiFiルーター3にOpenWrtを入れたかったのですが、今現在OpenWrtに対応していません。こちらは気長に待つとしてリピーターとして活用中の小米WiFiルーター青春版にOpenWRTを入れてしまいました。

導入方法は公式Wikiページに書かれている通りで大丈夫です。ただしUSBが無いので、リセットボタンと電源ボタン併用によるリストア方法がありません。失敗した場合のリカバリーは出来ないと思いますのでご注意ください。またOpenWrt導入後の設定にはPCとルーターをEthernetによる有線接続が必要になりますので、それなりの準備をしてから導入を開始してください。

導入手順は“OpenWrt – Xiaomi Mi Wi-Fi Nano/Youth”にあります。手順に従えば導入出来ますが、それぞれのステップにコメントを加えて解説したいと思います。

[ 開発版ファームの導入 ]
Wikiページには開発版 2.1.26のリンクが付いています。私は公式ページから2.5.69を導入しましたが、問題なく以下の手順を実行できました。

[ SSHパスワードの設定 ]
sshデーモンは最初から動いています。パスワードの設定だけ行えばsshでログイン出来るようになります。手順書では何故かcurlを使用した方法が書かれています。私はMac OS Xを使用していますので、手順通りcurlを使用しましたが、おそらく以下のurlをブラウザーで実行しても同じ結果が得られと思います。
http://192.168.31.1/cgi-bin/luci/;stok=your_stok/api/xqsystem/set_name_password?oldPwd=old_password&newPwd=new_password

your_stokは小米ルーターの設定画面にログインした後のURL中にあるものと置き換えます。old_passwordは現在のルーター設定用のパスワードで、new_passwordは新しいパスワードです。新しいパスワードはルーター設定とsshでのrootログインの両方に使用します。

[ OpenWrtの取得と書き込み ]
小米ルーターにssh root@192.168.31.1でログインしwgetでOpenWrtのバイナリーを取得しmtdコマンドで書き込むだけですので、公式手順通りで、何の補足も必要ありません。もちろん小米ルーターはインターネットに接続されていることが前提です。わたしの場合は既存のブロードバンドルーターにEthernetで接続しました。

[ OpenWrtの基本設定 ] – PCからEthernet接続が必要
OpenWrtの書き込みが終わると自動的にリブートが行われOpenWrtが立ち上がりますがWiFi電波は出ないし、フロントLEDは赤のままだしと、ちょっと勝手が違います。OpenWrtはデフォルトでは全くWiFiルーターとしての動作をしない状態で立ち上がります。

ルーターの白いEthernetコネクターにPCを有線接続しssh root@192.168.1.1でパスワード無しでログイン出来ます。webによるGUI設定画面を提供するLuCIはまだ入っていません。このままコマンドラインでuciコマンドを使用して設定も出来ますが、いずれGUI設定環境が必要になるのでLuCIの導入を行いました。小米ルーターのWAN側はブロードバンドルーターを接続している状態で以下のコマンドを入力します。

opkg update
opkg install luci
reboot

わたしの場合はopkg updateを複数回実行する必要がありました。再起動後、ブラウザーから192.168.1.1に接続するとLuCIが稼働しているはずです。rootログインとパスワードは共通ですので、最初はパスワード無しで設定画面に入れます。

単純にWiFiを有効にするにはメニューNetwork/WirelessでインターフェースをEnableにします。わたしの場合は、その後、Scanボタンを押したら実際にSSIDが見えるようになりました。これでWiFiからインターネットにアクセス出来るようになります。ただしWiFiパスワードなどはまだ設定されていません。少なくとも設定用(root)パスワードとWiFiのWPA2設定だけは素早く済ませておくべきでしょう。

asuswrt

小米WiFiルーター3に、本当はOpenWRTを入れたいのですが、まだパッケージのサポートがありません。唯一見つかったオープン・ソースなWiFiルーターはAsusWRTでしたので入れてみました。

[機能は豊富] 流石に機能は豊富です。全てのメニューを把握しきれないくらいですが、小米ルーターも相当充実したものでしたので、外国人にとってAsusWRTを導入する一番のメリットはメニューが英語になることでしょう。

[ AsusWRTのVPN ] わたしはVPNに期待していたのですが、残念ながら期待はずれでした。PPTPは問題なく使えます。ただし構成はひとつしか持てません。L2TPはIPSec無し、OpenVPNもありますが、一般的な構成ファイルを読み込んではくれません。

[ SSHは標準装備 ] SSHはメニューから起動できます。ログインしてみると普通にLinuxです。opensslなども入っているので、他のVPNなどを組み込む事が出来るかもしれません。

[ 導入 ]

ロシア語サイトながら神スクリプトがあります。対話式にパッケージのビルドからルーターへのフラッシュまで行える凄いスクリプトです。スクリプトの実行開始直後はロシア語メッセージが出てビビりますが英語のメッセージに変わりますので安心して実行出来ます。

http://prometheus.freize.net/index.html

このサイトはロシア語ですので大まかな流れだけ書いておきます。

スクリプトはLinux上で動きます。Linux上でソースコードを取得しするためインターネット接続が必要です(中国の場合VPNなどの壁超え手段も必要です)。またルーターにフラッシュする時には小米ルーターに接続する必要もあります。わたしは仮想環境で動くUbuntuがあったので、それを使いました。VMWare Workstation PlayerとOracle VM VirtualBoxで動くLinuxイメージがこのページに用意されているので、それを使うことも出来ます。

Ubuntuのターミナルを開いたらスクリプトを取得して実行するだけです。
wget -O start.sh http://prometheus.freize.net/script/start-99.sh
chmod +x start.sh
./start.sh

何かしら足りないパッケージがあると取得が始まるのでしばし時間がかかります。私の場合、しばらくして”slow_connection”というエラーで止まっていました。原因はgoogle.comへの接続テストでエラーしているからでした。google.comは単にテストのためにアクセスしているだけで、本当に必要では無い気もしますが、壁超え接続を行い再度 ./start.sh を実行しました。

configはmi-3を選択します。

トップメニューに “SSH-hack of stock firmware (0)”というのがあります。これでSSHを有効化出来るようです。わたしの場合はすでにSSHを有効にしていたので実行していません。

トップメニューの”Firmware (4)”を選択、次に”Build a firmware (3)を実行します。ビルドには長い時間が必要です。夜ならば寝てしまう、用事があるならさっさと出かけてしまうべきです・

次にトップメニューの”Firmware (4)”を選択、次に”Flash a firmware (4)を実行しするとルーターにAsusWRTが書き込まれます。

最後に下のメッセージが出ます。

The router will be accessible (after reboot) at 192.168.1.1 address ,
Login is ‘admin’; Password is ‘admin’; WiFi network SSID is ‘ASUS’;
WiFi default password is ‘1234567890’.
Please, do not forget to enable SSH access for the further firmware upgrades.
Note, previous router settings are not changed…

この後、AsusWRTでルーターが再起動されました。

xiaomiwifirouter3

立派なツノが四本も生えていますが軽いです。

小米のWiFiルーターについて調べていると素の機能だけでもなかなか素晴らしいのですが、加えて色々と手を入れることが出来ることが分かりました。もともとOpenWRTベースのファームウェアを使用しているので機能が豊富でVPNなども最初から使えます。(注:VPNはPPTPのみと考えておいた方が良いです)。またハックの方法も色々と公開されています。

ということで、色々と試すために小米路由器3、Mi WiFi Router3を入手しました。後から気づいたのですが小米路由器miniと較べて情報が圧倒的に不足していて苦労していますが、スペック高め(といってもROM容量がちょっとだけ多いだけ)なので、頑張って使ってみたいと思います。

とりあえずsshでルート・ログインが出来るようにしました。

[ ルーターの設定 ]
まずは普通にルーターとして使用できるように設定しておきます。

[ 開発版ファームウェアの導入 ]
http://miwifi.com/miwifi_download.htmlのROMページから”ROM for R3 开发版”をダウンロードします。2016年9月13日現在、バージョン2.11.20がダウンロード出来ました。

これを”系统升级”/”手动升级”でルーターに書き込みます。

[ 公式ページによるSSH組み込み – 将来的には出来そう ]
AndroidもしくはiOSデバイスにMi Routerアプリケーションを導入してルーターと小米IDとをひも付けします。
https://d.miwifi.com/rom/ssh からsshを有効化するバイナリーファイルとrootパスワードを入手します。ところが残念なことに”小米路由器3即将支持”と表示されています。試しに手順通り導入を試みてみましたがsshは有効になりませんでした。

[ 非公式手順によるsshの有効化 ]
注意) 開発版ファームウェア2.11.20を導入後にOTAで2.13.75が導入できるようになりますが、このレベルでは以下の手順は有効ではありません。もし2.13.75にした場合は再度2.11.20を手動導入します。もし公式ページから2.11.20がダウンロード出来なくなった場合https://www.dropbox.com/s/y5tsgcjr1gxz7uq/miwifi_r3_all_55ac7_2.11.20.bin?dl=0からも入手可能です。

中国語のページですが http://www.right.com.cn/Forum/thread-185797-1-1.html に書かれている手順を忠実に実行するとsshが有効になりました。
– ルーターに接続し、設定画面にログインします。その時のURL中にあるstokの値を記録します。
– 上の手順にある4つの”http://192.168.31.1″から始まるURLを順に実行していきます。この時、stokの値を先に記録したものと置き換えます。実行の度にWiFiが見つからないみたいなエラーメッセージが出ますが気にせずに続けます。
– 最後のURL中の旧密码は、現在のルーターの設定画面に入るためのパスワードです、新密码は新しいパスワードで、これが新しい管理用のパスワードおよびrootパスワードになります。この最後URLの実行後はCode 0で終了みたいなメッセージが出ました。
– 実行が終了するとsshが有効化されますので ssh root@192.168.31.1でログイン出来るようになります。

MiRouterYouth

以前、紹介した小米の格安WiFiリピーターでは電波の掴みが足りない状況が出てきたので小米ルーター青春版をリピーターとして使用することにしました。

MiRouterYouth2

公式ページを見るとルーターとしての説明しかありません。このルーターがリピーターとして使用できることを知ったのはParrot Bebopユーザーのレポートからでした。携帯電話でBebopドローンを接続すると電波の到達距離はせいぜい100mですが、小米ルーター青春版をリピーターとして使用することにより電波の到達距離を2Km以上に出来るという例がありました。手のひらサイズで重量は100g、モバイル・バッテリーでも駆動可能な小型軽量ルーターですが電波は十分に強うそうです。値段も79元(1230円ほど)と格安です。

802.11n 2.4GHzのみのサポートですが、わたしの用途には問題なしです。リピーターとしての設定は簡単です。ただし所謂ローミング的な設定は出来ないので独立したSSIDを使用する必要があります。

RsapBerry Pi3からのWiFi電波を強化するために使用していますが、効果は抜群です。アンテナが2本立っているのは伊達ではなく、このルーターからの電波は家中に届きます。