news 2026/4/24 2:05:27

MTK Meta工具进不去

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MTK Meta工具进不去

背景:

贴片试产出现Meta工具连不上

排查问题:

通过查看上一个版本能连上,查看git log 查看一个修改导致连接失败

meta 工具失败原因是usb port超时报错,meta工具连接主要是通过不断获取usb的类型去匹配

从这我们就可以得出是否usb的类型读取异常

查看log:

发现异常失败进入meta工具的log只打印了一次中断插入

同是打印成功与失败的usb类型发现失败的usb类型获取失败

POWER_SUPPLY_PROP_USB_TYPE val->intval = 0

正常的是

POWER_SUPPLY_PROP_USB_TYPE val->intval = 1

并且失败的是不会跑usb_in_work

static irqreturn_t sgm41513d_irq_handler_thread(int irq, void *private) { struct sgm41513d_device *sgm = private; struct sgm41513d_state state; bool prev_pg; int ret; //lock wakelock pr_err("%s entry\n",__func__); prev_pg = sgm->state.online; ret = sgm41513d_get_charger_online(sgm, &state); mutex_lock(&sgm->lock); sgm->state = state; mutex_unlock(&sgm->lock); if(!prev_pg && state.online){ type_C_in = 1; CPS2011_encomp_en(1); queue_delayed_work(sgm->usb_in_wq, &sgm->usb_in_work, 100); //power_supply_changed(sgm->charger); }else if(prev_pg && !state.online) { pr_err("%s\n",__func__); //power_supply_changed(sgm->charger); } return IRQ_HANDLED; }

发现进入的这个!prev_pg && state.online条件是这个

时间线:
────────────────────────────────────────────────────────────
get_property: IRQ handler:
────────────────────────────────────────────────────────────
mutex_lock(&sgm->lock);
ret = sgm41513d_get_state(); // I2C读取,online=1
sgm->state = state; // sgm->state.online = 1
mutex_unlock(&sgm->lock);
prev_pg = sgm->state.online; // 读到1!
sgm41513d_get_charger_online(); // online=1
mutex_lock(&sgm->lock);
sgm->state = state;
mutex_unlock(&sgm->lock);

if(!prev_pg && state.online)
// if(!1 && 1) = false
// queue_delayed_work() 不执行!
────────────────────────────────────────────────────────────

这里的meta在init前一直读取了这个get_state导致这里的prev_pg的状态检测被打破了

最后在init前不要读取做一个标志位就解决了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 1:56:21

PCIe Gen4/Gen5高速链路不稳?手把手教你排查均衡协商失败问题

PCIe Gen4/Gen5高速链路不稳?手把手教你排查均衡协商失败问题 当PCIe Gen4/Gen5设备出现链路训练失败、速率协商异常或数据传输不稳定时,均衡(EQ)协商问题往往是罪魁祸首。本文将深入剖析PCIe均衡技术在实际工程中的故障排查方法,提供从现象分…

作者头像 李华
网站建设 2026/4/24 1:55:46

无相无界开发技术・哲学总纲·阿雪心学·无相无界(5)—东方仙盟

阿雪心学・混沌开发体系完整版规范大纲第一章 传统通用定制开发固有短板概述1.1 多层级冗余审批机制,跨部门沟通内耗严重,决策评判标准优先贴合企业固有规则,而非客户真实诉求1.2 全用户共用统一全局底层源码,任意代码修改、功能迭…

作者头像 李华
网站建设 2026/4/24 1:52:18

从BJT到IGBT:一张图看懂五大功率器件怎么选(附应用场景对比)

功率器件选型实战指南:BJT到IGBT的工程决策逻辑 翻开任何一本电力电子教科书,BJT、SCR、JFET、MOSFET和IGBT这五大功率器件总是占据着核心章节。但真正让工程师们头疼的,往往不是理解它们的原理,而是在具体项目中做出精准的选择。…

作者头像 李华
网站建设 2026/4/24 1:52:17

ContextMenuManager终极指南:如何快速清理和个性化Windows右键菜单

ContextMenuManager终极指南:如何快速清理和个性化Windows右键菜单 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否厌倦了Windows右键菜单中那…

作者头像 李华