华为mu739来电唤不醒问题调试记录
问题描述:
在我的系统中,目前modem通过外部中断可以唤醒AP。当AP进入睡眠的时候,如果modem收到incoming call或者incoming sms或者其他网络事件,modem就会拉高拉低一下AP的外部中断脚,这时候,AP就会被wakeup了。现在的问题是,当incoming call或者incoming SMS来的时候,可以唤醒AP,但系统只进入到Resume状态,然后迅速又进入睡眠,系统不会从resume状态切换到systemon状态,或者说android被唤醒之后发现没有什么事件需要它处理,然后又进入睡眠了。
因为RIL源码华为不开放,只能参照原生态的RIL来跟踪问题,在原生的RIL里面,没有对modem的这个中断做任何处理。在/kernel/power/suspend.c的suspend_finish()函数中,使用pm_notifier_call_chain(PM_POST_SUSPEND);广播一个系统从suspend状态退出的notify,发出这个消息后RIL进程就唤醒了,然后RIL不断POLLING USB端口的数据,如果发现数据端口有incoming call和incoming sms事件,就告诉android有事件要处理,这时候android就会写一个on到/sys/power/state中,这时候系统才真正的唤醒,开始走linux resume和late resume的流程,打开LCD,处理incoming call,打开APK显示来电等。现在的状况是,RIL在被唤醒后,POLLING USB数据端口,发现没有任何数据,也就不会告诉android有incoming call事件了,android发现没有什么事情需要处理,就又进入睡眠。查看resume后的打印信息发现,kernel resume后连接modem的usb reset了,LOG如下:
[ 79.970069] usb 1-3: reset high speed USB device number 2 using s5p-ehci
[ 80.315189] GPS: mt3326_gps_resume:
[ 80.317320] GPS: mt3326_gps_set_suspend: issue sysfs_notify : d2369270
[ 80.390143] usb 1-3.2: reset high speed USB device number 3 using s5p-ehci
[ 80.502360] PM: resume of devices complete after 909.113 msecs
这就不难解释为什么RIL POLLING不到数据了。由于没有RIL源码,无法DEBUG到RIL POLLING的信息,没办法100%确认这个结论。
所以,个人认为,来电无法唤醒的这个问题应该是HSIC接口RESET导致的,如果USB掉电->HSIC RESET无法避免,那就只有修改RIL和MODEM FIRMWARE,增加握手信号,在MODEM和RIL都确认系统唤醒可以正常工作后再开始数据业务。
华为mu739来电唤不醒问题调试记录相关推荐
- win10计算机休眠后无法唤醒,win10电脑休眠后唤不醒怎么回事_win10电脑休眠后唤不醒的三种原因和解决方法...
win10系统进入休眠模式能节约电源和开机时间,如果长时间不用电脑,在不关机的情况下,可以让系统进入休眠模式,不仅节约能源,还保护设备.有时候也会出现一些问题,比如win10电脑休眠后唤不醒,移动鼠标 ...
- win7睡眠后唤不醒的问题
6月份买的笔记本,装的是win7,印象里开始时睡眠后是可以唤醒的,不知从什么时候起,当机器由于空闲时间过长进入睡眠状态后,只见电源按钮慢慢地一闪一闪的,其它没有亮的地方,包括硬盘灯.按什么键都唤不醒它 ...
- 华为7c系统语言在哪里,(简单)华为畅玩7C LND-AL30的Usb调试模式在哪里开启的步骤...
当我们使用pc通过数据线链接到安卓手机的时候,如果手机没有开启Usb开发者调试模式,pc则没能够成功检测到我们的手机,有时候我们使用的一些功能强大的软件比如之前我们使用的一个软件引号精灵,老版本就需要 ...
- (简单)华为畅玩6A DLI-AL10的USB调试模式在哪里打开的经验
就在我们使用电脑通过数据线链接到安卓手机的时候,如果手机没有开启usb开发者调试模式,电脑则没办法成功检测到我们的手机,在一些情况下我们使用的一些功能比较好的的app比如以前我们使用的一个app引号精 ...
- (简单)华为畅玩7C LND-AL30的Usb调试模式在哪里开启的步骤
当我们使用电脑通过数据线链上安卓手机的时候,如果手机没有开启Usb开发者调试模式,电脑则没办法成功识别我们的手机,在一些情况下,我们使用的一些功能强大的软件比如之前我们使用的一个软件引号精灵,老版本就 ...
- ROS上同时预览depth,IR,RGB 调试记录
ROS上同时预览depth,IR,RGB 调试记录 用rviz同时显示RGB,IR,DEPTH(验证设备:astraprosm,canglong2,deeyea) 1.编译libuvc库 cd lib ...
- ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值——bug调试记录
ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值--bug调试记录 目录 输出结果 1.增加XGBR算法 ...
- [Deepin - Pycharm调试记录] Pyinstaller索引系统库问题
Deepin - Pycharm调试记录 - Pyinstaller索引不到系统库 现象 在Pycharm的Terminal中执行Pyinstaller指令时候遇到如下报错提示 OSError: Py ...
- RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案)
RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案) 参考文章: (1)RAISR-ma ...
最新文章
- 用python的turtle画圆-怎么用python画圆
- Cluster 注册表操作方法
- ActiveMQ安装
- Redis的发布订阅模式以及在SpringBoot中的使用
- asp.net 控制windows服务
- java:提示Could not initialize class sun.awt.X11GraphicsEnvironment
- CETK测试原理/测试方法/测试结果分析以及常见WinCE Test Kit运行问题的排查
- HTML之二:body标记的属性及属性值
- java绘制图形_java绘制基本图形.doc
- 一个action类中写多个方法需要继承MappingDispatchAction
- vs2015 mysql edmx_VS2015+MySql EF的配置问题
- Klevgrand DAW LP for Mac(乙烯基唱片播放器模拟插件)
- 数据可视化常用LED字体
- Matlab/Python两方,三方甚至四方演化博弈仿真图及 代码 演化博弈敏感性分析仿真图及相轨迹图/相位图及代码
- IOS磁力下载软件,老司机必备品
- 关于扫码点餐多人实时共享订单的思考
- batchsize太小的缺点随着batchsize逐渐增大的优缺点如何平衡batchsize的大小
- 小白的渗透之旅1-DVWA环境搭建
- js给label赋值功能
- 宁波大学考博c语言真题,宁波大学考博英语历年真题详解
热门文章
- CSS中 块级元素、行内元素、行内块元素区别
- 注册后 域名服务器,域名和服务器有什么区别?注册域名后需要购买服务器吗?...
- 基于android的个性闹铃的设计与开发(闹铃,日历,计时器,备忘录)
- 组团学 用户管理(zutuanxue.com)
- sdut_java_相似三角形
- 盘点那些常见的服务器端口及作用(建议收藏)
- Android自定义View--简易画板
- cs231n 课程作业 Assignment 3
- Linux系统中的延时任务及定时任务
- 你创意的卖点,够吸引人、动人么?