This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5708:UAC2 小工具音频 — Windows 主机未在端点中读取(从设备到主机的播放失败)

Guru**** 2941480 points

Other Parts Discussed in Thread: AM5708

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1650146/am5708-uac2-gadget-audio---windows-host-does-not-read-in-endpoint-playback-from-device-to-host-fails

部件号: 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

f_uac2.c 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shi、

    首先、我想在此处设置正确的预期:该 SDK 现在已经很旧、不再在分配给该器件 Processor SDK 的支持窗口内。

    您是否能够在最新的 SDK 上重现?

    在时间允许的情况下、我可以尝试在 SDK 6.3 上重现问题、但这需要一些时间。

    官方立场是要求您进入最新版本。

    您的电路板是定制电路板吗? 您是否在 TI 硬件上复制了内容? 是否需要任何特殊 (HW) 电缆?

    -Josue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否确认 UAC2 小工具功能在 AM57x 的当前 SDK 6.3 内核中正常工作? 您是否已经对其进行了测试和验证?

    如果我们要将我们的产品从基于 4.9 的 SDK 移植到 SDK 6.3、您估计需要做多少工作? 任何棒球场数字—周、月?是否有任何迁移指南、移植文档或参考资料可用于从旧版 Processor SDK (4.9) 迁移到 AM57xx 平台的当前 6.3 版本?

    我们使用 Tronlong(μ 创龙)AM5708 定制电路板、但内核 SoC 和 USB 子系统遵循 TI 参考设计。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:
    感谢您的查询。 ** Josue Zamitiz**目前正在休假、将在** 2026年06月12日**上提供。
    您的问题将在他们返回后得到解决。 感谢您的耐心和理解。
    此致、
    TI E2E 支持团队
    ——
    *这是一个自动通知。*

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Shi、

    SDK 6.3 并不是最新版本。 目前位于 SDK 11.1 上。 移植所需的工作量取决于工程师的经验以及应用程序的复杂程度、因此您最好做出这样的判断。

    您可以使用的唯一资料是 SDK 指南以及在线提供的开源代码 (https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/)。  

    遗憾的是、由于您的设备在近 10 年前发布了 Linux 版本、因此我们无法提供支持。  

    此致、

    Josue