在测试UAC时,发现PC下发的数据跟抓包工具抓到的数据不一致

invictus maneo 2022-07-08 19:22:48 编辑

191814726923
这是我用ptyhon构造的一段PCM数据,然后用播音软件进行播放。
191930527421
设备端支持的48K, 16Bit, 2ch. 所以播放的格式也保持一致。

使用usb hound进行抓包。
192201735424

192213937955

发现数据跟预期对不上, 并在开始和结束的时候有一段静音数据。

USB中文网 2022-07-08 19:36:34 编辑

能说一下你的工作原理吗?我没看懂。数据流向是什么?
第二,静音有可能是由于打开关闭的实时性问题,会使用默认的静音数据进行填充。毕竟它是为了数据的实时性。

invictus maneo 2022-07-08 20:12:54 编辑

我的目的是想验证数据的一致性, 即验证数据端接收到的数据跟主机发出的数据一致。
我的测试方法是自己生成一段数据,然后通过USB发到设备端,通过USB Hound来捕获数据。

数据流向是HOST->Device。

USB中文网 2022-07-08 20:17:07 编辑

BUSHOUND抓到的就是真实设备发送的数据。所以你要看为什么设备发送静音的数据。是由于编码器未工作所以用默认的静音数据传输还是你的数据发的太慢了。

invictus maneo 2022-07-08 20:38:41 编辑

静音数据还好, 关键是音频数据对不上。

cow 2022-10-31 21:57:33 编辑

会不会是UAC用同步传输,它只保证数据的实时性,不保证数据的正确性,所以才会产生这样的现象?

USB中文网 2022-11-01 10:28:07 编辑

UAC数据会保证数据的实时性,但不保证数据的传输到目的的。但是从DATA令牌包中可以看出,其有CRC,所以应该会保证数据的正确性的。如果数据不正确,应该会被丢弃。
这如UDP一样,不保证对方收到,但是收到一定是正确的数据。