2017年1月30日月曜日

Xperia Z1 SO-01F の省電力化 (persistent検証編)

その後のバッテリー消費状況ですが、とてもいい感じです。

とはいうものの、どうも移動しているときの消費が多いように思われます。Yahoo!天気はGreenify で眠らせているのですが、時々起きて現在地の検索をしているように思われます。

Screenshot_2017-01-28-17-41-02Screenshot_2017-01-28-17-41-17

位置情報のリクエストを見てもYahoo!天気は使用量(高)になっています。現在地の天気をOFFにして様子を見たところ、非常に満足のいく結果になりました。

Yahoo!天気の現在地の天気をONにした方がバッテリーの消費が多い気もします。機を見て LEDの色替えアプリを復活して消費量を再検証してみることにします。まぁ、みんな同じ色でも問題ないんですけどね ;-)

Screenshot_2017-01-26-11-12-04Screenshot_2017-01-30-09-48-49

検証中はスマホ操作も最低限でしたので、時間あたりの消費率が1%を切っていますが、普通に使ったら3~5%は余裕で使っちゃうと思います。

とはいえ、1日使うには問題の無い消費量ですね。

2017年1月26日木曜日

Xperia Z1 SO-01F の省電力化 (persistent対策編)

バッテリー消耗の激しい persistent の対策をしました。皆さんが実施されている Google Play開発者サービスのアップデートの削除です。

最初、アプリからGoogle Play開発者サービスのアップデートの削除を行おうとしたのですが、グレーアウトしていて削除ができない状態。グーグル先生に聞いたところ、

[設定]-[セキュリティ]-[機器管理機能]-[Androidデバイスマネージャー]

のチェックを外すことによりボタンを押すことができるようになりました。チェックが外れたままだと、スマホの位置検索ができなくなります。保険の意味も込め作業終了後はチェックを入れておきましょう。

充電中にGoogle Play開発者サービスのアップデートの削除を実施し、様子を見てみました。結果なのですが、非常に良好です。とはいうものの、まだ他にもバッテリー食いをしている要因がありそうです。

Screenshot_2017-01-26-10-10-36Screenshot_2017-01-26-10-10-58

BetterBatteryStats で探ってみました。次の2つが関係してそうです。

  1. LED の制御用に Light Manager を入れてみたのですが、本アプリで WakeUp が発生していることが原因のようです。アプリ毎の通知で色が変えられるのが便利だと思ったのですが... アンインストールして様子を見ることにします。
  2. Yahoo!天気で現在地の天気を有効にしているためにGPSで現在地の測定をしていること。こちらはGreenify で画面オフ時に眠らせることにしました。

さて、どうなりますかね。

2017年1月24日火曜日

久しぶりのパケット・ケチケチ運用集計

明細は次の通り。(1月は予定)

 

基本
使用料

パケット

その他

消費税

合計

08月

924

372

683

158

2,137

09月

924

372

683

158

2,137

10月

924

372

683

158

2,137

11月

924

372

683

158

2,137

12月

924

417

683

161

2,158

01月

924

772

682

190

2,568


12月もパケ・ホーダイ ダブルの下限を超えていたのですね。全然気がつきませんでしたよ。ファイヤウォールを Android Filewall から AFWall+ に替えてみました。起動時のパケット漏れが抑制できるらしいので。

とはいえ、今月はパケ・ホーダイ ダブルの下限を超えているので、実際に試すのは来月に入ってからですが。それまではデータ通信をOFFにして完全防御。

2017年1月22日日曜日

Xperia Z1 SO-01F の省電力化 (GPS検証編)

GPS関連の設定を変更した Xperia Z1 ですが、下の図を見てもらえば分かるとおり改善された模様です。

しかしながら、0:00過ぎから persistent が暴走(?)している。こいつの確たる原因を掴むのは難しいんですよね。ぶっと暴走しているわけでもなく、途中で問題ない使用率に戻っているし。

Screenshot_2017-01-17-12-26-17  Screenshot_2017-01-17-06-13-09

それより困ったことにパケットがパケ・ホーダイ ダブルの下限をオーバーしてしまいましたよ。Android Firewall を使っていたのですが、止められないパケットがあったのね... きっと gps.conf関連だと思います。

2017年1月20日金曜日

Xperia Z1 SO-01F の省電力化 (GPS変更編)

