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

利用USB分析仪排查HID故障记录(2)——丢包问题

一、问题:丢包

依旧是上次在文章中提到的HID高速设备,在解决了设备描述符长度错误的问题后,我进行了收发测试,发现收到的数据丢失:根据通信协议,主机每发送一包特定指令,设备应回复连续8包数据。然而,上位机软件记录显示,实际接收到的数据包数量低于理论值(发送指令数×8),存在丢包现象。

二、系统化分层排查策略

由于HID设备的数据收发涉及硬件层、驱动层及软件层,很难直接定位到问题源头。

为此,我设计了一套系统化的排查方案,利用USB分析仪,从底层到高层逐步排查。

三、从硬件到软件的逐级定位

3.1 连接分析仪,捕捉收发数据

先将USB分析仪连接主机,打开分析仪的配套软件,选择“只显示新插入设备”,然后,将设备接入分析仪。

分析仪传输列表清晰显示,对于主机的每一次OUT指令事务,设备均严格遵循协议,在高速总线上以125㎲的稳定间隔连续回复8个IN数据包。且所有事务均成功完成,无NAK/STALL错误,无CRC校验失败,经过比对,数据也是完整的。

使用右键菜单中的“设置为时间戳原点”或者“添加标记”即可查看任意数据包之前的时间间隔,无需手动计算。

3.2 替换驱动后检查数据完整性

替换为CH372驱动后,再次使用分析仪捕捉数据,数据依旧完整,而应用层数据显示不完整。

此时,也可以使用USB端点调试工具(下载:USBEndpDebug)来调试该设备,USBEndpDebug使用CH37X应用接口库,适用于CH37X设备进行单端点调试、多端点调试,批量收发,文件比对。

由此可以排除驱动问题,问题只可能出现在软件的数据接收逻辑中。

3.3 应用软件排查

基于前两步的排除法,问题已经锁定在了应用软件的数据接收逻辑。由于软件层涉及到数据的显示,可能会影响结果,因此我创建了一个最小化测试Demo,仅保留核心的发送指令与计数接收包功能。测试再现了丢包。

经过代码审查,我发现软件中异步读取时存在逻辑缺陷:在调用WaitForMultipleObjects等待操作完成后,随即调用GetOverlappedResult函数时,其最后一个参数bWait被错误地设为FALSE。这会导致函数立即返回,当I/O操作仍在进行时(状态为ERROR_IO_INCOMPLETE),程序误判为失败并丢弃了该数据包,从而导致了丢包问题。

四、修正问题

针对此问题,我调整了GetOverlappedResult函数的参数设置,确保在I/O操作完全完成后再进行结果判断,有效解决了丢包难题。

另:安利一下文章中提到的HID调试的上位机软件(下载:HIDAssist),该软件支持复合设备调试,支持键鼠监听,支持中断/特征/控制传输,支持单条/批量发送、循环发送、文件发送,支持接收区自定义高亮关键字,搜索统计关键字。

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

相关文章:

  • 反向传播的计算顺序
  • Hume: Introducing System-2 Thinking in Visual-Language-Action Model
  • OpenClaw爆火:AI执行革命背后的机遇与挑战
  • AI论文写作工具怎么选?2026年9款AI写论文工具亲测,职称论文高效完成!
  • 免费AI编辑器哪家强?AI微信编辑器免费的推荐深度解析告诉你。 - 鹅鹅鹅ee
  • 2026年企业选型必看:提升机厂家适配指南与四大核心能力实测分析 - 品牌推荐
  • 基于微信的居家养老小程序[小程序]-计算机毕业设计源码+LW文档
  • IO-Link 工业通信组合方案:SG-PN-IOL-8A-001 主站网关 + SG-IOL 系列集线器
  • 琻捷电子冲刺港交所:业绩增长背后的亏损隐忧与IPO挑战
  • RabbitMq高级篇
  • 计算机网络(七)-- 运输层 | TCP 流量控制 拥塞控制
  • 别拿粉尘不当威胁:方盾半面罩给你的肺多一层保护
  • 砂边倒角机哪家好?2026口碑厂商深度评测,底漆打磨机/双面抛光机/侧面打磨机/全自动洗板机,砂边倒角机制造厂家排行榜 - 品牌推荐师
  • Spring Boot 中关于 Bean 加载、实例化、初始化全生命周期的扩展点
  • ROS1+VINS-fusion+RTAB-Map 程序部署记录
  • 【干货】字节大佬:教培行业销售运营全景作战地图
  • 2026年苏州口碑好的家教老师联系方式,全托补习班/一对一家教试听课/师范家教/一对一/全托一对一,家教机构联系方式 - 品牌推荐师
  • 电子商务行业内哪个环节容易遇到攻击
  • UA-Glo® 荧光法细胞活力检测试剂盒技术原理与应用
  • 五:MySQL 索引使用优化指南:何时建、怎么建、怎么用
  • 虚幻引擎资源查看工具全面解析:从新手入门到高级应用实战指南
  • 2026年知名的ALD技术工厂推荐:ALD工艺开发/ALD原子层沉积高口碑品牌推荐 - 行业平台推荐
  • 联发科牵手星链:紧急警报直连太空
  • 2026年分期乐天虹提货券回收价格表 - 京回收小程序
  • 企业AI大脑是什么?企业落地前先回答的 5 个关键问题
  • AI写专著的秘密武器,实用工具大集合,开启高效写作模式
  • 揭秘AI专著撰写工具!功能对比分析,选对工具事半功倍
  • 代码反混淆实战指南:如何用AST技术快速还原JavaScript代码
  • 2026年热门的二轴程控平面磨床公司推荐:精密台湾型高精度平面磨床品牌厂家哪家靠谱 - 行业平台推荐
  • 掌握AI专著写作工具,快速生成创新性专著,提升学术影响力