Recovery模式下进行重启或者关机LCD会闪一下白屏

2024-08-21 12:18

本文主要是介绍Recovery模式下进行重启或者关机LCD会闪一下白屏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现象描述:

Recovery模式下进行重启或者关机或者恢复出厂设置后都会闪一下白屏

抓取kernel log未发现明显异常:

[   40.137930] <0>.(0)[1:init]******** battery driver shutdown!! ********
[   40.141461] <0>.(0)[58:kworker/0:1]EXT4-fs (mmcblk0p24): re-mounted. Opts: (null)
[   40.143458] <0>.(0)[58:kworker/0:1]Emergency Remount complete
[   40.272535] <0>.(0)[181:mtk charger_hv_][charging_get_battery_status] battery exist for bring up.
[   40.273685] <0>.(0)[181:mtk charger_hv_][charging_get_battery_status] battery exist for bring up.
[   40.274822] <0>.(0)[181:mtk charger_hv_][charging_get_battery_status] battery exist for bring up.
[   40.749289] <0>.(0)[1:init][battery_meter_shutdown]
[   40.751221] <0>.(0)[1:init][MUSB]musb_shutdown 1356: shut down
[   40.752132] <0>-(0)[1:init][MUSB]mt_usb_disable 340: <1,1>,<3,5,3,2>
[   40.753801] <0>-(0)[1:init][MUSB]usb_phy_savecurrent 534: usb save current success
[   40.754777] <0>-(0)[1:init][MUSB]mt_usb_disable 358: <3,5,3,3>
[   40.756254] <0>-(0)[0:swapper/0][Power/swap]SODI: blocking by uptime count = 14
[   40.970074] <0>.(0)[1:init]kernel lcm_suspend
[   40.976840] <0>.(0)[1:init][gps]null pointer!!
[   40.978227] <0>.(0)[1:init]reboot: Restarting system with command ''
[   40.979052] <0>-(0)[1:init]machine_restart, arm_pm_restart(  (null))
[   40.979871] <0>-(0)[1:init]ARCH_RESET happen!!!
[   40.980461] <0>-(0)[1:init]arch_reset: cmd = 
[   40.981046] <0>-(0)[1:init]CPU: 0 PID: 1 Comm: init Tainted: G        W      3.18.19 #12

只能看到一行和LCD相关的log信息;


分析过程:

1. log里面看不出来,没辙,想其他办法吧,闲着没事看一下 [   40.970074] <0>.(0)[1:init]kernel lcm_suspend 看一下这个log是从哪里打印的吧,既然是lcm_suspend就到LCD驱动里卖弄看一下,在lcm_suspend()函数里面添加log信息,发现确实走的是kernel里面我们自己添加的LCD驱动,开机lcd probe驱动log如下:

[    1.239771] <3>.(3)[1:swapper/0][kernel]:get_lcm_id=83.
[    1.240421] <3>.(3)[1:swapper/0][kernel]:disp_lcm_probe ,lcm_ic_id=0x83.
[    1.241256] <3>.(3)[1:swapper/0][kernel]:disp_lcm_probe ,lcd_id_voltage=3._lcm_count()=1
[    1.242264] <3>.(3)[1:swapper/0][kernel]:disp_lcm_probe ,check lcd:DiJing-ili9806e.lcd_id_voltage=3.
[    1.243403] <3>.(3)[1:swapper/0][kernel]:disp_lcm_probe ,detect lcd successfully.lcd_name=DiJing-ili9806e.

suspend时没有对屏幕进行灭背光动作,没辙,想其他版本

2. 想到调节LCD亮度有对应的文件节点,通过直接往文件里面echo数值,直接修改亮度,看看是否好使

设备文件节点路径(recovery模式下adb开启需要单独调试出来):

/sys/class/leds/lcd-backlight/brightness

先cat出来brigthness节点初始默认值是多少,

cat /sys/class/leds/lcd-backlight/brightness 后发现为0

echo 200>/sys/class/leds/lcd-backlight/brightness

之后再进行重启或者关机白屏现象不复现,现在有点眉目了,看来和亮度初始值有关


3. 在dts里面找到设置的/sys/class/leds/lcd-backlight/brightness文件节点内容的位置如下:

dts路径:kernel-3.18/arch/arm/boot/dts/$(project).dts

led6:led@6 {
compatible = "mediatek,lcd-backlight";
led_mode = <4>;
data

这篇关于Recovery模式下进行重启或者关机LCD会闪一下白屏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093139

相关文章

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

SpringSecurity6.0 如何通过JWTtoken进行认证授权

《SpringSecurity6.0如何通过JWTtoken进行认证授权》:本文主要介绍SpringSecurity6.0通过JWTtoken进行认证授权的过程,本文给大家介绍的非常详细,感兴趣... 目录项目依赖认证UserDetailService生成JWT token权限控制小结之前写过一个文章,从S

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip