Androidのgps.conf設定

2019/06/04追記

注意:gps.confの変更に意味があったのはAndroid 4.0より前の話で、2019年のAndroid 7やら8やら9では変更する意味が無くなっています。


Xperia X10 mini proのカスタムROMで設定されている/system/etc/gps.confは以下の設定値であることが多い。

NTP_SERVER=europe.pool.ntp.org
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
SUPL_HOST=supl.google.com
SUPL_PORT=7276

実際にどんな値が設定されているのか、他機種を含めて調べてみた。

NTP_SERVERの候補
・asia.pool.ntp.org
・europe.pool.ntp.org
・jp.pool.ntp.org
・north-america.pool.ntp.org
・us.pool.ntp.org
・xtra1.gpsonextra.net

SUPL_HOSTの候補
・dcm-supl.com : 7275 (SPモードonly, mopera U不可)
・supl.google.com : 7276
・supl.sonyericsson.com : 7275
・supl.skyhook.com : 7278
・h-slp.mnc410.mcc310.pub.3gppnetwork.org : 7275

CK2という設定…しかしc2k.pde.comは名前解決不可なの死んでいる?

C2K_HOST=c2k.pde.com
C2K_PORT=1234

いろいろ調べた結果、うちのXperia X10 mini proでは、gps.confを以下の様な感じに設定した。

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://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
# 4 - Debug, 5 - Verbose
DEBUG_LEVEL =0
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
ACCURACY_THRES=0
# Report supl ref location as position, 1=enable, 0=disable
REPORT_POSITION_USE_SUPL_REFLOC=1
# Wiper (wifi positioning), 1=enable, 0=disable
ENABLE_WIPER=1
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_NO_SECURE_PORT=7276
SUPL_SECURE_PORT=7276
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
#################################
##### AGPS Carrier settings #####
#################################
CURRENT_CARRIER=common
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_SSL_ENABLE=FALSE
# TRUE for "User Plane", FALSE for "Control Plane"
DEFAULT_USER_PLANE=TRUE

なお、手に入れたばかりのMUCHTEL A1 Android 2.2のgps.confはこんな感じでした。

NTP_SERVER=xtra1.gpsonextra.net
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
# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info
#               4 - Debug, 5 - Verbose
DEBUG_LEVEL = 4
# Intermediate position report, 1=enable, 0=disable
INTERMEDIATE_POS=0
# Accuracy threshold for intermediate positions
# less accurate positions are ignored, 0 for passing all positions
ACCURACY_THRES=500
################################
##### AGPS server settings #####
################################
# FOR SUPL SUPPORT, set the following
# SUPL_HOST=supl.host.com or IP
# SUPL_PORT=1234
# FOR C2K PDE SUPPORT, set the following
# C2K_HOST=c2k.pde.com or IP
# C2K_PORT=1234
################################
# EXTRA SETTINGS
################################
#

ちなみに、この記事、ほんとはメモ書きで、公開する予定はなかったのですが、間違えて公開してしまったので・・・


— 2012/01/04 追記 —

[DEC.05.2011] Instantaneous GPS Fixation v1.2! *FOR ALL ANDROIDS PHONES!*
これで配布しているasia-v1.2.zip内のgps.conf

NTP_SERVER=0.asia.pool.ntp.org
NTP_SERVER=1.asia.pool.ntp.org
NTP_SERVER=2.asia.pool.ntp.org
NTP_SERVER=3.asia.pool.ntp.org
NTP_SERVER=ph.pool.ntp.org
NTP_SERVER=my.pool.ntp.org
NTP_SERVER=tr.pool.ntp.org
NTP_SERVER=sg.pool.ntp.org
NTP_SERVER=in.pool.ntp.org
NTP_SERVER=hk.pool.ntp.org
NTP_SERVER=ae.pool.ntp.org
NTP_SERVER=jp.pool.ntp.org
NTP_SERVER=bd.pool.ntp.org
NTP_SERVER=il.pool.ntp.org
NTP_SERVER=kr.pool.ntp.org
NTP_SERVER=th.pool.ntp.org
NTP_SERVER=ir.pool.ntp.org
NTP_SERVER=tw.pool.ntp.org
NTP_SERVER=cn.pool.ntp.org
NTP_SERVER=id.pool.ntp.org
NTP_SERVER=vn.pool.ntp.org
NTP_SERVER=pk.pool.ntp.org
NTP_SERVER=om.pool.ntp.org
NTP_SERVER=uz.pool.ntp.org
NTP_SERVER=lk.pool.ntp.org
NTP_SERVER=kg.pool.ntp.org
NTP_SERVER=kh.pool.ntp.org
NTP_SERVER=qa.pool.ntp.org
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
INTERMEDIATE_POS=1
C2K_HOST=c2k.pde.com
C2K_PORT=1234
SUPL_HOST=FQDN
SUPL_HOST=supl.google.com
SUPL_PORT=7276
SUPL_SECURE_PORT=7275
SUPL_NO_SECURE_PORT=3425
SUPL_TLS_HOST=FQDN
SUPL_TLS_CERT=/etc/SuplRootCert
ACCURACY_THRES=5000
CURRENT_CARRIER=common
DEFAULT_USER_PLANE=TRUE
REPORT_POSITION_USE_SUPL_REFLOC=1

