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不用配置

  1. 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了。

  1. 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.

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

  2. 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定位和网络定位。

  1. 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 问题

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

打开GPS

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

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

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

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

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

这里表示AGPS使能

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

GPS chip是6752

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

采用26M时钟

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

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

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

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

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

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

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

这里GNSSOPMode=2

  1. 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

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

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

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

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

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

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

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

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

  1. 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下面

  1. 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/下面

  1. 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软件正常工作常用的手段。

  1. 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软件正常工作常用的手段

  1. 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定位状态图标

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

表示GPS的定位时间死13.003s

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

关闭GPS

  1. 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定位状态图标消失

  1. 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,请对应查找

  1. 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点

  1. 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

  1. 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提供出来的。

  1. 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,可以判断什么时候关闭了这次网络定位

  1. 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定位。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值