駿河湾との戦い(GPS的な意味で)
2016/8/6 GPS周りの設定の記事をもう一つかきました。こっち見たほうが役に立つとおもいます
appredmi.hateblo.jp
ふとGoogle mapを見たら、駿河湾にいました。
なんでやねん。
もちろん海に沈んでいたりしたわけではないです。
原因は、現在地を掴むのが極端に遅いから。
MVNOのデータ専用simを使っていることもあり、A-GPSという現在地を把握するのをアシストする機能が十分に働かないようです。SMS付きsimであればうまく働くという話もありますが、当方そういう環境はないので検証できません。。
あとは、gps.confというGPS関係のシステムファイルが日本向けにチューニングされていない模様。
とりあえずgps.confを書き換えることにしました。
gps.confは、system/etcのなかにあります。弄るのにはもちろんroot必須です。
デフォルトのgps.confでは、いろいろ細かいことが指定されていましたが、こんな感じに書き換えてみました。割とシンプル。
NTP_SERVER=ntp.nict.jp
NTP_SERVER=jp.pool.ntp.org
NTP_SERVER=0.jp.pool.ntp.org
NTP_SERVER=1.jp.pool.ntp.org
NTP_SERVER=2.jp.pool.ntp.org
NTP_SERVER=3.jp.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra2.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra2.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra2.bin
SUPL_HOST=suplcn.sirf.com
SUPL_PORT=7275
NTPサーバーというやつはタイムサーバーとのこと。日本のものをきちんと指定しておけばよさげです。
XTRAサーバーとSUPLサーバーは、現在地をより早く測位する助けになるようです。
最初はgoogleのSUPLサーバーを指定していたのですが、どうも掴みが遅くて。
中国のxiaomiフォーラムにて「このSUPLサーバー、ほかよりつよいよ!」と紹介されていたのでこちらを指定してみたところ、なんか、わりかし現在地を掴むのが早くなりました。
www.xiaomi.cn
中国の携帯キャリアのサーバーのようです。なんだよ、つよいな。
とりあえず20秒くらいでおおよその現在地を掴んでくれるようになりました。
しかしこれでも時々現在地から駿河湾に飛ばされます。そしてすぐに現在地に戻ってきたりします。なんなの。
駿河湾との戦いはまだ終わらんようです。
Xiaomi Redmi2を今度こそプラスエリア化せんとす ※2016/8/16追記 失敗?
無残に失敗した過去がありますが、
いろいろできるようになったので再チャレンジしようと思います。
まずわたしのスマホは、Xiaomi Redmi2さんです。ドコモ系格安SIMを挿しています。
crDroidという、CyanogenModをベースにしたカスタムROMを入れています。Androidのバージョンは6.0.1です。
プラスエリア化のためには、まず端末をDIAGモードでPCに接続する必要があるそうです。
この作業をするにはもちろんAndroidSDKを導入しないとならんですが、そのへんは割愛します。
それと、Redmi2のDIAGモード用のドライバーを入れなくてはなりません。
MIUIフォーラムによると、ここで紹介されている「xiaomi_mi2_diag_driver.zip」がRedmi2にも使えるらしいので、これを入れていきましょう。。
とはいえこのまま入れようとしてもうまくいかないので、
zipフォルダ内の「x64」を開き、その中の「qcmdm.inf」をメモ帳か何かで開きまして
[Models.NTamd64]の下部にずらずら並んでる項目のどれか一つを書き換えます。
書き換え方については、過去ブログ参照です。このときはHTCのドライバー使おうとしてましたが、要領はだいたい一緒です。
以前紹介したHTCのドライバーでも多分大丈夫だったんでしょうが(実際カスタムROM入れる前には使えていましたので)
まあ、xiaomi端末用のがより安心できるよね、ってところで。
コマンドプロンプトを立ち上げる前に、確認することがいくつか。
・USBデバッグを許可しているか → していなければ開発者オプションからオン
・PTPモードで接続しているか → なってなければPTPに変更
・ルートアクセスを許可しているか → していなければ開発者オプションから許可
(開発者オプションからルートアクセス弄れるのはCyanogenMod12以降のROMのみ。そうでないならどうにかして自分でRoot取るとかがんばるしかないです。ちなみにRedmi2に初期状態で積んであったMIUIのRootはKingrootというアプリで取れました、が、Kingrootは結構挙動が怪しいアプリなようなので自己責任で。。)
だいじょうぶそうならコマンドプロンプトを立ち上げます。
そして、「adb root」と打ち込んでエンター。
そして、「adb shell」と打ち込んでまたエンター。
なにか文字化けした怪しげな文字列が出てくるのでもう一度エンター。
これでrootに入れます。
文字化けが気になりますが、adb shellでの文字化けはそこそこあることらしいのでスルーします。
そうしましたら、「setprop sys.usb.config diag,adb」と打ち込んでエンターを押します。
これでDIAGモードになっている、らしいです。
なんですが、ここでわたしの場合はデバイスがうまく認識されなくなったため、
再度ドライバーインストール作業を繰り返しました。この辺は場合によるかも。
そうしましたら、こちらのブログを参照しながら、
このツールをインストール・起動します。
ここからの操作方法は上記ブログをご参照くださいm(_ _)m
本当にAndMemさんの丁寧な解説ブログにはいつも感服いたします、、
ちなみにわたしはとりあえずバンド6およびバンド9を足してみました。
「Write」すると、端末側でドコモの電波を受信しなくなり一瞬焦ったのですが、
あわてずさわがず端末を再起動。
すると、普通にドコモ電波を受信してくれるようになります。
これにて作業完了です。(LTEのほうについては怖くていじってませんが)
実際どこまで掴んでくれるかは山に行ってみないとわからんのですけどね、、
※8/16追記
なんだかまとめサイト経由でこの記事見てくださっている方がたくさんおられるようですが、、ごめんなさい、失敗っぽいですー
山に行ったところどうも掴みが悪く、これはプラスエリア掴んでなさそうだなーという感じだったので、もうちょっと調べてみたところ、
電話アプリのダイヤルパッドで「#*#*4636*#*#」と入力し、テストモードに入り、
利用バンドを「Japan Band」に切り替える必要があるとのこと。
ということで、その通りにやってみましたところ、
しばらく普通に使えたのですが、その後見事に再起動ループを起こしましたw
ホーム画面すら表示されないので本当にだめっぽいです。でもFASTBOOTは使えるようなのでROM焼きはできそう。
うーん。とりあえずROM焼き直して再チャレンジしてみようと思います。何か掴んでくれるようになればイイナァ
su入れても$のままだったのが#にできた
という風に、crDroid入れてからsuできなくて大変悩みましたが、
「adb shell」する前に「adb root」すればよいだけでした。。
なんとかなったよ。良かった。
あんどろいど6.0用の諸々入れないとなにもできない(入れてもだめだった)
shellで文字化けするとかsuコマンド通らないとかこまってたんですけど、
ツールのアプデしてなさが原因なかんじがしましたね
そうっすよねそりゃそうですよねすんませんでした
※追記
アプデしたところでsuできない/(^o^)\
以前使ってたCM12.1カスタム版ROMのときは、PCでsuすると、
許可していいかーって端末側に表示が出たのに、、
でもshellには入れるし、cdとかlsとかのコマンドはふつうに通る
もちろん端末側のPrivacy Guardの設定ではアプリとADBのルートアクセス許可してるし、
端末側でRoot権限必要なアプリを使いたいときはふつうに使えている……
なんなのでしょうー。こまるぞ。
Redmi2にcrDroid入れてAndroid6.0にしてみた
Redmi2ちゃんにCyanogenMod12.1のカスタム版を入れた後、概ね快適だったけれど、
急にカメラが起動しなくなってしまいまして。
どーにかできないかなーとMIUIフォーラムを眺めておりましたら、
カメラが異常なく使える、Android6.0のカスタムROMが出ているというので、
さっそく入れてみました。
カスタムROMもgappsも、上記フォーラムで紹介されてるものをそのまま入れれば良い感じです。
隠れているダウンロードURLは、フォーラムにログインして何かしら書き込めば出現するようです。
入れ方は過去記事参照。gappsも同じ要領で入れればよいです。
このcrDroidというやつは、CyanogenModのカスタム版みたいなやつなのかな。
端末情報に「CyanogenMod API level」なる項があるので、多分そういうことなんだと思います。
とりあえずカメラは使えるようになりました。わーい
Android6.0ですが、わりかしさくさく動いているように思います。
今のところの不満点はロゴマークがかわいくないことくらいでしょうかね。w
ドコモ系MVNO使用機でezwebメールを使う
現在、auガラケーとAndroidスマホ(ドコモ系MVNOのデータ専用SIM入)とiPad(Wi-Fiモデル)とauのWi-Fiルーター(HWD14、来月で解約予定)の4台持ちをしています。
キャリアメールでしかやりとりできない相手がときどきいるので、キャリアメールはまだ維持したいのですが、なるべくガラケーの通信費は削減したい。通信はなるべくスマホだけで行いたい。
ということで、ドコモ系MVNO使用機でezwebメールを使えるようにがんばりました。
こちらのブログを見つけたので、多分やってやれないことはないんだな~~と思っておりました。
しかしながらわたしはauのスマホは所持していない。こまった。
やれるところまでガラケーでやってみよう。ということでやってみました。
ガラケーのCメール機能で、宛先「#5000」本文「1234」でメールを送信。
すると、URLが送られてきます。
ドルフィンブラウザを用いてスマホのUAをiPhoneに偽装し、そのURLを開いてみます。と、
Wi-Fiで接続してるからそれを切ってアクセスし直せという旨のエラーメッセージが出てきます。
しかし現在スマホはWi-Fi接続しておりません。こまりました。ドコモ回線を使っているからいけないのか。。
…だとしたら、au回線からアクセスしているのならOKなのでしょうか。
ということで、au回線のルーターにスマホを接続し、さきほどのURLにアクセスしてみました。
何の問題もなく設定画面が開きました。つよい。
多分、au回線につながってさえいれば、それがWi-Fi接続だろうとOKなんでしょうね。わたしはauルーターにつなぎましたが、ない場合は、auのスマホ持ってる人にテザリングさせてもらえばいいんだと思います。
その画面の中の「上記以外のアプリをご利用の方はこちらから~」みたいなやつをタップし、
「手動受信設定」を選択、次に「設定情報送信」を選択。
そうすると、アカウント情報(IMAP/SMTPのサーバーとかアカウント名とかパスワードとか)がずらずら~~と出てくるので、
それをメモるなりスクショするなりします。
同時に、ガラケー側に、Cメールでアカウント名とパスワードが送られてきます。
この情報を、スマホ側でお好みのメールアプリに入力すれば、スマホがドコモ系回線を使っていようとも、
ezwebメールでやりとりできるようになります。
どうやら「#5000」にメールを送った時点で、ガラケー側にEメールの通知は来なくなるようなので、
ガラケー側の通知に煩わされることもありません。
やたらめったら便利になりました。やったね!
error: device '(null)' not found の回避法
前回、adb使いたいのにこんなエラーが出て、
もーどーにもならんヨって感じだったのですが。
デバイスマネージャーにはandroid端末が認識されているのに、コマンド打ってもデバイスが無いと言われるという。。
ドライバ入れても結果は同じ。
カスタムROM入れる前まではこんなことで困らなかったので、そのせいなのかなーと思っていました。
が。
「接続方法をMTPじゃなくすれば認識される」という話を小耳にはさみました。
よって、端末側で、接続方法を「メディアデバイス(MTP)」から、
「カメラ(PTP)」に切り替えてみました。
結果、adbで端末が認識されました。
ああ…こんなことでしばらく時間を無駄にしてしまったのか…とちょっとかなしくなりましたが、
ともかくなんとかなったので結果オーライ。