Dropbox

もともと小米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本立っているのは伊達ではなく、このルーターからの電波は家中に届きます。

小米 Xiaomi Mi5のROM焼きガイドのUNLOCKED BOOTLOADER手順では特別なUSBケーブルを使用すると書いてありますが、ケーブル自体の詳細は書かれていません。

で、Forumに質問を投げかけると数時間のうちに回答が得られました。

AliExpressというサイトでオーダー可能ということでした。どうもQualcomm chipを使った小米携帯電話に共通して使えるケーブルのようです。

中国の通販サイトtaobaoでも「小米bl锁刷机线」あるいは「小米深度刷机线」というキーワードで沢山のケーブルが見つかります。適当にその中のひとつをオーダーして到着したのが下のケーブルです。USB Type-Cの変換コネクターが2つも入っていたのが、ちょっと嬉しい。

XiaomiCable

手順通りにMi5の電源を切り、ケーブルのポタンを押したままMi5に接続、数秒後にボタンを離すと、あら不思議XiaoMiFlashからデバイスが認識されました。デバイスマネージャーで見るとこんな風に認識されています。色々と調べてみると、この9008というインターフェースはEDLモードと同じものらしいです。

MiSpecialCableDeviceMgr

このままXiaoMiFlashでflashボタンを押してみましたが、errorになってしまいROM書きは出来ませんでした。現在の所、必要としていないので上手くいかない理由の追求はしていません。

[ このボタンは何をしているのか? ]

次に、このボタンの仕組みを解明してみます。といっても、テスターで各線の導通チェックをしただけです。結論としては、ボタンを押すと+D (緑)とGND(黒)のラインがショートするようになっていました。このケーブルが入手困難な場合は自作することも難しくは無いと思います。<- ちゃちゃっとテスターで調べただけで、自作しての再現性を確認はしていませんので信頼度50%くらいに考えておいてください。

追記) 最初に紹介したスレッドのコメントでケーブルの作り方が紹介されていました。+DとGNDのショートで間違いないようです。

 

4月初めに一瞬公開された最初のGlobal ROMを入れた時と状況が変わっています。新たに購入したMi5 (自分の物に非ず) China Stable ROM 7.5.4.0を本日公開されたばかりのGlobal Stable ROM 7.5.2.0に上書きするにあたり以下の新しい手順書を参考にしました。

[ Bootloader Unlock ]

小米のBootloader Unlockは申請制でアカウント毎に許可が必要となります。実は4月にGlobal ROMを入れた際に同時にUnlockの申請を行っていました。その時は許可が降りる前にEDLモードによるROMの書き換えを行ったので使わずにいました。

参考スレッド : [Tools, Tips & Tutorials] [MIUI DEVICE TEAM] How to Unlock Bootloader of Mi5

< Xiaomiアカウントと端末の紐付けが必要 >

やっと、活用の機会が来たということで新しいMi5を接続してアンロックしようとするとDeviceのVerifyに失敗したとメッセージが出ます。再度Mi5を普通に立ち上げMiアカウントにログインさせてしばらく放置した後にアンロックを行うと成功しました。どうもアカウントと端末の紐付けが必須のようです。

[ Flash ]

デバイス・ドライバーで苦労する方が多いようですが、新しい手順書のドライバー導入手順はかなり明確に書かれているので問題が少ないような気がします。私は4月の時点でドライバーが入っていたのでドライバーの導入はスキップ出来ました。

http://en.miui.com/a-234.htmlの”Xiaomi Mi 5 Latest Global Stable Version Fastboot File Download”からダウンロードしたファイルはtarで固められています。これを展開しておきます。(Note: Chromeではダウンロード出来なかった)

  • 手順書に貼り付いているMi Flash Tool -BetaをWindowsに導入します。
  • Mi5をFastbootモード(電源オフからボリューム下と電源オン同時押し)にしてUSBケーブルを接続する。
  • XiaoMiFlashを起動しrefreshボタンを押してデバイスの情報が表示されたら準備完了。
  • selectボタンにて展開したfastbootイメージを指定。
  • 右下でclean allを選択。
  • flashボタンでROM焼きが開始される。

XiaoMiFlash

しばらく待つと端末が自動的に再起動して完了です。

[ Bootloader 再ロック ]

< Bootloaderがアンロックされた端末はMiアカウントへのログインが必要 >

初期設定の過程でBootloaderがアンロックされていることを認識しているようで端末の情報からMiアカウントの番号が自動的に表示されログインしなければ先に進むことが出来ませんでした。設定完了後にログオフすることは出来ますが、友人の端末ですしBootloaderをロックしておくことにしました。

