2014年4月30日水曜日

Nexus5にGigabitのUSB Ether Adaptorを繋いでみました。


Nexus5にGigabitのUSB Ether Adaptorを繋いでみました。



白いのは100Mbpsのアダプタで今回使ったのは下の黒い方です。
USB2.0で1Gbpsに対応されています。(USB2.0の上限あり?)
赤いケーブルはホストケーブルです。

GigabitのUSB Ether AdaptorをNexus5にホストケーブルで直結しテストしました。

左:Gigabit Adaptor
中:WiFiで接続
右:100MbpsAdaptor

Nexus5はWiFiで通信するよりもGigabitの有線の方が約1.5倍早くなっています。
100Mbpsのアダプタでは77Mbpsで限界がきています。

GigabitのAdaptorでかなり早くなりました。
Gigabit LAN Adaptorは18ドル位で購入できると思います。
有線化大成功です。

2014年4月26日土曜日

aterm WM3800R 用のiPhoneアプリ iWM3800R を作成しました。 WiMAXの状態がみれます。





 
WM3800Rのモニタをするためのアプリです。
接続ログを見れるようにしました。

Bluetoothからの復帰はプライベイトAPIなのでできませんでした。
Bluetoothで待機する休止はできます。

無料アプリです。
ダウンロードはここ

2014年4月14日月曜日

Anker 40W 5ポート USB 急速充電器 最高です。POWER IQ 最強。

ANKER旧型 2.03A


左: Owltech OWL-ACUS4 4ポート 5V5.1A
中: ANKER 旧型 5ポート 5V5A
右: ANKER 新型 5ポート 5V8A

比較してみました。

iPhone5の充電時の電流を計りました。
iPhone5の残量は10%未満です。

Owltech 0.94A
ANKER旧型 0.92A
ANKER新型 0.97A

ANKER新型圧勝です。

iPad Airの充電時の電流も計りました。
iPad Airの残量は2%です。
Owltech(2.1A端子) 2.04A
Owltech(1A端子) 0.94A
ANKER旧型(iPad端子) 2.03A
ANKER旧型(Samsun端子) 0.46A
ANKER旧型(iPhone端子)0.94A
ANKER旧型(Android端子)0.94A
ANKER新型 2.34A
ANKER新型圧勝です。
最強充電器です。

数百円の差しかないのです買うなら新型の方がいいと思います。

ANKER旧型は端子を間違えると大幅に充電時間をロスします。
ANKER新型は自動でガジェットを識別する機能があるらしいです。
POWER IQというらしいです。
iPhoneが繋がれているかAndroidが繋がれているかを自動判別し適切な電流コントロールをするみたいです。
ANKER旧型はUSBケーブルをさす場所が決まっていました。
ANKER新型は端子部にラベルが書かれておらずどこに刺しても同じ!になるように回路が組まれているみたいです。

Owltechの2.1Aの端子にiPhoneを繋いでも1Aまでしか電流が流れませんでした。
iPhone側で電流の最大値が決められているようです。





これだけの充電器があれば14台同時充電もできます。
スマホ以外にUSB機器の5V安定化電源にも使えます。
ガジェット充電ステーションの電源に最適です。
この充電器なしではあり得ないくらい重宝しています。

2014年4月9日水曜日

Google Nexus5 で 有線LANアダプタ対応してみました。 (修正2)




Nexus 5 はUSB LANアダプターを付けてもそのままでは有線LANを使うことができませんでした。
設定画面らしきものがでてきません。

lsusbとすると
0b95:772aが現われています。
netcfgでみるとeth0が増えています。
ドライバーはあるようです。 
ステータスはDOWNの状態ですがUPにすれば使えそうです。

root化によって設定を変えることで有線LAN 対応してみました。

コマンドは以下のようにしました。
ターミナルで打ち込んでいくと繋がるようになりました。
#/system/bin/sh
netcfg eth0 up
sleep 3
netcfg eth0 dhcp
sleep 1
setprop net.dns1 192.168.2.1
setprop net.dns2 192.168.2.1
setprop dhcp.eth0.dns1 192.168.2.1
setprop dhcp.eth0.dns2 192.168.2.1
setprop dhcp.eth0.gateway 192.168.2.1
route add default gw 192.168.2.1 dev eth0
sleep 3がないとdhcpで固まる場合がある為いれています。
有線routerのアドレスは192.168.2.1になっています。
USBのLANアダプターは秋葉原などで980円程度で売ってるものです。
USBケーブルは電源補強付きのホストケーブルです。