Xperia X10 mini proのカスタムROM事情 2011/11/30版

最新情報は「Xperia X10 mini proのカスタムROM事情 2012/04/23版」にて公開中。
————————————————————
2011年11月のXperia X10 mini proのカスタムROM事情。(2011年10月の話はこちら)

Android 4.0/ICSのソースが公開された影響で、いくつかのICS版カスタムROMが登場しそうな雰囲気に。

まずは、ICS風のカスタムがいくつか出てきた。
Plancton.fr氏のCyanoCream Sandwitch(Flame.Eベース)
dams2011氏のCyanMiniPro(MiniCM7Proベース)

そして、dams2011氏がテスト版(ICS X10miniPro Test)を公開。
そこに最近の主要開発者の1人、paul-xxx氏が別版の開発中を表明するも、途中でmini proが壊れたようで開発から撤退。(「my phone was burned by the Chinese charger」だそうで)
そんな中、slade87氏がそこそこ動くIceyCubeを公開。

さぁ、どうなっていくか!?

というのが11月の動きと言ったところ。

今後の注目点
・ICSでWifiが使用できるようになるのか?
オフィシャルCM7向けのカスタムkernelではWifiをうまく動かすことができてない。
この傾向は、いまのところICSでも見られる。

・描画が遅いのをどうにかできるのか?
ICSはハードウェアアシスト機能がないと、やっぱり描画が重い。
使えるようにできるのか?





今月の基礎知識

Xperia X10 mini proのfirmwareについての理解を深めよう!

Xperia X10 mini proのfirmwareは、以下の4つのパーツに分かれてると言えます。

・(a)部品/チップにほぼ近い部分の制御部分
・(b)Linux kernel部分
・(c)Linux kernel用デバイスドライバ
・(c-1) (a)を制御するためのLinux kernel用デバイスドライバ(libril)
・(d)Android部分

SEUSを使ってfirmwareを書いた場合は、(a)~(d)までが全部書き換わる。
Flashtoolsを使うと、全部書き換えもできるし、部分的に書き換えもできる。
xrecovery/CWM recoveryでは(c)と(d)だけが書き換わる

いままでいろいろ公開されてきたAndroid 2.2や2.3のカスタムROMは、(c)/(d)書き換えのタイプ。
本来のAndroid 2.2/2.3であればLinux kernel部分のバージョンアップも必要だが、できなかったので、若干無理矢理な対応をしている。

さて、(a)の部分についてですが、現状は「2.1.1.A.0.6」と呼ばれているバージョンと「2.1.1.C.0.0」と呼ばれているバージョンがあります。

いままでのカスタムROMは、「2.1.1.A.0.6」をベースとしていましたが、slade87版ICSは2.1.1.C.0.0をベースにしていくとのこと。

つまり、これまでと違って、カスタムROMに応じて(a)部分も書き換えが必要になってきます。
そのため、わかり安い形で必要なファイルがまとめられました。
[Kernel] Standard U20 kernels + libril files + Dual Touch modules

・2.1.1.A.0.6
  U20_2.1.1.A.0.6_Kernel.ftf (6.15 MB)
  libril_2.1.1.A.0.6.zip (437.19 KB)
  cy8ctma300_ser.ko (14.03 KB)

・2.1.1.C.0.0
  U20_2.1.1.C.0.0_Kernel.ftf (6.16 MB)
  libril_2.1.1.C.0.0.zip (446.95 KB)
  cy8ctma300_ser.ko (112.42 KB)

(a)の書き換えには、「U20_~_Kernel.ftf」のファイルをflashtoolsで書き込んでください。
書き込み方法については、Xperia X10 mini proのkernelを書き換えるを参照のこと。

