Xperia RayとWZR-HP-G300NHの相性問題

Xperia Ray(SO-03C)自体はその小ぶりさによる取り回しの良さが非常に満足だったのだが、一つ重大な問題が発生していた。

Slingplayer(アプリ)やニコニコ動画(Webブラウザ)でストリーミング動画再生をすると、1分ほどで必ずといっていいほどWifi通信が異常となった。
とはいえ、Wifi通信全部ができなくなるわけではなく、異常が発生したアプリやWebブラウザのみ、ネットワークに繋がらなくなるというものだった。
なお、Wifiに再接続すると正常に戻るが、結局また異常は発生するので何の解決にもならない。

Google検索してみたものの、Xperia Rayの普及率は大したものではないため、特に同様の問題はHITしなかった。

Xperia(SO-01B)では特に問題が発生していなかったため、Buffaloの無線LANルータであるWZR-HP-G300NHに当たりをつけた。
(余談だが、WZR-HP-G300NHは本当に何かと問題の多いルータで、評価も散々である)

とはいえ検索wordは思い浮かばず、”WZR-HP-G300NH”まで入力したところでGoogle先生からサジェストされた聞きなれない言葉”dd-wrt”を検索。
なるほど、ルータ用のカスタムファームウェアのことか。

他に手もなかったので、燃えないゴミ化する可能性もあったが
WZR-HP-G300NHとG301NをDD-WRT化~その1~
WZR-HP-G300NHにdd-wrtをインストールしました
の情報を参照させていただき無事ファーム入れ替え成功。
なお、ブリッジモードのままファーム書き換えをすると非常に面倒なことになるので注意。

色々設定後、Xperia Rayから無線LANルータに接続。
そしてストリーミング再生……問題なさそうだ。解決とする。

私のような組み合わせを使っている人はほとんどいないだろうが、相性問題は本当に厄介である。

今回は改めてGoogle先生の優秀さを認識させられたのだった。

以上

Xperia(Android)からOpenVPN接続

はじめに

この手順では、XperiaからOpenVPN Settingsを用いてOpenVPNサーバに対して接続を行います。
Xperia以外でもAndroid端末であれば接続できると思いますが、試していないので不明です。
(IS01で確実にダメなことが分かっていますが、Google検索すると解説サイトがあるのでそちらで)
なお、本手順の使用については自己責任でお願いします。
(rootで端末をいじるので、最悪動かなくなることも考えられます。
……AndroidでOpenVPN使おうとする人なら十分承知とは思いますが(^o^;)

  1. OpenVPNサーバ構築
    これは数多くのサイトが解説しているので割愛します。
    必ず、Windows等のクライアントからOpenVPNサーバに接続できることを確認しておいて下さい。
    (Xperiaを最初のクライアントにすると、問題が発生したときにサーバの問題なのか
    クライアントの問題なのか切分けが難しくなります)
  2. Xperiaのroot取得
    こちらも他サイトを参考にお願いします。
    私はz4rootを使用しましたが、現在でも使える方法かは不明です。
  3. BusyBoxのインストール
    XperiaでマーケットからBusyBoxを検索し、インストールします。
  4. OpenVPNモジュールの取得
    Xperiaで以下URLからzipをダウンロードし、/sdcard以下に解凍して下さい。
    http://dl.dropbox.com/u/15148882/openvpn.zip
  5. OpenVPN Settingsのインストール
    XperiaでマーケットからOpenVPN Settingsを検索し、インストールします。
  6. Android Terminal Emulatorのインストール
    XperiaでマーケットからAndroid Terminal Emulatorを検索し、インストールします。
  7. コマンドの実行
    XperiaでAndroid Terminal Emulatorを起動し、以下のコマンドを実行して下さい。
    ※最後の2行は要らないかも知れません。私は実行しましたが、問題はありませんでした。

    su
    mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
    busybox insmod /sdcard/openvpn/tun.ko
    busybox cp /sdcard/openvpn/openvpn /system/xbin/openvpn
    busybox cp /sdcard/openvpn/tun.ko /system/xbin/tun.ko
    chmod 700 /system/xbin/openvpn
    mkdir /system/xbin/bb
    busybox ln -s /system/bin/busybox /system/xbin/bb/ifconfig
    busybox ln -s /system/bin/busybox /system/xbin/bb/route
    busybox mount -o remount,rw /dev/block/mtdblock2 /system
    busybox cp /sdcard/openvpn/chargemon /system/bin/chargemon
    busybox cp /sdcard/openvpn/busybox /system/bin/busybox
    
  8. Xperiaの再起動
    Xperiaを再起動します。
  9. OpenVPNクライアント鍵などの配置
    Xperiaの/sdcard/openvpn以下に、クライアントとして必要なファイルを配置します。
    私の場合は、以下のようなファイルでした。OpenVPNサーバの設定によって変わると思います。

    • ca.crt
    • xxx.crt
    • yyy.key
    • zzz.ovpn
    • tls-auth.key

    ※ちなみに、zzz.ovpnの内容は以下です。こちらもOpenVPNサーバの設定によって内容が異なります。
    Windowsなどで動作確認済みのovpnファイルがあれば、keyやlogのパスを変更するだけでOKです。

    client
    tls-auth /sdcard/openvpn/tls-auth.key 1
    cipher AES-256-CBC
    dev tun
    proto udp
    tun-mtu 1500
    fragment 1400
    mssfix
    remote hoge.hoge xxxxx
    ca /sdcard/openvpn/ca.crt
    cert /sdcard/openvpn/xxx.crt
    key /sdcard/openvpn/yyy.key
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    verb 3
    comp-lzo
    status /sdcard/openvpn/status.log
    log-append /sdcard/openvpn/log.log
    
  10. OpenVPN Settingsの設定
    XperiaでOpenVPN Settingsを起動して、[Menu]ハードキー – [Advanced]をタップし、以下の設定を行います。

    1. [Load tun kernel module]にチェック。
    2. [Path to configurations]に/sdcard/openvpnを設定。
    3. [Path to openvpn binary]に/system/xbin/openvpnを設定。
    4. [TUN module settings]をタップ。
    5. [Load module using]で”insmod”を選択。
    6. [Path to tun module]に/sdcard/openvpn/tun.koを設定。

    以上で設定は終了です。[Back]ハードキーを2回押して、OpenVPN Settingsのトップ画面に戻ります。

  11. OepnVPNの起動
    いよいよOpenVPNの起動です。

    1. [OpenVPN]にチェックを入れます。
    2. zzz.ovpnにチェックを入れます(一度でチェックが入らない場合は、もう一度タップして下さい)。
    3. パスフレーズの設定をしている場合には、ステータスバーに通知されるので、通知を開いてパスフレーズを入力してから[OK]をタップします。
    4. zzz.ovpnの下に、”Connected to [OpenVPNサーバのIP] as [クライアントに割当てられたIP] “ が表示されれば接続成功です。うまくいかない場合には、ログを確認しましょう(ログの場所は、ovpnファイルで設定できます)。

以上です。