GPS问题调试—MobileLog中有关GPS关键LOG的释义

 [DESCRIPTION]

在mobile log中,有很多GPS相关的log出现在main log和kernel log、properties文件中,他们的意思是什么,通过这篇文档进行总结,以便在处理GPS 问题时,能够根据这些log快速的收敛问题。

[SOLUTION]

特别先提醒,这些log并非所有的软件版本上都有,所以只需要根据已经的log结合这份文档即可。

 

l  Properties文件,可以收集到该问题相关的版本信息

1.   168 [ro.mediatek.version.branch]: [KK2.MP13]

2.   169 [ro.mediatek.version.release]: [ALPS.KK2.MP13.V1.1]

3.   222 [gsm.project.baseband]: [6752_LWT_KK_MD1_HW(DEFAULT)]

4.   227 [gsm.version.baseband]: [MOLY.LR9.W1423.MD.LWTG.CMCC.MP.V1.P33

 

 

l  Kernel log文件

1.    16468 <3>[  280.806548] (0)[341:mtk_wmtd][WMT-PLAT][I]wmt_plat_dump_pin_conf:GPS_SYNC(not defined)

GPS SYNC pin不用配置

2.   16469 <3>[  280.806557] (0)[341:mtk_wmtd][WMT-PLAT][I]wmt_plat_dump_pin_conf:GPS_LNA(GPIO-2147483580)

GPIO-2147483580表示的GPIO68,这个GPIO的配置在“GPS问题大全.docx”的4.1章节有提到如何配置该GPIO。如果没有使用外部LNA,那么就不需要配置该GPIO了。

3.    16626 <3>[  280.852549] (1)[341:mtk_wmtd][WMT-CONF][I]wmt_conf_parse:#32(co_clock_flag)=>0x0

从这一条中的co_clock_flag=0表示采用的TCXO的方案,如果为1表示采用的是Coclock.

4.    17055 <4>[  281.533172] (0)[237:mnld][GPS] GPS_open: WMT turn on GPS OK!
打开GPS

5.    45005 <4>[  437.737848] (0)[237:mnld][GPS] GPS_close: WMT turn off GPS OK!
关闭GPS
 

 

l  Main log文件

1.   03400 05-13 16:07:58.210429   766  1337 V Provider/Settings:  from settings cache , name = location_providers_allowed , value = gps,network

Value后面的值表示的定位方式,这里表示gps定位和网络定位。

2.   04132 05-13 16:08:06.191351   766  1387 D LocationManagerService: request 42815df8 gps Request[ACCURACY_FINE gps requested=0 fastest=0] from com.mediatek.ygps(1001)

这里是表示gps定位,其应用是ygps,这一点经常会被用到debug 问题

3.   04142 05-13 16:08:06.193005   766   787 D GpsLocationProvider: startNavigating, singleShot is false

打开GPS

4.   04227 05-13 16:08:06.295280   237   237 D mnl_linux: mnl_utl_load_property: EPO_Enabled: 1

这里表示EPO使能,EPO是可以提供星历辅助数据

5.   04228 05-13 16:08:06.295286   237   237 D mnl_linux: mnl_utl_load_property: BEE_Enabled: 1

这里表示BEE使能,BEE是可以提供星历辅助数据。

6.   04229 05-13 16:08:06.295548   237   237 D mnl_linux: mnl_utl_load_property: SUPL_Enabled: 1

这里表示AGPS使能

7.   04238 05-13 16:08:06.296514   237   237 D MNLD    : launch_daemon_thread: chip_id is 0x6752

GPS chip是6752

8.   04279 05-13 16:08:06.301853   237   237 D mnl_linux: mtk_gps_sys_init: gps_tcxo_hz : 26000000

采用26M时钟

9.   04280 05-13 16:08:06.301861   237   237 D mnl_linux: mtk_gps_sys_init: gps_tcxo_ppb : 0

0表示时钟频偏采用默认2000ppm

 

10.  04286 05-13 16:08:06.301995   237   237 D MNLD    : linux_gps_init: TCXO

表示采用的是TCXO,非省晶体方案

11.  03928 01-14 23:36:49.154   171   171 D MNLD    : linux_gps_init: GPS coclock

表示采用的是Coclock,省晶体方案

12.  05-13 16:08:07.030960   237   237 D MNLD    : linux_gps_init: GNSSOPMode: 2

这里GNSSOPMode=2

 

13.  17129 05-15 03:36:25.760   288   325 D agps    : [agps][n][AGPS] [MNL] read  pmtk=[$PMTK764,0,0,0,1,0,128*3D

PMTK764这个log可以知道当前是支持什么卫星系统的, 三个0后面的1表示支持1种卫星系统;

1后面的0和128表示对这个卫星系统的说明,0表示是GPS卫星

0042 $$PMTK764,0,0,0,2,0,128,4,128*15

这个PMTK764中的2表示支持2种卫星系统,(0,128)表示GPS卫星系统,(4,128)表示GLONASS

14.  05-13 16:08:07.031018   237   237 D MNLD    : linux_gps_init: init_cfg.C0 = 0

如果是Coclock方案,0表示没有校准

15.  05-13 16:08:07.031026   237   237 D MNLD    : linux_gps_init: init_cfg.C1 = 0

如果是Coclock方案,0表示没有校准

16.  05-13 16:08:07.031035   237   237 D MNLD    : linux_gps_init: init_cfg.initU = 0

如果是Coclock方案,0表示没有校准

17.  05-13 16:08:07.031043   237   237 D MNLD    : linux_gps_init: init_cfg.lastU = 0

如果是Coclock方案,0表示没有校准

18.  04377 05-13 16:08:07.036831   237   237 D MNLD    : linux_gps_init: dbg_file_name (/data/misc/gpsdebug.log) 

这里表示gps debug log存放在/data/misc下面

19.  016963 05-12 09:48:22.431   266   266 D MNLD    : linux_gps_init: dbg_file_name (/storage/sdcard0/mtklog/gpsdbglog/gpsdebug.log) 

这里表示gps debug log存放在/storage/sdcard0/mtklog/gpsdbglog/下面

20.  04408 05-13 16:08:07.526851   237  2792 D mnl_linux: mtk_gps_sys_nmea_output_to_app: $PMTK010,001*2E

PMTK010表示GPS软件已经跑正常了,这一点是判断GPS软件正常工作常用的手段。

21.  04419 05-13 16:08:07.531313   237  2792 D mnl_linux: $GNRMC,080807.009,V,3953.7875,N,11620.6085,E,0.000,0.00,130515,,,N*5B

NMEA也是判断GPS软件正常工作常用的手段

22.  04439 05-13 16:08:07.531876   766   787 D gps_mtk : mtk_gps_start: line = 3644sta.status = GPS_STATUS_ENGINE_ON

通过该log“GPS_STATUS_ENGINE_ON”,在手机最上面的状态栏,是可以看到GPS定位状态图标

23.  05944 05-13 16:08:20.550455   766  2574 D GpsLocationProvider: TTFF: 13003

表示GPS的定位时间死13.003s

24.  25275 05-13 16:10:42.491472   766   787 D GpsLocationProvider: stopNavigating

关闭GPS

25.  25366 05-13 16:10:42.511134   766  2574 D gps_mtk : mnld_to_gps_handler: line = 3020sta.status = GPS_STATUS_ENGINE_OFF

通过该log“GPS_STATUS_ENGINE_OFF”,在手机最上面的状态栏,GPS定位状态图标消失

26.  25378 05-13 16:10:42.795323   766  1376 D gps_mtk : mtk_gps_delete_aiding_data: line = 3898Send MNL_CMD_RESTART_FULL in HAL

这里的log表示是FULL start,如果看到下面图片的log,请对应查找

 

27.  083004 05-12 09:50:00.510   827  1468 D LocationManagerService: request 1434db9 gps Request[ACCURACY_FINE gps requested=+10s0ms fastest=+10s0ms] from com.tct.weather(10052)

108716 05-12 09:50:31.004   827  1468 I LocationManagerService: remove 1434db9

通过上面的log可得知GPS定位开始的时间和结束的时间,是com.tct.weather这个应用打开的GPS,这里的1434db9很重要,是你判断结束的对应log点

28.  109104 05-12 09:50:31.404   827  8800 V GpsLocationProvider: GNSS SV count: 9 ephemerisMask: 0 almanacMask: 0

109105 05-12 09:50:31.405   827  8800 V GpsLocationProvider: sv: 22 snr: 0.0 elev: 66.0 azimuth: 198.0   

109106 05-12 09:50:31.406   827  8800 V GpsLocationProvider: sv: 14 snr: 0.0 elev: 54.0 azimuth: 15.0   

109107 05-12 09:50:31.408   827  8800 V GpsLocationProvider: sv: 25 snr: 3.0 elev: 52.0 azimuth: 55.0   U

109110 05-12 09:50:31.409   827  8800 V GpsLocationProvider: sv: 31 snr: 2.3600001 elev: 48.0 azimuth: 289.0   U

109111 05-12 09:50:31.409   827  8800 V GpsLocationProvider: sv: 18 snr: 2.48 elev: 36.0 azimuth: 162.0   U

109113 05-12 09:50:31.410   827  8800 V GpsLocationProvider: sv: 32 snr: 0.0 elev: 24.0 azimuth: 318.0   

109116 05-12 09:50:31.412   827  8800 V GpsLocationProvider: sv: 12 snr: 3.2 elev: 16.0 azimuth: 39.0   U

109117 05-12 09:50:31.412   827  8800 V GpsLocationProvider: sv: 29 snr: 0.0 elev: 13.0 azimuth: 115.0   

109120 05-12 09:50:31.413   827  8800 V GpsLocationProvider: sv: 4 snr: 0.0 elev: 7.0 azimuth: 280.0   

从上面的log上可以看到可视卫星有9颗,每颗卫星的ID、SNR、ELEV、AZIMUTH

29.  109109 05-12 09:50:31.408   827   860 D LocationManagerService: incoming location: Location[gps 23.032397,114.349453 acc=7 et=+35m46s616ms alt=43.0 vel=0.0 bear=10.53 {Bundle[{}]}]

有这行log,表示这一秒一定是定位成功的,这个log中的gps表示这个定位成功的位置是GPS提供出来的。

30.  04520 05-13 16:08:07.548131   766  1378 D LocationManagerService: request 42509ab8 network Request[POWER_LOW network requested=+1s0ms fastest=+1s0ms] from com.mediatek.nlpservice(10047)

04566 05-13 16:08:07.576011   766   787 D LocationManagerService: incoming location: Location[network 39.896459,116.343475 acc=257 et=+23m51s504ms]

04580 05-13 16:08:07.582307   766  1226 I LocationManagerService: remove 42509ab8

从这几行log中的“network Request[POWER_LOW network requested”表示是网络定位,是” com.mediatek.nlpservice”应用或者是服务去请求的,网络定位比较快,可以看到立即就拿到了位置,根据42509ab8,可以判断什么时候关闭了这次网络定位

31.  04581 05-13 16:08:07.582319   766   787 D gps_mtk : mtk_gps_inject_location: line = 3845ts.tv_sec= 229820461603619098,ts.tv_nsec = 8953004843085074432

04582 05-13 16:08:07.582352   766   787 D gps_mtk : mtk_gps_inject_location: line = 3846inject location lati= 39.896459, longi = 116.343475,accuracy =257.000000

这里的log表示将位置辅助和参考时间数据注入给GPS 模块,来加速GPS定位。
相关文章
相关标签/搜索