2013年12月31日火曜日

2013年 購入したお気に入りガジェット


今年はぜんぜんケータイ買ってないですね、たったの9台です、使うつもりで購入したのは。

「2013年 購入したお気に入りスマホ」では面白くないのでそれ以外のブツもまじえつつダラダラと書いていく。


BeagleBoneBlack / RaspberryPi



小型、安価、低消費電力なLinuxなどが動くおもちゃ
久しぶりに「工作たのしい!」と思わせてくれたもので2013年の中では一番触ってて楽しかったガジェット(ガジェットと表現するのが適切なのかは知らん)
あれ - イイ音持って出掛けよう - BeagleBoneBlack+USB DAC+MPD
現在、BeagleBoneBlackは自宅で主にTwiProwlなどの通知系を動かす用途で使用中。
RaspberryPiはDAPにしようとあれこれ弄っているところです。

Westone4R / SONY NW-M505 / AudioQuest DragonFly



Westone4Rはうっかり衝動買いした…
SONY NW-M505もうっかり衝動買いした…
AudioQuest DragonFlyは衝動買いでは無い。

新しいイヤホン欲しいなぁなどと思うも沼なので我慢してます、次買うならカスタムIEMかなぁと。

NW-M505はウオークマン単体として見ると操作性は2000年前半あたりから進歩してない感じなのだが音はかなり良いと感じた。
Bluetooth apt-x対応でBT接続で鳴らしても結構いい感じの音を出してくれる。
あと紫

AudioQuest DragonFlyはUSBメモリをちょっと大きくした程度なサイズのUSB DAC
2万円程度でこのサイズでこれだけ鳴らせるのスゲーと素直に思った。

ワイヤレス充電パッド サンワサプライWLC-PAD11BK



Qiです、チー
対応端末増えたので買い増ししました。
あれ - ワイヤレス充電パッド サンワサプライWLC-PAD11BKが良い感じ

Google Nexus 5(LG-D821)



発売日にポチった
ふつーに良く動くんだけどこれ、ぴゅあぐーぐるだからってよりはSnapdragon800がスゲーんだろうなぁと思ってるのでそのうち他の端末に変更する予定…FeliCa欲しいです。

BootloaderUnlockし、ちょこっと弄ってビルドしたカーネル入れて使用中


Nokia Lumia 1520



デカいのは慣れる、両手で使うから重さも割とどーでもよくなる。
WindowsPhoneの中では今のところ一番バッテリーもつ機種だと思う(容量多い、3400mAh)

Snapdragon S4(Lumia925)とSnapdragon800(Lumia1520)の違いがよくわからん…S4でもストレスなく動くので

LumiaBlack(GDR3)になり、画面の自動回転がOffに出来るようになるなどWindowsPhoneの不満だった点は徐々に改善されつつある。

今現在のメイン端末

Nokia Lumia 925



個人的には2013年のベストバイはコイツ

Qiカバーを付けるとそれなりの重量になるがLumia920のようにバカみたいに重くない
スペックだけ見ると大したこと無いがストレスなく動く
カメラの写りも悪くない
通話品質良い

Lumia920 -> Lumia 820 -> Lumia 620 -> Lumia 925と買い換えてきたのだが、それまで使ってた機種の不満な点、重量や荒いAMOLED、LTE未対応などが解消されストレスフリー

(Lumia1020欲しいけど1520買ったばかりだし我慢してる)




最後に
アマゾンアフィ経由で買い物してくれた方、ありがとうございました。
ドメイン更新代+α程度は頂けております。

来年もよろしくお願いいたします。

2013年12月10日火曜日

2013年12月8日日曜日

AndroidでWiFiストレージ接続中でも3G/LTE経由でインターネット通信ができるようにする【root】


moyashiさんがiOSでやってたのをAndroidでもやってみる。

ひとりぶろぐ - FlashAirが、PQI Air Cardが使いやすくなる!WiFiストレージ接続中でも3G/LTE経由でインターネット通信ができるようにするiOSのWiFi設定


WiFi接続時でも3G/LTE接続を維持させる


Android、少なくとも今回試したNexus5はWiFi接続をすると3G/LTEインターフェースrmnet0がDownとなる。
これではWiFiストレージに接続しつつ3G/LTE通信をする事が出来ませんので先ずはこれをなんとかする。

確認方法はadb shellなどでnetcfgと叩けばOK


logcatを見た感じ、このあたりの制御しているのはConnectivityService.javaなのが分かった。

ConnectivityService.java
こいつのhandleConnectを弄ってWiFi接続しても3G/LTEを切断しないようにする。
ビルドするの面倒くさいのでsmali書き換えた。

services.odexの中の
ConnectivityServices.smali
    .line 2265
    invoke-direct {p0, v1}, Lcom/android/server/ConnectivityService;->isNewNetTypePreferredOverCurrentNetType(I)Z

    move-result v5

    const/4 v5, 0x0
    if-eqz v5, :cond_69
    #if-eqz v5, :cond_6a

    .line 2267
    iget-object v5, p0, Lcom/android/server/ConnectivityService;->mNetTrackers:[Landroid/net/NetworkStateTracker;

    iget v6, p0, Lcom/android/server/ConnectivityService;->mActiveDefaultNetwork:I

    aget-object v2, v5, v6

    .line 2270
    .local v2, "otherNet":Landroid/net/NetworkStateTracker;
    new-instance v5, Ljava/lang/StringBuilder;

これでWiFiと3G/LTEの両立が出来るようになる。

Defaultgatewayの変更


shell@hammerhead:/ $ busybox route
busybox route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
default         10.3.1.162      0.0.0.0         UG    0      0        0 rmnet0
10.3.1.160      *               255.255.255.252 U     0      0        0 rmnet0
10.3.1.162      *               255.255.255.255 UH    0      0        0 rmnet0
126.211.134.30  10.3.1.162      255.255.255.255 UGH   0      0        0 rmnet0
126.211.134.62  10.3.1.162      255.255.255.255 UGH   0      0        0 rmnet0
173.194.126.135 10.3.1.162      255.255.255.255 UGH   0      0        0 rmnet0
192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0
192.168.1.1     *               255.255.255.255 UH    0      0        0 wlan0

こんな感じになってしまうので、

#busybox route del default gateway 192.168.1.1

って感じでWiFi側のゲートウェイを消してやる。

いちいちこんなの手動で打ち込むの頭悪いので自動化する。
Llama - Location Profiles
Locale Execute Plug-in

LlamaでWiFi接続をトリガーにし、 Locale Execute Plug-inで上記コマンドを実行するようにした。

問題点


  1. TaskerでWiFiの切り替わりをトリガーにするイベントがうまく動かなくなる。
  2. WiFi切断すると3G/LTE通信が出来なくなる。

1.はLLamaならうまく動いてるのでまぁいいかなと…
2.は一度モバイルデータをOFFにしてからONにしてやると通信出来るようになる。
WiFi切断したタイミングでモバイルデータOFF、ONするように自動化させて対応させてるけどなんだかなぁ感すごい。
2.は気のせいだったようだ…

あと、WiFiストレージ繋いだ際のDNSを8.8.8.8にしておいた方がいいかもね。


とりあえず出来たよ!な感じなのでもっといい感じに実装してくれる人が現れるのを待ちます。