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.

[参考译文] Linux/AM3352:USB 小工具驱动程序问题

Guru**** 2589280 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/589290/linux-am3352-usb-gadget-driver-problem

器件型号:AM3352

工具/软件:Linux

尊敬的 TI

我正在 AM3352客户电路板中对 USB 小工具功能驱动程序进行编程  

我使用 SDK6.0

当我使用"USB_EP_queue" API 将数据发送到 PC (长度511或512)时
USB 监控器软件会获得不同的结果

长度511正常、512是 NG

问题是什么?

非常感谢~~

长度为511

长度为512

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、SDK 6.0已停产、TI 不再支持。 请转至最新的 SDK: software-dl.ti.com/.../index_FDS.html
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否已检查此修补程序是否就位?
    marc.info/
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dwarakesh R

    谢谢!

    此补丁是否适用于 MUSB 器件模式?

    我使用 SDK6、内核为3.2.0

    我找不到"/drivers/usb/musb/musb_cppi41.c 文件

    内核3.2.0仅具有 cppi41.c cppi41_dma.c

    我可以成功地以511字节发送、但无法发送512字节

    ===================================================================================================

    Gitweb:     http://git.kernel.org/linus/;a=commit;h=9267edaf8cd7b0ef2cd7785c677fe792c077b6ab
    提交: 9267edaf8cd7b0ef2cd7785c677fe792c077b6ab
    父级: 69e273c0b0a3c337a521d083374c918dc52c666f
    参考名称:REFS/标题/主
    作者: 刘斌 
    授权日期:星期二8月12日14:18:43 2014 -0500
    委员会:Felipe Balbi 
    委员会日期:2014年9月3日09:15:56日-0500
    
    USB:MUSB:cppi41:修复了不发送零长度数据包的问题
    
    CPPI TX 不发送用于 TX 传输的 ZLP
    传输大小是 EP 数据包大小的倍数、
    -和 URB_zero_packet 在话术-> transfer_flags 中设置。
    
    在 CPPI TX 完成后、FIX 使用 PIO 模式传输 ZLP
    完成。
    
    在 MUSB 主机模式下使用以下 usbtest 写入案例进行了验证。
    
    # testusb -t1 -C1. 

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

    正如 Biser 所建议的、最好获取最新的 SDK。 因为它已经有修复程序和修补程序。 我建议使用上述补丁、因为它似乎是在发送 EP 数据包大小(512)时提供的。 发送 ZLP 后、它应发送(如果它比获取和运行最新代码更快地修复了 yoyr 问题、也是如此)。 但您可能还会遇到运行较旧 SDK 的其他问题)。 是否可以尝试将其修补到 cpp41.c?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dwarakesh R、

    感谢您的帮助!!

    我找到了 SDK6内核3.2.0的以下补丁

    我修补它时仍然有相同的问题

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

    是否可以通过添加日志来确保在内核中发送 ZLP?

    PC 有什么作用? 这是回声吗? 如果是、您需要应用6.2。 RX 中的 ZLP。
    在使用 MUSB 时、我使用 ping 作为测试来发送512字节。 TX 从 DM3x 系列发送512个字节、同时接收相同大小的数据包。 因此、我也必须应用 ZLP RX 补丁。