GalaxySのGPSの改善できた!(root化なし+3G offでもOK)
更新がしばらく停止していました。その間なにをしていたかというと一生懸命GalaxySの
GPSの設定いじったりしてました。1週間ずっとこれ。
ぼくはモバイルネットワークのデータ通信をずっとOFFできました。
そのため、A-GPSのAの恩恵がまったく受けられない状態でした。(少なくともそう見えた)
そして、一度3Gで測位したらそれ以降は残念GPSが直るとの記述を見つけてしまったために
誘惑に負けてONして測位したりしてしまいました。しかし、数時間後には残念GPS・・ナンテコッタ130円損。。
しかし、いろいろ調べまくってアプリいれたり、shellのときだけrootにして設定書き換えたりして
部屋の中(窓際)でも測位できる状態になりました。
(最終的にはアプリ[無料、root不要]の機能で設定ファイル変更可)
※ここで書く方法はGPSの位置精度をあげるためのものではなく、そもそもGPSで測位できない状態
を回避するための方法になります。もしかしたら精度もあがるかもですが、精度のほうは期待しないで。
まず、実際に設定ファイルをいじる前に条件等の確認。
いろいろサイトを回り、下記2ファイルがGPSに関する設定を行うファイルらしいということが判明。
/system/etc/gps.conf
/data/gps/secgps.conf
通常上記のファイルは権限がないので編集できません。
しかし、/data/gps/secgps.confについては、アプリを使用することで編集可能です。
そして変更するのもこっちです。
(adb shellでsystem.systemを確認)
$ ls -l /data/gps/secgps.conf
ls -l /data/gps/secgps.conf
-rw------- system system 418 2011-01-09 21:00 secgps.conf
端末の設定ですが
無線とネットワーク->モバイルネットワーク->データ通信(3G)=OFF
位置情報とセキュリティ->ワイヤレスネットワーク=OFF(Wi-fi基地局から位置取ってしまうので)
位置情報とセキュリティ->GPS機能=ON
位置情報とセキュリティ->センサー補助=OFF(どっちでもよさげ)
です。たぶん上記以外の設定はなんでもOK.
また、設定ではないですがSIMは有です。(docomoのSIM)
あと、Wi-fiはONでインターネットへ接続できる状態で測位しています。
↑Wi-fiはOFFでも変わりなく測位できました。
それでは、変更の仕方についてです。
※注意事項※
この変更方法を使用すると、(変更に使ったアプリで)変更前の状態へもどすことができません。
また、僕はうまくいきましたが他の人がうまくいくことは保証できません。
自己責任でおねがいします。
1.設定ファイルを編集するためのアプリを呼び出すためのアプリ(ややこしい、、)をインストールします。
LauncherProというアプリをマーケットからDLしてインストールします。(黄色バックに家のアイコン)
その後から、ホームへ戻ろうとするとLauncherProかホームか聞かれますがホームを選んどきましょう。
2.ホームへ戻り、編集するためのアプリ(GpsSetup2)のショーカットを追加する。
ショートカット→Activities(LauncherProをいれると見える)→GpsSetup2を選択→一番上のやつを選ぶ
なお、この時点でインストールしたLauncherProは不要なので、必要なければアンインストール。
3.上記操作でホームへショートカットが作成されたので、起動させます。
このアプリが/data/gps/secgps.confを変更してくれます。
4.Position modeの変更
Settings->Parameter Settings->Position Mode = option3に変更
※Position Modeですが、/data/gps/secgps.confではPOSITION_MODEという項目でデフォ7です。
この項目の数値は下記モードのどれ(複数可)を選択するかを意味しているようです。
Standalone,UpMsBased,UpMsAssisted,2gCpMsBased,
2gCpMsAssisted,3gCpUeBased,3gCpUeBased
の7つの2進ビットフラグで、Standaloneから1,2,4,8...と使いたいところのフラグを
立ててあげればよいようです。GpsSetup2ではoption1~3しか選べません。
option3=121で、UpMsBased,UpMsAssistedを除いたものを利用することを意味しています。
(意味がわからない場合は無視してください)
5.再起動。
電源OFFしてONすると直っているはずです。
なお、再起動後はじめてGPSを利用する際にバイブ振動(僕がマナーモードだからかも)があります。
また、4.で変更を加えた箇所以外にも設定ファイルが変更されています。
(設定ファイルのデフォ値が変更アプリにないため選べない。これが、もどせないし変更箇所以外も変更される理由)
たぶん上記だけでOKですが、ほかにも設定を変えて下記の状態で動いています。(いじった箇所もうわからん)
/system/etc/gps.confのほうも少し変更していて、
(ここはroot必須です。変化も感じないレベルなのでわからない人はやらないこと)
asiaに直す人が多いみたいですが、asiaたまにpingがとおらないのと
pingの速さがjpのほうが早いので僕はjp。
とりあえずちゃんと測位してくれるので満足して使っていますが、
もっとよい設定があるかもしれません。いろいろおためしあれ。
GpsSetup2で変更している限り壊れることはないと思います。(保証はできませんよ)
参考までに、変更前の/data/gps/secgps.confファイルは以下のとおり。
-----------------ココから下------------------------
#Generated by GpsLocationProvider.
#Fri Nov 19 02:22:02 GMT+00:00 2010
SSL_TYPE=0
SSL=0
OPERATION_TEST_MODE=0
POSITION_MODE=7
ACCURACY=50
SESSION_TYPE=2
ENABLE_NMEA=false
SERVER_MODE=0
START_MODE=WARM
GPS_LOGGING=0
DYNAMIC_ACCURACY=1
AGPS_MODE=0
ADDRESS_MODE=1
OPERATION_MODE=MS BASED
USE_DEFAULT=false
DYNAMIC_ACCURACY_VALUE=50
SUPL_PORT=7275
ENABLE_XTRA=false
TIMEOUT=1000
NUM_OF_FIX=999999999
SUPL_HOST=dcm-supl.com
-----------------ココから上------------------------
また、上記の設定を行った場合の/data/gps/secgps.confファイルは以下のとおり。(順番をデフォにあわせてる)
-----------------ココから下------------------------
#Generated by GpsLocationProvider.
#Mon Jan 10 02:12:38 JST 2011
SSL_TYPE=0
SSL=1
OPERATION_TEST_MODE=0
POSITION_MODE=121
ACCURACY=50
SESSION_TYPE=1
ENABLE_NMEA=false
SERVER_MODE=1
START_MODE=HOT
GPS_LOGGING=0
DYNAMIC_ACCURACY=1
AGPS_MODE=0
ADDRESS_MODE=1
OPERATION_MODE=MS ASSISTED
USE_DEFAULT=false
DYNAMIC_ACCURACY_VALUE=50
SUPL_PORT=7276
ENABLE_XTRA=true
TIMEOUT=1000
NUM_OF_FIX=999999999
SUPL_HOST=supl.google.com
TIME_BTW_FIX=1000
-----------------ココから上------------------------
GPSの設定いじったりしてました。1週間ずっとこれ。
ぼくはモバイルネットワークのデータ通信をずっとOFFできました。
そのため、A-GPSのAの恩恵がまったく受けられない状態でした。(少なくともそう見えた)
そして、一度3Gで測位したらそれ以降は残念GPSが直るとの記述を見つけてしまったために
誘惑に負けてONして測位したりしてしまいました。しかし、数時間後には残念GPS・・ナンテコッタ130円損。。
しかし、いろいろ調べまくってアプリいれたり、shellのときだけrootにして設定書き換えたりして
部屋の中(窓際)でも測位できる状態になりました。
(最終的にはアプリ[無料、root不要]の機能で設定ファイル変更可)
※ここで書く方法はGPSの位置精度をあげるためのものではなく、そもそもGPSで測位できない状態
を回避するための方法になります。もしかしたら精度もあがるかもですが、精度のほうは期待しないで。
まず、実際に設定ファイルをいじる前に条件等の確認。
いろいろサイトを回り、下記2ファイルがGPSに関する設定を行うファイルらしいということが判明。
/system/etc/gps.conf
/data/gps/secgps.conf
通常上記のファイルは権限がないので編集できません。
しかし、/data/gps/secgps.confについては、アプリを使用することで編集可能です。
そして変更するのもこっちです。
(adb shellでsystem.systemを確認)
$ ls -l /data/gps/secgps.conf
ls -l /data/gps/secgps.conf
-rw------- system system 418 2011-01-09 21:00 secgps.conf
端末の設定ですが
無線とネットワーク->モバイルネットワーク->データ通信(3G)=OFF
位置情報とセキュリティ->ワイヤレスネットワーク=OFF(Wi-fi基地局から位置取ってしまうので)
位置情報とセキュリティ->GPS機能=ON
位置情報とセキュリティ->センサー補助=OFF(どっちでもよさげ)
です。たぶん上記以外の設定はなんでもOK.
また、設定ではないですがSIMは有です。(docomoのSIM)
↑Wi-fiはOFFでも変わりなく測位できました。
それでは、変更の仕方についてです。
※注意事項※
この変更方法を使用すると、(変更に使ったアプリで)変更前の状態へもどすことができません。
また、僕はうまくいきましたが他の人がうまくいくことは保証できません。
自己責任でおねがいします。
1.設定ファイルを編集するためのアプリを呼び出すためのアプリ(ややこしい、、)をインストールします。
LauncherProというアプリをマーケットからDLしてインストールします。(黄色バックに家のアイコン)
その後から、ホームへ戻ろうとするとLauncherProかホームか聞かれますがホームを選んどきましょう。
2.ホームへ戻り、編集するためのアプリ(GpsSetup2)のショーカットを追加する。
ショートカット→Activities(LauncherProをいれると見える)→GpsSetup2を選択→一番上のやつを選ぶ
なお、この時点でインストールしたLauncherProは不要なので、必要なければアンインストール。
3.上記操作でホームへショートカットが作成されたので、起動させます。
このアプリが/data/gps/secgps.confを変更してくれます。
4.Position modeの変更
Settings->Parameter Settings->Position Mode = option3に変更
※Position Modeですが、/data/gps/secgps.confではPOSITION_MODEという項目でデフォ7です。
この項目の数値は下記モードのどれ(複数可)を選択するかを意味しているようです。
Standalone,UpMsBased,UpMsAssisted,2gCpMsBased,
2gCpMsAssisted,3gCpUeBased,3gCpUeBased
の7つの2進ビットフラグで、Standaloneから1,2,4,8...と使いたいところのフラグを
立ててあげればよいようです。GpsSetup2ではoption1~3しか選べません。
option3=121で、UpMsBased,UpMsAssistedを除いたものを利用することを意味しています。
(意味がわからない場合は無視してください)
5.再起動。
電源OFFしてONすると直っているはずです。
なお、再起動後はじめてGPSを利用する際にバイブ振動(僕がマナーモードだからかも)があります。
また、4.で変更を加えた箇所以外にも設定ファイルが変更されています。
(設定ファイルのデフォ値が変更アプリにないため選べない。これが、もどせないし変更箇所以外も変更される理由)
たぶん上記だけでOKですが、ほかにも設定を変えて下記の状態で動いています。(いじった箇所もうわからん)
Settings->Parameter Settings->Address->ServerType = 1X PDE ←これじゃないとNGかも
Settings->Parameter Settings->Address->Address Type = URL
Settings->Parameter Settings->Address->Address = supl.googl.e.com:7276 ←dcm~はPCからping不通
Settings->Parameter Settings->Start mode->Start mode = Hot Start ←WARMとかないし
Settings->Parameter Settings->SSL->Enable SSL = Enabled ←曲者表示するたびに変わる
Settings->Parameter Settings->SSL->SSL Type = VerSign
Settings->Parameter Settings->Position Mode = option3 ←必須
Settings->Fix Request Settings->Settion Type = New Position
Settings->Fix Request Settings->Session Operation = MS-assisted
Settings->Fix Request Settings->Number of Fixes = 999999999
Settings->Fix Request Settings->Time between fixes = 1000
Settings->Fix Request Settings->Session Timeout = 1000
Settings->Fix Request Settings->Accuracy = 50 ←50m以下のずれで測位完(たぶん
Settings->Fix Request Settings->Server Option = Default ←いじれない気がする
gpsOne XTRA->Xtra Enable = Enable ←インターネット版AGPSのAと解釈した
gpsOne XTRA->Trigger Download = なんもでない
なおCommandsでは、GPSのテストができるようです。
Commands->Get position = 測位できるかどうかのテスト衛星情報とか出る
Commands->TTFF test = 初回測位時間計測(僕は部屋の中で15秒くらい)
Commands->NMEA log->Set NMEA Log = NMEA Log OFF ←よくわからんのでOFF
/system/etc/gps.confのほうも少し変更していて、
(ここはroot必須です。変化も感じないレベルなのでわからない人はやらないこと)
NTP_SERVER=jp.pool.ntp.org
asiaに直す人が多いみたいですが、asiaたまにpingがとおらないのと
pingの速さがjpのほうが早いので僕はjp。
とりあえずちゃんと測位してくれるので満足して使っていますが、
もっとよい設定があるかもしれません。いろいろおためしあれ。
GpsSetup2で変更している限り壊れることはないと思います。(保証はできませんよ)
参考までに、変更前の/data/gps/secgps.confファイルは以下のとおり。
-----------------ココから下------------------------
#Generated by GpsLocationProvider.
#Fri Nov 19 02:22:02 GMT+00:00 2010
SSL_TYPE=0
SSL=0
OPERATION_TEST_MODE=0
POSITION_MODE=7
ACCURACY=50
SESSION_TYPE=2
ENABLE_NMEA=false
SERVER_MODE=0
START_MODE=WARM
GPS_LOGGING=0
DYNAMIC_ACCURACY=1
AGPS_MODE=0
ADDRESS_MODE=1
OPERATION_MODE=MS BASED
USE_DEFAULT=false
DYNAMIC_ACCURACY_VALUE=50
SUPL_PORT=7275
ENABLE_XTRA=false
TIMEOUT=1000
NUM_OF_FIX=999999999
SUPL_HOST=dcm-supl.com
-----------------ココから上------------------------
また、上記の設定を行った場合の/data/gps/secgps.confファイルは以下のとおり。(順番をデフォにあわせてる)
-----------------ココから下------------------------
#Generated by GpsLocationProvider.
#Mon Jan 10 02:12:38 JST 2011
SSL_TYPE=0
SSL=1
OPERATION_TEST_MODE=0
POSITION_MODE=121
ACCURACY=50
SESSION_TYPE=1
ENABLE_NMEA=false
SERVER_MODE=1
START_MODE=HOT
GPS_LOGGING=0
DYNAMIC_ACCURACY=1
AGPS_MODE=0
ADDRESS_MODE=1
OPERATION_MODE=MS ASSISTED
USE_DEFAULT=false
DYNAMIC_ACCURACY_VALUE=50
SUPL_PORT=7276
ENABLE_XTRA=true
TIMEOUT=1000
NUM_OF_FIX=999999999
SUPL_HOST=supl.google.com
TIME_BTW_FIX=1000
-----------------ココから上------------------------
trackback
docomo Galaxy S(SC-02B)のGPS精度を改善してRunkeeperを使うまで
急にAndroidな気持ちになって年末にドコモショップに電話しまくってGalax...
コメントの投稿
ベストかもです
はじめまして。
LauncherProを使ったり、secgps.confを直接いじる方法をいくつか試しましたが、結局は的確な部分を的確な設定値にする事で、ここの記事のパラメータが一番良さそうです。(あくませも個人的な感覚ですが。)
ちなみに私は、この記事中にある変更後のsecgps.confの内容で上書きさせてもらいました。
今まで、室内では止まらなかったGPSアイコンの点滅も簡単に止まってくれるようになりました。
精度云々はわかりませんが、使用感は少なくとも一緒に使ってるSIMフリーDesireと同レベルになりました。
ほんと、助かりました。ありがとう。
LauncherProを使ったり、secgps.confを直接いじる方法をいくつか試しましたが、結局は的確な部分を的確な設定値にする事で、ここの記事のパラメータが一番良さそうです。(あくませも個人的な感覚ですが。)
ちなみに私は、この記事中にある変更後のsecgps.confの内容で上書きさせてもらいました。
今まで、室内では止まらなかったGPSアイコンの点滅も簡単に止まってくれるようになりました。
精度云々はわかりませんが、使用感は少なくとも一緒に使ってるSIMフリーDesireと同レベルになりました。
ほんと、助かりました。ありがとう。
Re: ベストかもです
junさん
コメントありがとうございます。
あれからさらに変更して精度を少し向上させることができました。(と思ってます)
こちらもよかったら試してみてください。
[GalaxySのGPS改善その2]
http://mostroid.blog109.fc2.com/blog-entry-8.html
コメントありがとうございます。
あれからさらに変更して精度を少し向上させることができました。(と思ってます)
こちらもよかったら試してみてください。
[GalaxySのGPS改善その2]
http://mostroid.blog109.fc2.com/blog-entry-8.html
ありがとうございました。
はじめまして。
先日HT-03AからGalaxy Sに乗り替えたWaterと申します。My tracksを愛用していたのですが、Galaxy Sではうまく使えておりませんでした。いろいろ見ましたが、やはりrootが必要そうで、そのうち奪取するかも知れませんが、まずはroot権限なしでできることが無いか、また、3Gデータ通信は契約さえ解除してしまっていたため、3Gデータ通信なしでできないか、と探していたところ、mostroid様の記事に行き着きました。
試させていただきましたところ(その後のさらに改善の記事も読ませて頂き、その通りにさせていただきました。)、以前HT-03Aで使用していた頃と同様な感じになり、大変感激しております。本当にありがとうございました!やっとこれで以前と同様にMy tracksが使えるようになります。感謝いたします。
先日HT-03AからGalaxy Sに乗り替えたWaterと申します。My tracksを愛用していたのですが、Galaxy Sではうまく使えておりませんでした。いろいろ見ましたが、やはりrootが必要そうで、そのうち奪取するかも知れませんが、まずはroot権限なしでできることが無いか、また、3Gデータ通信は契約さえ解除してしまっていたため、3Gデータ通信なしでできないか、と探していたところ、mostroid様の記事に行き着きました。
試させていただきましたところ(その後のさらに改善の記事も読ませて頂き、その通りにさせていただきました。)、以前HT-03Aで使用していた頃と同様な感じになり、大変感激しております。本当にありがとうございました!やっとこれで以前と同様にMy tracksが使えるようになります。感謝いたします。
承認待ちコメント
このコメントは管理者の承認待ちです