この設定でもDNSがどうもうまく動いていないような気がしています。
youtubeのアプリの下半分のコメント部分の表示がおかしいしです。
サイトにアクセスできないようなエラーがでます。
さらにGooglePlayからアプリをダウンロードするときプログレスバーが固まります。

現在は以下のように変更しました。
#!/system/bin/sh
echo netcfg eth0 up
netcfg eth0 up
sleep 3
echo netcfg eth0 dhcp
netcfg eth0 dhcp
sleep 1
echo setprop net.dns1 8.8.8.8
setprop net.dns1 8.8.8.8
echo setprop net.dns2 8.8.4.4
setprop net.dns2 8.8.4.4
echo setprop dhcp.eth0.gateway 192.168.2.1
setprop dhcp.eth0.gateway 192.168.2.1
echo ip route del default via 192.168.100.1
ip route del default via 192.168.100.1
echo ip route del default via 192.168.2.1
ip route del default via 192.168.2.1
echo ip route add default via 192.168.2.1
ip route add default via 192.168.2.1
route add default gw 192.168.2.1 dev eth0
echo ok
WiFi側192.168.100.xxxはそのまま機能させてdefault gatewayをかえました。
echoをいれてあるのはどこまで動いているかを確認するためのデバッグ用です。
WiFi側が使えるようになっていないとGooglePlayからアプリが落とせないようです。 
WiFi側をoffにしたときはブラウザだけはまともに使えます。
GooglePlayやYoutubeは何かを見て通信を行っている気配がします!(情報抜き?)

ip route del default via 192.168.100.1
でwifi側のデフォルトgatewayを消しています。(wlan0はそのままUP)
デフォルトgatewayが2つあるとまずいことになります。

DNSは8.8.8.8を使いました。
セグメント毎にDNSを書き直さずにすみます。

Speedtestではおおよそ有線LAN接続で75Mbpsくらい出ています。
無線の150Mbpsだと110Mbps出ています。
かなりスピードが落ちます。
速度が落ちる原因は100BastTにあると思います。
これの上限で頭打ちになっていると思われます。

アキバのaitendoにFast Ether Adaptorが500円くらいで売ってました。
前に買ったのは加熱して溶ける不具合がでてましたがこれもそうなのかもしれません。

USB EthernetアダプタとNexus5の間にセルフパワーのUSBハブをいれるとNexus5の電池の持ちがよくなり安定しました。

Google Nexus5 に HWD14 (WiMAX2+ router)を直結してみました。



HWD14 → USBハブ Nexus5

root化しusb_modeswitchをnexus5にインストールしました。

Nexus5 root化ツール↓
CF-Auto-Root-hammerhead-hammerhead-nexus5.zip

設定コマンドは以下の通りです。(root必須)
毎回入力するのが大変ですのでショートカットにしております。
hotplugにすることもできると思います。
#!/system/bin/sh
/system/xbin/usb_modeswitch -I -W -c /system/xbin/usb_modeswitch.conf
sleep 3
netcfg usb0 dhcp
setprop net.dns1 192.168.100.1
setprop net.dns2 192.168.100.1
setprop dhcp.usb0.dns1 192.168.100.1
setprop dhcp.usb0.dns2 192.168.100.1
setprop dhcp.usb0.gateway 192.168.100.1
DNSの調子が悪かったので念のためたくさん書いております。
speedtestは 32.17Mbps でした。
wifiのときで26Mbpsくらいでした。速度的によくなっていると思います。

このmicro USBハブには他にもUSB機器を追加することができますが電力が持たないと思います。
この構成の状態で放置すると1時間くらいしか電池が持ちません。
HWD14が電気を遠慮なくNexus5から吸い取ってしまいます。
Nexus5がルータとハブの電力供給を行っていると思います。
(HWD14の充電マークで確認)
別途なんらかの充電器が必要です。


ちなみにこのNexus5は国内版ではありません。
例のD820の方です。

2014年4月6日日曜日

Android Docomo版 Galaxy S4 に HWD14 を直結させてみました。

HWD14のWiFiを使わずにUSBで直結し通信



HWD14のWiFiを使わずにUSBで直結し通信するように設定しました。

Galaxy S4はrootを有効にしてあります。
usb_modeswitchはいれました。

 ターミナルアプリをいれて以下のコマンドで繋がりました。
# /system/xbin/usb_modeswitch -I -W -c /system/xbin/usb_modeswitch.conf
# sleep 3
# netcfg usb0 dhcp
# setprop net.dns1 192.168.100.1
 sleep 3はバッチで動かす場合の間です。

Speedtest

speedtestで違いを見ました。

WiFiでの測定

USBでの測定

