色々調べた結果、
- /etc/gps.conf の書き換え
- /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 から
- 7-zipsystem.sin の取り出し
- flashtool で ext4化
- 7-zip で /system/lib/hw/gps.default.so を取り出し
- dos窓から adb push gps.default.so /data/local/tmp
- adb shell で Z1 に入り、super user になる
- mount -o remount,rw /system で /system の読み書きを可能に
- /data/local.tmp から /system/lib/hw へ gps.default.so をコピー (旧ファイルのバックアップを忘れずに)
- 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 で無効化するも別プロセスから呼ばれているため、無効化の意味が無さそう。もう少し調べてみる。
0 件のコメント:
コメントを投稿