他にあるlibrliとcy8cyma300は、カスタムROM側の要求に応じて使用してください。
通常はあまり使う必要はないはずです。
例えば、カスタムROMが2.1.1.A.0.6を要求しているのに、あえて2.1.1.C.0.0を使いたい、とかいう場合にファイルを置き換えるために使う、という感じです。

Android Marketに非公式端末が表示される件

11月中旬ごろから継続的にAndroid MarketのWebインタフェースで「Ingenic Lynx」とかが表示されているという件。
いくつかのサイトで話題になっているようです。
Appllio:Android MarketがKindle Fireなどの非公式端末をサポート
liliputing:Android Market website now recognizes HP TouchPad, NOOK Tablet, Kindle Fire

そんなたいそうな話題じゃないなぁ、と思ってスルーしてたんですが、ニュースバリューがあるような話なんだったらとネタにしてみます。

うちには2つ中華系端末があります。
MIPS Androidのronzi A3と、通称MID V7系のBpad702です。
以前から時々「お使いの端末」に表示される気がしてはいたのですが、表示される確率が上がったのは11月に入ってから、継続して表示されるようになったのは11月中旬以降という感じです。

実際にどんな風に表示されているかというと↓

画像の中にもコメントして入れていますが、表示基準がいまいち分からない。

「NTT docomo Sony Ericsson U20i」
Xperia X10 mini proにドコモのSIMをさしているものです。
firmwareをいろいろ変更していますが、表示されるのはコレ1行のみ。

IMEIベースなのかな?と思っていたのですが、
「NTT docomo」という識別符がついていることを考えると
他にも何か要素があるのか?

「IS01」
auのIS01。標準のAndroid 1.6のまま使っています。

「Ingenic Lynx」
MIPS Androidのronzi a3。
この端末、firmwareを書くとMACアドレスが変更になるというすばらしい仕様。
変更法則はよくわかりません・・・
20回ぐらい書き直しているのですが、同じMACアドレスにはならない模様。

MACアドレスベースなのかと思いきや、2行しかないので、それ以外の何かの要素があるのか?

「Wondermedia WM8650」
Bpad702という通称MID V7系のAndroid端末にslatedroid.comで配布中のfirmwareをいろいろ書いてみているもの。
これはfirmwareを書き換えてもMACアドレスは書き換わったりしないようなので、1行のみ。

「携帯端末」
正体不明。
該当するとすればronzi A3ぐらいしか思い当たるものはないんだけど・・・

Androidでドコモ公衆無線LANに自動ログイン

ドコモの公衆無線LANサービス Mzoneがmopera Uスタンダードなら無料で使える、というので、mopera Uライトから契約変更してみた。

ドコモの手順によればAndroidの場合、SSID:docomoに接続した後、ブラウザ上でログイン処理を行わないといけない、ということになっている。
しかし、Windows系とか他の環境では、その処理も含めて自動的に行えるようになっているらしい。

では、標準ではないだけで、実現する方法があるはず、と探してみたところ、Android Marketで、mzoneconfというアプリがありました。
類似の機能を持つアプリは他にもありますが、mzoneconfの利点は常駐しないアプリで、Androidの無線LAN設定にMzone用の設定を追加してくれるだけ、という非常に割り切った作りである、という点です。

やってることは、手動で設定すると非常にめんどくさいことを、直接設定を書いてしまうことで実現している、という感じなようです。

Androidでは無線LANの設定をLinuxと同様にくwpa_suppilicantを使用して行っています。
Android 2.3の場合、wpa_supplicant ver 0.6.10です。

設定ファイルは、/data/misc/wifi/wpa_supplicant.conf にあります。

mzoneconfで設定を行ったあとの/data/misc/wifi/wpa_supplicant.confは以下のような感じでした。

ctrl_interface=wlan0
ap_scan=2
update_config=1

network={
        ssid="自宅のSSID"
        psk="自宅のWPA-PSKキー"
        key_mgmt=WPA-PSK
        priority=1
}

network={
        ssid="docomo"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=1000
}

Android側か、無線LAN側か、どちらの要因かはわかりませんが、うちの環境では上記設定では、無線LANを検出しなくなってしまいました。
元との設定差異をみた結果、おそらくは「ap_scan=1」が「ap_scan=2」になったことが原因なのではないかと思い、wpa_supplicant.confをファイルを直接書き換えました。
また、プライオリティが1000って大きすぎ?と感じたので、10としてみました。

ctrl_interface=wlan0
ap_scan=1
update_config=1

network={
        ssid="自宅のSSID"
        psk="自宅のWPA-PSKキー"
        key_mgmt=WPA-PSK
        priority=1
}

