今となっては昔のことになってしまったが、かつて移動体通信端末が取得する位置情報が重要な時代があった。ロックダウンで家から出ない今となっては、そもそも移動体通信自体に大して意味がなくなってしまった。本稿は、今年1月初めに買ったシャオミ中華ROM端末で、GPSによる位置情報がうまく取得できなくて正直けっこう困っていた問題に対し、先月無事に解決した解決策を記録するためのものである。
そもそも中華ROM端末とは何か。シャオミのスマートフォンでも中国国内で中国向けに売られている中華ROMと、香港や他の国で売られているグローバルROMの二種類の端末がある。私が買った1億画素のカメラセンサーで知られるシャオミ端末は、1月に深圳のシャオミショップで買ったのでCC9pro 尊享版という中華ROM版だが、グローバル版ではMi Note 10proという名前になっている。ハードウェアとしては、対応周波数帯が多少違うくらいでほぼ同一である。ソフトウェアはけっこう違う。
google playが入っていないので、谷歌安装器なる怪しいアプリを入れてgoogleアプリを使えるようにしないといけない。それでもわざわざ中華ROM版を選んだのは、中華ROM版の方が2万円くらい安いというのもあるが、OSやファームウェアのアップデートの対応が早いことや、Mi Roamingという圧倒的に強力なeSIMのサービスを使えるからである。root権限を取得したり、ROMを焼き直したりするならめんどいからやだなあと思っていたが、そんなことをしなくても普通に使えるとシャオミショップの店員が教えてくれたので買うことにした。
中国で使っているうちは何も問題なかったが、インドに戻ってきてからどうにも位置情報の反応が悪いことに気がついた。なにやら現在位置がたまにしか取得できないのである。権限を付与してないのかなと思って設定を確認しても、ちゃんとGet location infoの項目ではget precise location (GPS and network-based)となっていて見たところ問題なし。google mapでナビモードにすると位置情報がきちんとアップデートされる。Uberは多少雑な位置情報でもなんとか使えたが、Olaは位置情報が不正確ですと出てそれ以上進めなかった。ムンバイに行ったときにアプリで電車のチケットを買おうと思ったのだが、位置情報が不正確と出て使えず悔しい思いをした。
そもそもGPS and network basedとは何か。GPSは大学の授業でやっているので、基本的な原理ならわかる。複数の衛星から原子時計の極めて正確な時刻情報を取得し、その差分から現在の位置情報を割り出すのである。GPSは受信機であり、衛星に電波を飛ばすものではないので、GPSを使っているからといって自分の現在位置が伝わるものではないという話があるのはこのためである。
しかしながら、GPSのみで位置を特定すると30秒近く時間がかかるという欠点があるので、素早く位置情報を特定するためにnetwork-basedの情報も使用したA-GPS(補助GPS)を使用するのが主流となっている。ちなみにA-GPSには2種類の方式、すなわちMSA(Mobile station assisted)とMSB(Mobile station based)があり、MSAでは端末が衛星から取得した情報を補助GPSサーバに送り、補助GPSサーバで位置情報を計算して、端末に送り返す。MSBでは、補助GPSサーバは衛星の軌道情報などを予め端末に送るのみで、位置情報の計算は端末で行っている。
いろいろ検索をすすめるうちに、シャオミの中華ROMのGPSが怪しいという情報を多々見かけるようになった。そして、ついに対処法を紹介したページに辿り着いた。
https://piunikaweb.com/2019/02/08/xiaomi-uses-state-owned-china-telecom-a-gps-provider-but-why/
グローバル版ではgoogleのA-GPSサーバであるsupl.google.com を使用しているが、中華ROMではチャイナテレコムのA-GPSサーバである221.176.0.55を使っているようである。しかもシャオミのOSであるMIUIではA-GPSサーバを選択する項目がない。しかし、先人の知恵の助けを借りて、quick shortcut makerなるアプリを用いてA-GPSサーバを選択する画面にたどりいついた。
https://c.mi.com/thread-2129254-1-0.html
このquick shortcut makerはなんでもっと早く入れてなかったんだろうと感じるくらい素晴らしいアプリである。root権限を取らなくてもこんなに自由に操作できたとは知らなかった。
そんなわけでチャイナテレコムではなくgoogle様に全ての個人情報を捧げて無事正確な位置情報を取得できるようになった。個人情報を中国に渡そうがアメリカに渡そうがどうせ大差ないし、利便性にまさるものはないのスタンスで生きている。
あいにく旅行に行く予定は全然ないのでmi roamingを使う機会がないが、OSのアップデートで言えば中華ROM版に対するAndroid10へのアップデートが今月中に可能になるらしい。ソフトウェアが変わると別物になるので、OS更新がとても楽しみだ。