PD握手失败是Type-C无法充电的根本原因,需用HWiNFO64查看Current PDO Index、Selected Voltage和Max Current三项参数是否正常;若为空则PD未启动,需检查物理连接或Windows相关服务(如USB Type-C Port Policy Controller)是否启用。

当电脑通过Type-C接口连接显示器或扩展坞后无法充电,表面是“充不了电”,但真正卡住的往往是PD协议握手失败——电压档位不匹配、电流能力未协商、e-Marker芯片无响应、甚至CC信道物理断开。必须跳过“换根线试试”的模糊排查,直接捕获协议层真实交互数据。
用HWiNFO64实时读取PD协商参数
这一步能立刻确认系统是否收到Source_Capabilities广播包,避免在驱动或服务层面空转。
下载安装HWiNFO64(v7.80或更新),运行时勾选“Sensors only”→点击“Run”。
在传感器窗口中按Ctrl+F搜索“USB PD”,展开“USB PD Controller”节点。
重点观察三项:【Current PDO Index】(当前生效的供电档位序号)、【Selected Voltage】(实际协商电压,应为9V/15V/20V而非固定5V)、【Max Current】(协商最大电流,低于3A即无法触发笔记本快充)。
若三项全为空或显示“N/A”,说明PD握手根本未启动——问题不在协议细节,而在物理层或服务层。
抓取PD通信原始数据包(需USB-C Analyzer)
当HWiNFO64显示PDO但设备仍不充电,必须验证充电器是否真的发出了有效Source_Capabilities,以及笔记本是否返回了Accept或Request响应。
方法一:使用Total Phase Beagle USB 5000或Ellisys USB Explorer 350硬件分析仪,将Type-C线缆从中断开,接入Analyzer的“Host”与“Device”端口,选择PD协议解码模式。
方法二:若无专业设备,可用树莓派+USB-C breakout板+Python脚本(基于libusb)轮询CC1/CC2电压,判断是否进入Attached.SRC状态——但此法无法捕获完整PD包,仅作辅助验证。
关键看解码结果中是否有“GoodCRC”字段连续出现,且紧随其后是“Request”或“BIST”帧;若只有“Hard Reset”反复重试,说明E-Marker芯片未响应或VBUS未建立。
检查Windows服务是否劫持PD控制权
部分OEM厂商(如Lenovo Yoga系列、ASUS ZenBook OLED型号)将PD策略控制器封装进专用服务,一旦禁用,HWiNFO64能读到PDO,但VBUS始终不使能。
第一步:Win + R → 输入services.msc → 回车。
第二步:在服务列表中查找以下任一名称:
• USB Type-C Port Policy Controller
• Thread Ordering Server
• Intel USB PD Manager
第三步:对查到的服务执行操作:
① 右键→属性→启动类型设为“自动”
② 若状态为“已停止”,点击“启动”按钮
【注意:启动前务必拔掉Type-C线缆,启动后再插入】
第四步:回到HWiNFO64刷新传感器,观察Selected Voltage是否从5V跳变为协商值。

















