当前位置: 首页 > news >正文

Xiaomi pad 5(nabu)(或者其他Linux arm设备?)屏幕休眠时Kernel panic的解决办法

现象:

休眠后会自动关机

修复

排除

journalctl -b -1 -p 3 -n 233
-b -1:查看上一次启动(即崩溃前)的记录
-p 3:只看Error级别以上的日志
-n 9178:看上次多少条

点击查看崩溃日志
[xvsu@alarm ~]$ journalctl -b -1 -p 3 -n 50
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_check_fw_reset_state 537: error, retry=11, buf[1]=0x00>
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_download_firmware_hw_crc 694: nvt_check_fw_reset_state>
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_tx_auto_copy_mode 323: tx auto copy mode enable
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_update_firmware 821: Update firmware success! <430698 >
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_get_fw_info 639: fw_ver = 0x35, fw_type = 0x01, x_num=>
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_read_pid 576: PID=5953
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] disable_pen_input_device 1175: ++
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_ts_work_func 1140: Unknown pen format id!
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] disable_pen_input_device 1199: pen charge state is DISABLE>
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] disable_pen_input_device 1204: --
Mar 23 12:04:10 alarm kernel: [NVT-ts-spi] nvt_ts_resume 1825: end
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] nvt_drm_notifier_callback 1841: event=2, *blank=1
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] nvt_ts_suspend 1700: cancel delayed work sync
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] nvt_ts_suspend 1707: suspend start
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] nvt_ts_suspend 1710: if enable pen,will close it
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] disable_pen_input_device 1175: ++
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] disable_pen_input_device 1199: pen charge state is DISABLE>
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] disable_pen_input_device 1204: --
Mar 23 12:05:10 alarm kernel: [NVT-ts-spi] nvt_ts_suspend 1759: end
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_drm_notifier_callback 1847: event=1, *blank=0
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_ts_resume 1784: resume start
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] update_firmware_request 302: filename is novatek/novatek_n>
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_bin_header_parser 125: cascade_2nd_header_info = 1
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_bin_header_parser 156: ovly_info = 0, ilm_dlm_num = 2,>
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_tx_auto_copy_mode 323: tx auto copy mode enable
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_check_fw_reset_state 537: error, retry=11, buf[1]=0x00>
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_download_firmware_hw_crc 694: nvt_check_fw_reset_state>
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_tx_auto_copy_mode 323: tx auto copy mode enable
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_update_firmware 821: Update firmware success! <438494 >
Mar 23 12:07:54 alarm kernel: [NVT-ts-spi] nvt_get_fw_info 639: fw_ver = 0x35, fw_type = 0x01, x_num=>

还有个sudo dmesg -w应该也可以用()但是我没试过()应该是实时的,适合复现
日志里面nvt_ts_suspend之后nvt_ts_resume,但是失败了nvt_check_fw_reset_state 537: error, retry=11, buf[1]=0x00

尝试解决

如果在模块当中,应该用

lsmod | grep -iE(E是正则表达式~) 'nvt|novatek|touch|andAnyOtherTings' 

然后像后面一样,写个禁用脚本

# 查找SPI 总线上的 Novatek设备(显驱设备)
ls /sys/bus/spi/devices/
# 如果是spi0.0
ls -l /sys/bus/spi/devices/spi0.0/driver
#然后得到这个名字
sudo nano /usr/lib/systemd/system-sleep/99-nabu-touch-fix.sh
#写这个脚本,脚本内容大概类似于
#!/bin/bash
case $1 inpre)# 休眠前:强行卸载触摸屏驱动modprobe -r nvt_ts_spi;;post)# 唤醒后:重新加载触摸屏驱动modprobe nvt_ts_spi;;
esac

然后

sudo chmod +x /user/lib/systemd/system-sleep/fix-touch.sh
#或者写用户自定义区/etc/lib/systemd.....

另一种情况

如果内核没有集成触摸,即触摸模组不作为模块加载,而是built-in的(类似于我手上这种) (我猜可以这么说?管他呢 把问题解决就行)
一样找到spi几几
然后船舰脚本