ほとんど同じでした。
おおよそ25メガ前後です。
Androidの



2014年4月5日土曜日

Android OS に HWD14 を直結させてみました。


AndroidでHWD14を使ってみました。


スマホのAndroidはWiFIを使えばHWD14に繋ぐことができます。

WiFiを使わずに 
USB接続でHWD14をAndroid機に直結する
とどうなるのか試してみました。

実験に使ったのはODROID U3(手のひらコンピュータ)に乗っかってるAndroid4.1.2です。

ノートPCにみえますが液晶パネルとキーボードはLapdocです。
Motorora Lapdoc + odroid u3(Android 4.1.2) + HWD14
です。

アプリを入手し易いようにGoogle playが入れてあります。
rootは特に何もしなくてもroot権限になっています。

そうです、このテストはroot権限がないとできません。

android OS内部にアクセスするためのクライアント端末はOSX10.9.2にgoogleのadbコマンドをインストールして行いました。

クライアント端末ははWindowsなどでもできると思います。
Windowsでadbを使うにはODROIDのUSBドライバの改造が必要でした。
標準のドライバのinfファイルを書き換えてDeviceのIDを合わせるだけでした。

以下はテストの手順です。

1)とりあえずUSB端子にHWD14を繋いでみます。

$ adb shell lsusb

Bus 001 Device 008: ID 12d1:1f01
Bus 001 Device 008: ID 12d1:1f01がHWD14です。

    このままだとCD-ROM状態なのでモデムモードに切り替えます。
    usb_modeswitchをインストールします。

2)usb_modeswitchのバイナリを入手します。

    usb_modeswitch-1.1.9-arm-static.bz2でググると探し出せると思います。
    usb_modeswitch-1.1.9-arm-static.bz2を解凍しusb_modeswitch-1.1.9-arm-staticを取り出します。

3)ディレクトリ/systemを書き込めるようにします。

 $ adb remount

4)usb_modeswitch-1.1.9-arm-staticをAndroid側に転送します。

 $ adb push usb_modeswitch-1.1.9-arm-static /system/xbin/usb_modeswitch

5)Macでファイルusb_modeswitch.confを作成します。

$ vi usb_modeswitch.conf

DefaultVendor= 0x12d1
DefaultProduct=0x1f01
TargetVendor=  0x12d1
TargetProduct= 0x14db
MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
NeedResponse=1

6)usb_modeswitch.confをAndroid側に転送します。

 $ adb push usb_modeswitch.conf /system/xbin/usb_modeswitch.conf

7)アクセス権を指定し実行テストします。

$ adb shell chmod  777 /system/xbin/usb_modeswitch
$ adb shell chmod 777 /system/xbin/usb_modeswitch.conf
$ adb /system/xbin/usb_modeswitch -I -W -c /system/xbin/usb_modeswitch.conf

8)Androidを再起動します。

    $ adb reboot

9)モデムモードに切り替わっているかどうかを確認します。

    $ adb shell lsusb

    Bus 001 Device 008: ID 12d1:14db

    lsusb12d1:14dbがあれば成功です。

10)netcfgでネットデバイスの状態を確認します。

$ adb shell netcfg
...
 usb0     DOWN                             0.0.0.0/0

11)HWD14との接続がDOWNしていますのでUPにします。

$ adb shell netcfg usb0 dhcp

12)eth0がUPされている場合はDOWNにします。

$ adb shell netcfg eth0 down
$ adb shell netcfg
usb0     UP                             192.168.100.100/24
eth0     DOWN                                   0.0.0.0/0  
    usb0に192.168.100.xxxが割当られれば成功です。

13)Androidの設定アプリを起動します。


14)左側からEthernet configurationをタップします。

15)右側からEthernet configurationをタップします。

16)Ethernet deviceをタップします。

17)一覧からusb0を選択します。

18)ping 8.8.8.8でWANに繋がるかどうかを確認します。

$ adb shell ping 8.8.8.8

19)ping www.google.comでWANに繋がるかどうかを確認します。

$ adb shell ping www.google.com
ping: unknown host www.google.com
    というエラーがでました。 DNSが認識できていないようです。

19)DNSを設定します

$ adb shell setprop net.dns1 192.168.100.1

20)Androidの標準ブラウザでwww.google.comなどに繋いでみます。

21)Android OS + HWD14 のスピードテストの結果

DOWNが7.8Mbps UP1.9Mbps
でした。
PCで繋いだときの5分の1しか速度がでませんでした。
原因は調査中です。
 とりあえずここまでです。

andorid OSでHWD14が使えることがわかりました。
実機のrootが取れてるスマホで試してみたいです。