Other Parts Discussed in Thread: AM5708
部件号: AM5708
UAC2 USB Audio Class 2.0 Gadget:Windows 主机不发送端点中等时的令牌—从 AM57xx 设备到 Windows 主机的播放失败、并显示 EIO
平台的更多知识
- SoC: TI AM57xx
-内核:Linux 4.9.65 (TI SDK)/已使用高达 4.9.337 的补丁进行测试
- USB 控制器: dwc3 (drivers/usb/dwc3/)
-小工具驱动程序: f_uac2.c(USB 音频类 2.0 功能)
-主机操作系统: Windows 10/11(UAC2 类驱动程序)
说明
当使用 g_audio(或通过 configfs 将 f_uac2 配置为 USB 音频类 2.0 小工具器件时、则使用
使用时、设备在 Windows 上成功枚举、没有错误(设备管理器中没有黄色感叹号)
等时端点的 usb_endpoint_sync_adaptive。 但是、从器件到 Windows 的音频播放
主机(在端点方向)不起作用。
在设备上运行 avplay -D plughw:2,0 /path/to/48.wav 会导致:
aplay:pcm_write:2004:写入错误:输入/输出错误
拓扑
ALSA_Playback -> IT_2 -> OT_4 -> USB-IN(设备->主机,等时输入)
usb-out -> it_1 -> OT_3 -> ALSA_Capture(主机->设备,等时输出)
输出端点(主机→器件,捕获)正常工作—ISO_COMPLETE 使用实际数据(例如,
实际值=192)。 IN 端点(设备→主机,播放)永远不会获得 ISO_COMPLETE 回调—只是 Windows 主机
不发送令牌以从器件的端点等时读取。
复制步骤
AM57xx 器件上的#:
modprobe g_audio p_srate=48000 c_srate=48000 p_chmask=3 c_chmask=3
#将 USB 连接到 Windows 主机 # Windows 设备管理器:设备显示为“Linux USB 音频小工具“(无错误)
设备上的#:
aplay -D plughw:2,0 /path/to/48.wav