sudo nano /usr/lib/systemd/system-sleep/99-nabu-touch-fix.sh
#!/bin/bash# 设备 ID
TOUCH_DEV="spi0.0"DRIVER_PATH="/sys/bus/spi/drivers/nvt_ts_spi"case $1 inpre)# 在进入休眠前解绑驱动 #不作为模块加载,编译在内核,利用解绑机制if [ -e "$DRIVER_PATH/$TOUCH_DEV" ]; thenecho "$TOUCH_DEV" > "$DRIVER_PATH/unbind"echo "Touch screen unbound before suspend" >> /tmp/touch_fix.log #可要可不要fi;;post)# 在唤醒后重新绑定驱动if [ ! -e "$DRIVER_PATH/$TOUCH_DEV" ]; thenecho "$TOUCH_DEV" > "$DRIVER_PATH/bind"echo "Touch screen re-bound after resume" >> /tmp/touch_fix.log #随便你吧fi;;
esac

然后不要忘了

sudo chmod +x /usr/lib/systemd/system-sleep/99-nabu-touch-fix.sh

然后休眠试试看

http://www.jsqmd.com/news/528463/

相关文章:

  • 分享2026年广州宝骏汽车店,宝骏悦也plus2026款脚垫怎么选 - 工业品网
  • 解放双手的语音转文字神器:TMSpeech让会议记录、学习笔记变得如此简单!
  • Windows 11性能焕新:Win11Debloat系统优化全解析
  • 快速搞定沃尔玛购物卡回收,方法超简单! - 团团收购物卡回收
  • 便宜的SSL证书代理商哪个好?2026年优选安信SSL证书 - 麦麦唛
  • 无锡高端腕表寄修服务可靠性全解析:从百达翡丽到欧米茄,京沪深杭宁锡六地寄修流程与风险控制报告 - 时光修表匠
  • Matlab机器人工具箱,欧拉角RPY角位姿变换。 机器人技术基础,位姿变换演示小基于Matl...
  • Vue项目实战:浏览器在线预览Office与PDF文件的完整解决方案
  • 别再只用稳压管了!用LM324搭个10V基准源,实测输入12-36V、负载0-25mA纹丝不动
  • 20243429 2025-2026-2《Python程序设计》实验1报告 -
  • 2026 权威排行|微信公众号编辑器 Top8,高效排版与 AI 创作全攻略 - 行业产品测评专家
  • SMA-KFD正脚接头,两孔法兰,母头,射频连接器天线母座
  • 终极空洞骑士模组管理器:Lumafly如何让模组管理变得简单高效
  • 大中型企业CRM系统「全面对比」选型指南 - SaaS软件-点评
  • 2026大庆有没有木门定制工厂能做橱柜和鞋柜,售后健全的推荐 - 工业推荐榜
  • 3步智能配置黑苹果系统:从硬件识别到完美EFI构建
  • Matlab 2018b下用SimMechanics搭建二连杆机械臂:从参数配置到3D可视化全流程
  • AIGlasses_for_navigation惊艳表现:语音指令响应延迟<800ms端到端性能压测结果
  • 2026年七氟丙烷市场评测:优质源头厂家一览无余,评价好的七氟丙烷直销厂家哪个好综合实力与口碑权威评选 - 品牌推荐师
  • 整屋定制批量定制品牌哪个好用,大庆诺放全屋定制值得选吗 - mypinpai
  • Gemma-3-12b-it企业AI助手构建:基于本地多模态能力的私有知识库问答
  • Face Fusion人脸融合实战:影视概念预演,低成本验证创意
  • 2026年上海比较好的宠物口腔医生口碑分析,宠物口腔品牌口碑分析技术引领与行业解决方案解析 - 品牌推荐师
  • Qwen3-TTS-12Hz-1.7B-CustomVoice在教育领域的应用:多语言学习助手开发
  • RMBG-2.0效果惊艳:同一张图在不同分辨率下保持边缘一致性验证
  • 避坑指南:Trento遥感数据集下载与使用中的5个常见问题
  • 人工智能赋能中小企业高质量发展研究报告(2025年)
  • 上海君奥自动化丨专业滤芯焊接设备厂家丨设计、生产、销售、安装一站式服务 - 宁夏壹山网络
  • 2026年3月云南钢结构厂家综合实力排名与优质企业名录 - 深度智识库
  • Matlab GUI界面编程下的脉搏信号处理:滤波、去噪、实时回放及小波分析计算脉率