良许Linux教程网 干货合集 没有usb抓包器,我可能就要通宵了

没有usb抓包器,我可能就要通宵了

最近我们遇到了一个棘手的问题:当我们的设备连接到另一个设备B后,运行一段时间后出现了声音异常的情况。而且,这个设备B已经长时间运行,采用了英伟达芯片,应该是相当可靠和稳定的。因此,我们需要对我们的设备进行分析,以了解情况。

面对这种情况,我不禁怀疑起自己的能力,也许是我们设备的问题。

image-20240330221311158
image-20240330221311158

我们的设备A通过usb把数据传给B设备,然后B设备经过各种处理后再把设备传出去。

然后测试一段时间后发现,B设备传出去的数据有异常。

我先是在A设备上dump了我们的数据,发现我们发送出去的数据是正常的。

那就有可能是在B处理的时候出现问题,或者是在usb传输的时候出问题了。

PS:

我之前曾遇到一个问题,我们的设备通过USB连接一个MTK的芯片,应用层dump出来的数据是正确的,然后对端收到的数据是异常的,之后我们就用了USB抓包工具抓了传输的数据包,发现传输的USB数据丢失,之后再反过来看我们的内核代码,发现内核usb部分的平台驱动有bug。

——这次的情况差不多

我们使用了下面这个USB抓包工具,这个比较贵哈,但是用起来是真的超级爽。

image-20240330221314321
image-20240330221314321

软件使用,USB 480 软件,刚开始可能有点不习惯,用起来之后,发现跟傻瓜式软件一样。

image-20240330221317621
image-20240330221317621

它的接发也非常友好,比如A和B通信,它可以在中间加一个监听的部分,同是又不影响A和B之间通信。

image-20240330221320890
image-20240330221320890

——然后,就是复现了

第一天到现场的时候,因为对方给的USB线很长,十几米吧,一接上调试器,整个设备都用不了,也没办法复现问题,然后对方的工程师就不断在配置参数,配置参数后让我们继续复测,弄到了凌晨2点,还是没有定位到根本问题原因。

第二天继续过去,然后用了一根比较短的USB线,能正常抓包,复现了几个小时,终于是抓到了异常情况到USB数据包。

解包分析后发现我们传输过去的UAC数据是正常的

image-20240330221327055
image-20240330221327055

那,问题就比较明显了,需要B设备的人继续去查

——

关于dump数据音频数据,需要先设置软件,只显示data选项

image-20240330221331148
image-20240330221331148

然后,在File里面选择到处,之后就是选择bin文件保存就好了

image-20240330221335108
image-20240330221335108

之后就是使用Audacity导入音频就可以了

image-20240330221340308
image-20240330221340308

磨刀不误砍柴工,调试工具对于排查问题非常有帮助,同样,日志对于软件工程师的帮助也是非常大。

不过这个USB抓包工具是有点小贵,大家可以推荐下自己用的工具。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部