色々調べた結果、

  1. /etc/gps.conf の書き換え
  2. /system/lib/hw/gps.default.so の置き換え

を行うことにしました。

ftf からファイルを取り出すのは7-Zipを使ってFTFの.sinファイルから中身を取り出す方法を参考にさせていただきました。

/etc/gps.conf の書き換えですが、ドコモ版をベースにしました。変更したところは緑で表示、斜体は実際には書いていないコメントになります。

# SPモードで通信しないようにドコモのsupl関連をコメントアウト
#SUPL_HOST=dcm-supl.com
#SUPL_PORT=7275
#SUPL_VER=0x20000
#CAPABILITIES=0x17

# AGPS を追記。いらない気もする...
#
XTRA_SERVER のコメントアウトを削除
#Uncommenting these urls would only enable
#the power up auto injection and force injection(test case).
AGPS=
http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin

# Error Estimate
# _SET = 1
# _CLEAR = 0
ERR_ESTIMATE=0

# NTP_SERVER に追記
#Test
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
NTP_SERVER=time.gpsonextra.net
#Asia
# NTP_SERVER=asia.pool.ntp.org
#Europe
# NTP_SERVER=europe.pool.ntp.org
#North America
# NTP_SERVER=north-america.pool.ntp.org

# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
#               4 - Debug, 5 - Verbose
# If DEBUG_LEVEL is commented, Android's logging levels will be used
DEBUG_LEVEL = 2

# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0

# SUPL_VER を追記。ドコモ版だと先頭に記載されている 0x2000
# supl version 1.0
SUPL_VER=0x10000

# ドコモ版はCAPABILITIESの記載が無いのでデフォルトの 0x37 から変更
# GPS Capabilities bit mask
# SCHEDULING = 0x01
# MSB = 0x02
# MSA = 0x04
# ON_DEMAND_TIME = 0x10
# GEOFENCE = 0x20
# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE
CAPABILITIES=0x13

# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
# ACCURACY_THRES=5000

################################
##### AGPS server settings #####
################################

# ドコモ版は先頭で dcm-supl.com を指定している。
# ググった結果だと google 指定が多いが Xperiaなので SONY様を指定
# どうせ Googleマップだと google様を参照すると思うし

# FOR SUPL SUPPORT, set the following
SUPL_HOST=supl.sonyericsson.com
SUPL_PORT=7275

# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234

####################################
#  LTE Positioning Profile Settings
####################################
# 0: Enable RRLP on LTE(Default)
# 1: Enable LPP_User_Plane on LTE
# 2: Enable LPP_Control_Plane
# 3: Enable both LPP_User_Plane and LPP_Control_Plane
LPP_PROFILE = 0

# 海外版だとSGLTE_TARGET の指定は無いが、こちらはドコモ版の設定を生かす
################################
# EXTRA SETTINGS
################################
# NMEA provider (1=Modem Processor, 0=Application Processor)
NMEA_PROVIDER=0
# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE)
SGLTE_TARGET=0

# 海外版だA_GLONASS_POS_PROTOCOL_SELECT の 指定は無いが、
# こちらはドコモ版の設定を生かす。(ロシアの衛星を掴むのかな?)

##################################################
# Select Positioning Protocol on A-GLONASS system
##################################################
# 0x1: RRC CPlane
# 0x2: RRLP UPlane
# 0x4: LLP Uplane
A_GLONASS_POS_PROTOCOL_SELECT = 0x2

gpsのライブラリを置き換える必要がありますので、ベースバンド書き換えの際に落としてきたグローバル版の ftf から

  1. 7-zipsystem.sin の取り出し
  2. flashtool で ext4化
  3. 7-zip で /system/lib/hw/gps.default.so を取り出し
  4. dos窓から adb push gps.default.so /data/local/tmp
  5. adb shell で Z1 に入り、super user になる
  6. mount -o remount,rw /system で /system の読み書きを可能に
  7. /data/local.tmp から /system/lib/hw へ gps.default.so をコピー (旧ファイルのバックアップを忘れずに)
  8. mount -o remount,ro /system で /system の読み込みのみ

をしました。

GPS を ONにしてしばらく状況を確認してみることにします。

