[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定位。

 
备注:
分析本次在MT8321上面调试GPS的过程,走了很多弯路,主要是mtk给的参考资料也是每个平台不一样。
在MT8321平台上co-clock 和 dxco方式 ,软件好像不用修改什么(特别提醒:以前的平台是需要修改的),
我们这次搜不到星是因为没有校准,是2G RF校准,不是GPS校准。
猜测原因,可能是校准后cpu(gps集成在cpu了)出来的clock稳定些,不会漂移,所有导致这种现象。

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

  1. Android系统中模拟GPS位置,Android系统中模拟GPS位置

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Android系统中提供了模拟GPS坐标的功能,可以很方便的帮助我们测试不同地理位置下应用中各个功能效果. 模拟器中模拟 ...

  2. android 伪造gps位置,在Android中使用GPS的假位置

    您正在开发一个将设置坐标(经度和纬度)的应用程序.它必须显示我的位置,因为我在那个坐标.它类似于位置欺骗者.. http://www.androidzoom.com/android_applicati ...

  3. android中实现GPS定位功能,Android中实现GPS定位的简单例子

    今天弄了一个多小时,写了一个GPS获取地理位置代码的小例子,包括参考了网上的一些代码,并且对代码进行了一些修改,希望对大家的帮助.具体代码如下:  要实用Adnroid平台的GPS设备,首先需要添加上 ...

  4. 总结调试过程中怎么去抓log

    开发调试中的办法非常多,LOG是其中重要的一个方法,一些常见的LOG的抓取办法(主要针对QUALCOMM平台,未经详细整理): 1.ADB查看或保存kernel的启动LOG: kernel log: ...

  5. RK平台ME3630模块GPS移植调试

    1.平台:rk3128  android5.1 2.所需资源: gps.default.so  (android5.1 GPS库) 3.移植: 32位系统下,将gps.default.so文件放在目录 ...

  6. Windows Mobile 6 SDK 中的 GPS 工具

    Windows Mobile 6 SDK 中的 GPS 工具 GPS Intermediate Driver 自从 Windows Mobile 5.0 引进了 GPS Intermediate Dr ...

  7. android网络获取经纬,Android中透过GPS或NetWork获取当前位置的经纬度

    Android中通过GPS或NetWork获取当前位置的经纬度 private double latitude=0.0; private double longitude =0.0; Location ...

  8. pythongps聚类_Python中的GPS轨迹聚类

    当我们想要利用智能手机或智能手环等个人设备生成的GPS数据时,G PS轨迹聚类是一种常见的分析. 在本文中,我们将介绍一种在Python中执行GPS轨迹聚类的快速简便方法.这里的主要目标是创建包含&q ...

  9. 如何提高gps精度_如何在锻炼应用程序中提高GPS跟踪精度

    如何提高gps精度 l i g h t p o e t/Shutterstocklightpoet /快门 Tracking your runs, bike rides, and other work ...

最新文章

  1. Java箭头函数,lambda函数
  2. Java 面试高频题:Spring Boot+Sentinel+Nacos高并发已撸完
  3. Managed keyedState中的ValueStateDescriptor与MapStateDescriptor
  4. java建议:避免使用终结方法
  5. php读入输入_php-读取用户输入并检查数据类型
  6. influxdb入库mysql_InfluxDb(3)基本操作
  7. Unity3D基础11:Rigidbody物理类组件
  8. Jzoj1307 Jail
  9. Wait 线程阻塞 与 Notify、NotifyAll 线程唤醒
  10. RkConverter二进制报文解析工具
  11. 作业2-Python基础练习
  12. 第70天-内网安全-域横向内网漫游 Socks 代理隧道技
  13. tomcat反向代理,监控,性能优化详细步骤
  14. html模拟鼠标点击图标,易语言模拟鼠标点击实现方法
  15. 最近在做微信支付委托代扣交互图。总结了几点需要注意的地方,与大家分享一下
  16. linux用mame玩游戏,Ubuntu下用xmame玩街机游戏
  17. python 有趣包_一些有趣且鲜为人知的 Python 特性
  18. excel对不同岗位进行名次排序
  19. 支付宝AR红包引出Python中的PIL小试
  20. 现代控制原理专业词汇中英文对照

热门文章

  1. GA-SVM算法python实现
  2. 我的学厨记——香煎鸡翅
  3. SQL(16)--获取员工当前薪水比其manager薪水还高的相关信息
  4. 新茶饮加速“去泡沫”
  5. ERDAS2015RGB颜色分类法水体提取
  6. H5 集成微信自定义分享(兼容 ios android)
  7. 层次聚类sklearn.cluster包AgglomerativeClustering
  8. 抖音终于活成了自己讨厌的样子
  9. 选磁芯的AP法到底是什么?
  10. 关于网站运营的研究_海外新媒体代运营_自媒体运营有哪些