G-sensor 偶尔失灵问题
我以前有碰到过,在手机进入SLEEP,然后在退出来时,有时就无效了,
但是你多次让系统进入SLEEP,然后SLEEP OUT后就会好。
最后我是在退出SLEEP时,多写了一次。
你正常使用的时候方向是否正确?方向不对也会导致失灵
正常使用是正确的,,看来现象有点像光辉说的那样。
找茶(303856321) 11:31:06
G-sensor 偶尔失灵问题,拔电池再开机又好了,有没有人碰到过类似情况?
奔逸玄思(11151337) 11:32:22
经常碰到
解决不了
清风客(4742393) 11:32:52
你的g sensor是轮询的还是中断的?
找茶(303856321) 11:32:59
中断
g sensor那边说I2C存在干扰,,建议加了0欧电阻过滤,不知道有人这样试过没?
清风客(4742393) 11:33:56
先用示波器查中断gpio还活着不 判定是sensor测死了还是cpu测代码处理错误
那也应该是i2c上拉问题啊
奔逸玄思(11151337) 11:34:36
是不是很难出现啊
找茶(303856321) 11:34:51
是比较难出现,小概率无规律的。
只是卖的多了,就有部分用户在反馈
奔逸玄思(11151337) 11:35:01
产线上就比较容易出现了
清风客(4742393) 11:35:05
用示波器抓一下电平是不是不规范。
光辉(1820799206) 11:35:26
让系统SLEEP呢?
然后在退出?
找茶(303856321) 11:35:29
产线上都比较容易出现?那奔逸你们那就比较严重了。
光辉(1820799206) 11:35:32
会好吗?
清风客(4742393) 11:35:38
还有一个方法 降低i2c的速度
找茶(303856321) 11:35:40
这样好像没用,必须拔电池
清风客(4742393) 11:36:00
如果真的是信号有问题 降低速度是最有效的
当然要看你的i2c是不是很多路在用 会不会影响其他路
找茶(303856321) 11:36:38
软件流程也是这样的,必须拔电池,再开机才会重新probe
i2c一般都是g-sensor和TP共用的
降低i2c的速度 这个软件如何操作?
清风客(4742393) 11:38:14
配置i2c的速度 驱动里就一行代码
但怕对你的tp有影响
找茶(303856321) 11:39:36
可能是会有影响,TP要求速度比较高
清风客(4742393) 11:40:56
是的 如果确定是信号的问题 你就需要先让硬件先查为什么,是不是上拉电阻不够
找茶(303856321) 11:41:30
恩
Dream(596314195) 11:41:39
我碰到过2次,一次是TP在kernel上电时电压没有起来影响到i2c,导致G-sensor失灵。另一次是休眠唤醒有几率失灵。
找茶(303856321) 11:42:13
看来这问题还比较普遍哦
这一颗很容易失灵,就是在sleep,然后wake时失灵,通过抓log,发现每一次都是wake时设置参数fail。
对于BMA220,我们是这么解决的:
1)对于设置部分的对I2C的写,都需要写后读出来confirm N次(这个自己设置),确保写成功。
2)sleep时,不power off,因为功耗很小。wake时,不再进行操作,因为没有power off,参数还在。
对,楼上几位正解,就是sleep和wakeup失败引起,不要sleep也可以的,待机电流很小,我们也是这个问题。
不一定要看情况,我们遇到这个问题,一开始也判断如上,然后尝试不poweroff,或者唤醒时多写几次,但还是会出现
后来抓LOG发现hwmsens_dev.c里的enable函数中跑到了obj->cntcxxx啥的等与空,是上下文设备不知道怎么了丢失了,这个上下文架构和休眠唤醒无关,应该是开机检测到GSENSOR后一直在的,所以怀疑是MTK代码有点问题,会有内核操作时越界操作的问题,而且后来发现一些APP崩溃后GSENSOR就会失灵,也不是100%,所以很复杂。
那你们搞定这个问题了吗?
能否把你文件发给我参考一下?谢谢!
请教下,我看很多人反馈bma250 失效的问题,是不是只有这颗sensor有这个问题?
其他sensor没有这个问题吧? 是不是可以说这个问题要从驱动上找原因,不要从上层找原因?
要找原因肯定是在驱动找原因。
其它的G-SENSOR好像也有此问题。
有这个问题,我们的就有 15A bb,75 android 4.0.4 的代码 afa750 gsensor!
如果是很多驱动ic都有这个问题,是不是要从上层去找原因 ?