ここまでやって何なのですが、実は gps.default.so はドコモ版もグローバル版も同じでした... 先にチェックすれば良かった。SO-02F とかの MVNO対応だとライブラリの入替必須と書いてあったので、てっきり Z1も同様だと思っていました。

ということは、今回の対策で省電力化は多分駄目だと思うので、com.sonyericsson.android.wakeup に対する対策をする必要がありそうです。

2017/02/03 追記
  com.sonyericsson.android.wakeup ですが、TitaniumBackup で無効化することにしました。現在様子見中。問題が無ければこのまま永眠。

2017/02/06 追記
  TitaniumBackup で無効化するも別プロセスから呼ばれているため、無効化の意味が無さそう。もう少し調べてみる。

2017年1月16日月曜日

Xperia Z1 SO-01F の省電力化 (GPS調査編)

Screenshot_2017-01-16-07-07-44

気がついたら、なぜか消費電力が増大していた。右肩下がりが顕著になっているのは GPSを ONにした辺りから。

だったら GPSを OFFにすれば元に戻る? と思い OFFにしてみましたが、特に改善する見込みもない...

GPS関連の何かが ONにしたことがトリガーとなり悪さをしているようです。

ということで、再起動をして様子を見ることにしました。01/16ちょい右が再起動をした時間です。再起動時にドンと下がっていますが、その後は低消費の状態をキープしています。

 

Screenshot_2017-01-15-23-12-32


なにか悪さをしているアプリがあったら Greenifyで眠らせようとチェックをしてみると、com.sonyericsson.android.wakeup がかなりの頻度で起動されている。

こいつが原因で Deep Sleepに入れないんじゃないかと推測。

 

 

 

 

 

恐らく原因はAndroid Firewall でデータ通信の許可をドコモメールのみに与えていることだと思う。そのため、

  1. GPS機能が A-GPSを探すため、SPモードで通信をしようとしている。
  2. データ通信は ONになっているけど、通過できるアプリはドコモメールのみ。そのためリトライが発生している。
  3. 通信状態を確立しようとして頻繁に接続と切断が繰り返される。
  4. だったら常に接続状態のまま起こしておこうと com.sonyericsson.android.wakeup が何度も呼ばれる。

と想像してみました。解決策としては

  1. com.sonyericsson.android.wakeup を Greenify で眠らせる or TitaniumBackup で無効化する。
  2. Tasker を使って、Wi-Fi接続時はデータ通信を OFFにする。
  3. Tasker を使って、ディスプレイオフ時に GPSを OFFにする。

あたりですかね。パケット・ケチケチ運用をしている自分ぐらいしか、こんな罠(?)にははまりそうもありませんけど。

あと、GPSについて色々調べた結果、自分の使い方ではドコモの A-GPSを掴むことは皆無なので、gps.conf を書き換えて他の A-GPSを使う設定もしてみたいと思います。

GPSを使う機会はさほどありませんし、車に乗っているときはカーナビで十分事足りています。GPS周りの改変は常時ONでもさほど電源を食わないことが目的です。

なんたって、Wi-Fi接続時以外地図データのダウンロードができないので、GPSが他の A-GPSを使えるようになっても意味が無いですからね。

うー、ここまで書いて Wi-Fi未接続時はデータ通信を OFFにすれば解決のような気がしてきた。あっ、ドコモメールが受信できないから駄目か... あと、Battery Mix のグラフを見ると、宅内Wi-Fi に接続している時間帯でも消費電力大なので対策は必須ですね。

2017年1月14日土曜日

Xperia Z1 SO-01F に Xposed をインストールする

某巨大掲示板によると、ファームを 362 に上げると Xposed が使えなくなってしまうらしい。んー、root化の目的の一つなのでこれは困る。

【ROM焼き】docomo Xperia Z1 SO-01F root part5

744 :SIM無しさん [↓] :2016/04/11(月) 00:06:41.02 ID:bFiK8Vj1 (1/2)
もしかして14.3.b.0.362ってroot化できないの?

745 :SIM無しさん [↓] :2016/04/11(月) 08:08:59.39 ID:nb7SsxNo
できる
けどxposedフレームワークが動かない

画面サイズの違いからか、意外に兄弟機の SO-02F の方が情報が多かったりするので、過去ログをあさると参考になる書き込みが。

【ROM焼き】docomo Xperia Z1f SO-02F root part6