network={
        ssid="docomo"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=10
}

この変更後、再起動を行って、正常に動作することを確認しました。

ちなみに、mzoneconfでは、Mzoneアカウントを使ってのBB モバイルポイント(mobilepoint)および成田空港エアポートネットでの有料ローミングアクセスが利用できます。
その設定を有効にした場合にwpa_supplicant.confに追加される設定は以下の様になっていました。

network={
        ssid="mobilepoint"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=1000
}

network={
        ssid="NRT-AIRPORT"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=1000
}

Xperia X10 mini proのカスタムROM事情 2011/10/27版

この記事は「Xperia X10 mini proのカスタムROM事情 2012/04/23版」で置き換えられています。
———————————–
最近のXperia X10 mini proのカスタムROM事情

Android 2.3ベースのカスタムROMが主流となっています。
また、kernel部分については、標準kernelもしくはZombie Panic Kernelという2択です。
Zombie Panic Kernelの導入方法についてはXperia X10 mini proのkernelを書き換えるを参照してください。

Android 2.3ベースのカスタムROMは、おもに4種類、とその亜種2つ、という感じです。
・Ginger DX Pro
・Flame.E
・GinTonic SE
・MiniCM7 pro
この4種類のどれかを使っておけば、無難といったところでしょう。

なお、ドコモユーザは現状リリースされているカスタムROMを使う際は十分に注意が必要です。
ドコモSIMが入っていると、APNとしてmopera.netを問答無用で選択した状態で、なおかつ、データ通信が有効になっているため、初回起動時に「FOMAパケット通信料[一般]」扱いのパケット通信が発生してしまいます。最短で手順を進めたとしても30円程度の料金がかかりますので注意してください。
回避するには、初回起動時はSIMを抜き、「データ通信を有効にする」のチェックをはずした状態で電源を切り、SIMを指し、設定を行ってください。

GingerDX pro
Eyama氏がdoixanh氏のGinder DXをX10 mini proに移植したもの。
Zombie Panic kernelを使用すること前提のパッケージ内容。
標準kernel(stock kernel)を使用するには同時配布のモジュール集も追加でインストールする必要がある。

Flame.E
Eyama氏がいままで他のカスタムROMに携わった経験を活かして組み上げたもの。
Zombie Panic kernelを使用すること前提のパッケージ内容。
標準kernel(stock kernel)を使用するには同時配布のモジュール集も追加でインストールする必要がある。

GinTonic.SE
slade87氏がdoixanh氏のGinderDXをベースにX10 mini proに移植したもの。
Eyama氏のGingerDXより後発ではあるが、カスタムkernel作者が作っているということもあり、期待が大きいもの。
ただ、癖は強いかもしれない。
Zombie Panic kernelを使用すること前提のパッケージ内容。
標準kernel(stock kernel)を使用するには同時配布のモジュール集も追加でインストールする必要がある。
また、X10 mini proのfirmwareで、2.1.1.A.0.6と2.1.1.C.0.0とで無線部分の動作の違いが発見されたため、2.1.1.C.0.0ユーザ向けに追加モジュールもでている。
なお、この変更の話は、他のカスタムROMに派生する可能性があるので、今後の動向に注意。

MiniCM7 Pro
paul-xxx氏がnobodyAtall氏のMiniCM7をX10 mini proに移植したもの。
元のMiniCM7はFreeXperiaProjectの一部になり、CyanogenMod7をカスタマイズしたもの、という位置づけになっている。
MiniCM7 proは、標準kernel(stock kernel)向け、しかも2.1.1.A.0.6向けとして作成されている。
2.1.1.C.0.0には対応していないので注意。
最近、開発停止宣言を出しているので、今後の動向が注目されるところ。

以下の2つは亜種、という感じのものです。

MiniCM7 SonyStyle
paul-xxx氏のMiniCM7 proをソニエリ純正のような感じで使えるようにカスタマイズしたもの。
4コーナーランチャーなど搭載。
純正の雰囲気が好きな人にお勧め。
MiniCM7 proと同様に、標準kernel(stock kernel)向け、しかも2.1.1.A.0.6向けとして作成されている。

ArcMini
Pranav110089氏がGingerDX ProをベースにXperia Arcっぽい雰囲気に改造しているもの。
機能的にはGingerDX Proと同じなので、カスタムkernel向け。

番外
CM7.1.0 – FreeXperia Project
FreeXperiaProject作の、ほぼオフィシャルのCM7.1。
なんだけど、2011/10/27時点で最新のFXP043aでも実用に耐えない。
しかも、開発中止的は話をしている。