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

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

最近遇到了一个棘手的问题,我们的设备连接到了另一个设备 B 后,在运行一段时间后出现了声音异常的情况。值得一提的是,那个设备已经长时间使用了英伟达芯片,通常被认为是相当可靠和稳定的。这使得我们需要仔细分析我们自己设备的情况。

在面对这种情况时,我不禁怀疑起自己的设备是否存在问题。这种怀疑可能源自于人们普遍对自身技术能力的不自信。

image-20240408212109755
image-20240408212109755

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

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

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

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

PS:

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

——这次的情况差不多

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

image-20240408212120767
image-20240408212120767

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

image-20240408212125329
image-20240408212125329

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

image-20240408212128491
image-20240408212128491

——然后,就是复现了

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

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

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

image-20240408212132362
image-20240408212132362

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

——

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

image-20240408212136068
image-20240408212136068

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

image-20240408212140025
image-20240408212140025

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

image-20240408212144389
image-20240408212144389

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

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

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

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

作者: 良许

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

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

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

微信扫一扫关注我们

关注微博
返回顶部