PD充电协商异常问题调试
问题描述
调试环境
RK3568
Linux 系统
Kernel-5.10
PD 芯片用 FUSB302
现象
RK3568 板子的 Type-C 口用 C_to_C 线连接 MacBook 笔记本电脑,出现连不上,充电电流一直跳变。
异常日志
异常日志分析
PD 协商完成(SNK_READY)之后收到几个未解析的指令,之后进入 SOFT_RESET 导致端口复位,之后一直循环这个过程。
PD 协商数据
PD 协商数据分析
异常的时候,MacBook 会获取板子的充电能力(Get Sink Cap),板子能正常回复(Sink Cap),之后 MacBook 连续发了 Get Source Cap Extended 指令,板子没有回复这个指令,之后 MacBook 发出了复位指令(Soft Reset),在连续发复位指令之后就硬复位(Hard Reset)断开了。
问题分析
- RK3568 用 kernel5.10,PD 协商是用 tcpm 框架实现的,确认 SDK 的 tcpm 框架没有实现 Get Source Cap E