447 :SIM無しさん [↓] :2016/01/22(金) 15:31:14.94 ID:3IkgEbe5
362にうぷしたら、xposedつかえなくなったぞ。

...

451:SIM無しさん [↓] :2016/01/23(土) 00:17:05.23 ID:lnm2yhLL
xposedは↓でいけたよ。
http://forum.xda-developers.com/showpost.php?p=64063168&;postcount=62

リンク先には apk が2つあるので XposedInstaller_v2.6.1_by_SolarWarez_20151129.apk の方を使いました。(~MIUI~は小米用なのかな?)

2017年1月12日木曜日

Xperia Z1 SO-01F を FOMA契約SIMで使う

がぶちゃんのXperia Z1(SO-01F)をFOMA契約SIMで使う。を参考に Xperia Z1 のベースバンド書き換えを行いました。備忘のため、若干差異のが発生した部分を記載しておきます。

まず、flashtool ですが 0.9.19.0 ではなく 0.9.18.6 を使いました。本日時点での最新は 0.9.23.0 になっていますが、旧機種かつ枯れている方がいいという判断です。

0.9.18.6 をインストール後、XperiaFirm を 5.0.0 に上げました。XperiaFirm は xda からダウロードできます。zipファイルを展開後、\Users\[ユーザ名]\.flashtool へ上書きコピーしてください。

XperiaFirm のダウンロード先は指定できませんでした。\Users\[ユーザ名]\.flashTool\firmwares にftfファイルがダウンロードされます。

作成した ftfファイルですが、0.9.18.6 で作成したものには loader.sin も含まれていました。元も Z1用なので問題ないとは思いましたが、念のため 14.3.B.0.362 の ftfファイルから同様の手順でベースバンド用の ftfファイルを作成し、両者を比べてみました。結果、全く同じものでしたのでそのまま焼くことにしました。
2017011200128

ネットワークモードですが、ベースバンドを焼いた時点では「LTE/3G/GSM(自動)」で問題ないのですが、バンドが切り替わったとき(?)に電波を掴まなくなってしまうことがありました。3G 固定での運用がよろしいかと思います。

自宅は電波環境が少々よろしくない立地条件です。Galaxy S3αのサービスモードで電波計測をしてみると左が自宅、右が自宅から直線で10mほど離れたところのけっかになります。FOMA+ が使えないと、家の中では電波を掴んでくれないんですよ。(キャプチャーではBand5 になっているけど、実際は Band6ですね。)
foma_band6foma_band1

ちょっと心配だったのですが、家の中でも無事電波を掴んでくれました。S3αと比べて、ベースバンド焼きとネットワークモードの設定だけでokなので、使いかっては Xperia Z1 の方が上かもですね。

2017年1月10日火曜日

Xperia Z1 SO-01F をroot化する

FOMA運用をしている Galaxy S3α ですが、寄る年波(?)でバッテリーの劣化が著しくなってきました。待機時は全然問題ないんですが、ちょっと弄っていると激しい勢いでバッテリーが減っていきます。

amazon あたりで大容量バッテリーを購入し延命をするかとも考えたのですが、FOMA運用可能な Xi機としては最後と思われる Xperia Z1 SO-01F を入手することができましたので、

  1. root化
  2. FOMA運用ができるようベースバンドの書き換え

をすることにしました。DSDS機ってのも頭をよぎったのですが、2016年がDSDS機の黎明と思われますので、もう少し待つことにしました。DSDS機だとモバイルルータを持ち運ばなくてもokってメリットはあるんですけどね。価格が Z1 美品で 12,000円(送料込み)だったのが一番大きな理由という声も...

root化なんですが、先人たちの努力の結晶でワンクリックで ok でした。ツールはキューブキューブさんのtwitterからリンクを参照してください。
ちなみにファームウェアのバージョンですが Xperia Companion で14.3.B.0.346 →  14.3.B.0.362 に更新してから実行しました。

root化の後は ric対策として Z1用の dualrecoveryを入れておきました。http://nut.xperia-files.com/ から最新をダウンロードしてください。自分がインストール時点では 2.8.26 が最新でした。ブラウザは最大化しておいた方がファイルが探しやすいと思います。
中央ペインで Home → XZDualRecovery → XZDualRecovery 2.8.26 の順に探してみてください。

adbドライバーさえ入れられれば躓くところはないですね。