fastbootモードでPCに接続し”fastboot oem lock”を投入すればOKです。

これで再度初期化を試してみたところMiアカウントのログインはスキップ出来るようになっていました。

 

友人から依頼されて新しいMi5をChina Stable ROM 7.5.4.0をGlobal Stable ROM 7.5.2.0で上書きしました。それに先立ち最新情報を調べてみると、前回の記事「小米5 Xiaomi Mi5にGlobal ROMを入れた」に書いた内容は全く役に立たない事がわかりました。

  • EDLモードが無くなっているらしい(fastboot oem edlを試したけど効かなかったです)
  • 前回の記事でリンクしたForumのスレッドが読めなくなっている(EDL前提なので当然かも)

改めて情報を探して見ると、

Fastbootイメージの公式リンクはChromeでクリックするとMIUIのトップページが表示されてしまいます。Safariだとちゃんとダウンロードが始まるので、うまくダウンロード出来ない場合はブラウザーを変えて試してください。

ということで、今回はBootloaderをUnlockしてGlobal ROMの上書きを行いました。それについては別途書きたいと思います。

試してはいないので何とも言えませんが、他にも2つほど使えそうなスレッドがあります。

1more
アスキーの記事で1MOREのイヤフォンを見かけて、さっそく試してみることにしました。記事中で紹介されている一番安いモデル(1M301)は中国の小米サイトでも取り扱いがあります。ということで、何時もの小米サイトで朝9時にオーダーしたら午後3時には宅配ロッカーに入りました。小米は在庫があると、何時もこんな感じで当日、もしくは翌日に配達されるので気持ちが良いです。

ということで、到着した129元(約2170円)の1MOREのイヤフォン、美しいケースに入っています。とても格安イヤフォンとは思えません。付属品は各サイズのイヤーパッドと金属製のクリップ、それとソフトケースです。

[ ケーブルの擦れ音、風切り音 ]

小米携帯電話の純正イヤフォンと同様でミニジャックから分岐部分までは布っぽい織り上げのシールドがかかっているしなやかさのあるケーブルです。分岐部分からイヤフォンまでは柔軟性は高いですが普通のビニール被覆のケーブルです。静かな環境で耳に装着して、このビニール被覆のケーブルを触るとかなり耳障りな音がします。シュアがけをしたいところですが、リモコンが耳の後ろに回ってしまいます。分岐部分の長さは十分なのでリモコンの位置を気にしなければ大丈夫とも言えます。普通に装着することにして付属のクリップを使って胸元でケーブルを固定すると擦れ音の発生はかなり抑えられます。実際の環境で使ってみると、これでほとんど擦れ音を気にすること無く使用できました。
1MoreClip
[ 鳴らしてみる ]

iPod touchに繋いで色々な音楽を鳴らしてみました。鳴らした瞬間に、これは良いと思いました。次から次へと色々なジャンルの音楽を鳴らしてみたくなります。音質に関して語るだけの技量はないので、どんな感じかは先のアスキーの記事やAV Watchの記事を御覧ください。AV Watchの記事に1MOREの理念として「優れたヘッドフォンやイヤフォンを驚くほど手頃な価格でお客様に届ける」と書かれています。まさに、それを実現していると思います。中国メーカー侮りがたし。

[ リモコン ]

携帯電話での仕様を想定してマイク付きのリモコンが付いています。このリモコンがiPhoneでもAndroidでも同様に使用できるのがとても便利です。

格安モデルで感動したのでハイレゾ対応を謳う高級機も試してみたい。公式ページによると中国各地に体験出来る店舗があります。残念なことに上海は一店舗だけ、それも松江にあるようです。家から松江まで地下鉄で一時間強、ほぼ行く用事の無い場所なので、よほど時間のある時にしか行けそうもありません。

小米 Xiaomi Mi5はUSB Type-Cコネクターを持っています。以前からOTG対応のUSBハブを持っていたので、USB Type-CとマイクロUSBの変換コネクターを介して接続してみましたが動きませんでした。

Mi5_USBHub

MacBook用に用意したUSBハブは当然USB-Cコネクターが付いています。試しにMi5に接続してみると見事にUSBメモリーを認識することが出来ました。

ただし最近のアンドロイドではアプリケーションから直接USBメモリーをアクセスすることは出来ないため、あくまでデータ交換専用になります。以前ですと、動画ファイルを沢山入れたUSBメモリーを接続してアンドロイド本体にコピーすることなく再生出来ましたが、今では不可能になりました。

キーボード(やマウス)も認識しますが、まず使うことは無いでしょう。(実際に試したのはキーボードだけです)

常用することは無いと思いますが、何かの時のデータ交換用に使える事が確認できたのは良かったです。