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.

[参考译文] AM6442:USB 电缆断开时 Linux 控制台锁定

Guru**** 2008950 points
Other Parts Discussed in Thread: TMDS64EVM, AM6442
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1339889/am6442-linux-console-locks-when-usb-cable-is-disconnected

器件型号:AM6442
主题中讨论的其他器件:TMDS64EVM

您好!

我的客户报告 USB 有问题。
软件:Linux SDK 8.6
硬件:AM64x SR2 EVM

测试程序。
步骤1:在 Linux 启动后、将 EVM 与主机 PC 连接。
步骤2:在 EVM 上的 Linux 控制台中执行以下命令。
# chmod 755 Set_Composite_USBD_new_mod.sh
#./ Set_Composite_USBD_new_mod.sh
(Set_Compose_USBD_new_mod.sh 如下所示)
e2e.ti.com/.../Set_5F00_Composite_5F00_USBD_5F00_new_5F00_mod.txt
现在、EVM 被识别为打印机。
步骤3: 在 EVM 上的 Linux 控制台中执行以下命令。
#> while true; do cat /boot/Image.gz >/dev/g_printer0 ; sleep 1; done
步骤4:断开 USB 电缆。 然后控制台被锁定。

已连接控制台日志。
e2e.ti.com/.../am64xevmsdk0806usbcableoutcalltrace.txt

您是否能够尝试在您身边重现并提供解决方案?

谢谢。此致、
田代浩一郎

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

    尊敬的 Tashiro-San:

    我将在 EVM 上试用此功能、下周同一时间再见。

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

    您好、Bin、

    您是否有机会在您身边尝试一下?

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Tashiro-San:

    抱歉、我本周正在处理另一个客户升级问题、下周早些时候很可能会再次出现此问题。

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

    尊敬的 Tashiro-San:

    我能够在 AM64x GPEVM 上重现此问题。 我将对其进行调试、并让您一直发布。

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

    bin:较新的 TMDS64EVM 是否也有此 USB 电缆断开的问题?

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

    Jim、

    我使用电路板 PROC101C、我认为它是 TMDS64EVM 的最新版本。

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

    您好、Bin、

    您能否更新您的调查状态?

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Tashiro-San:

    我还在做这件事。 目前还没有太多进展可供分享。

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

    您好、Bin、

    是否有此项目的任何更新?

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Tashiro-San:

    很抱歉我的回复延迟了。

    问题在于、拔下 USB 电缆后、内核驱动程序 cdns3/gadget.c 线路2461-2466变为忙环路、导致 CPU 无法处理其他任务、例如串行控制台。

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/usb/cdns3/gadget.c?h=08.06.00.007#n2461

    我正在努力寻找解决方法。

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

    二进制:还请检查最近发布的 AM64X Linux SDK v9.2 (与 CCS 12.7兼容)是否也发生这种 USB 中断-如果是、Nick 可能需要在 AM64X Academy 更新中提到一些内容。

    谢谢

    吉姆·穆罗卡  

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

    您好、Jim、

    您能否提供 USB 中断的上下文? 我不确定这是什么以及它与 Tashiro-San 的 USB 锁定问题有何关系。

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

    任何人应断开任何 USB 3.1电缆以进行维护之前、我的应用应已将 AM6442 (将在 SOM 上)断电。 该系统可以运行24小时循环。 因为会有一个 FMEA 在我的系统应用程序上完成之后、我们 需要对这种类似的 USB 中断可能发生的情况进行说明(如果是、则在程序上记录所需的任何补救措施)。 如果有任何 SDK 补救措施、那就没问题(我怀疑这种补救措施可能取决于所应用的 USB 规范的版本)。

    谢谢。

    吉姆·穆罗卡

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

    您好、Jim、

    我仍然无法理解您的问题是否与此 e2e 主题相同。 Tashiro-San 的客户问题专门与在 AM64x USB 上以设备模式运行的 USB g_printer 驱动程序有关。 任何其他内核 USB 小工具驱动程序都不会出现此问题。

    如果需要帮助、我建议您创建一个新的 e2e 主题。 在单个线程上同时支持您和 Tashiro-San 会使沟通难以理解。 谢谢。

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

    尊敬的 Tashiro-San:

    以下内核补丁应防止内核在移除 USB 电缆时挂起。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c
    index e3a8b6c71aa1..6ecaec399064 100644
    --- a/drivers/usb/cdns3/gadget.c
    +++ b/drivers/usb/cdns3/gadget.c
    @@ -2461,6 +2461,10 @@ static int cdns3_gadget_ep_disable(struct usb_ep *ep)
    while (!list_empty(&priv_ep->pending_req_list)) {
    request = cdns3_next_request(&priv_ep->pending_req_list);
    + priv_ep->pending_req_list.next = request->list.next;
    + request->list.next->prev = &priv_ep->pending_req_list;
    + INIT_LIST_HEAD(&request->list);
    +
    cdns3_gadget_giveback(priv_ep, to_cdns3_request(request),
    -ESHUTDOWN);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    尊敬的 Tashiro-San:

    前面的补丁只是为了解决 Linux 系统锁定问题。 下面附加的内核补丁是 USB 锁定问题的正确修复。 请要求客户忽略先前的补丁并使用 SDK8.6内核测试此补丁、以查看 USB 功能是否存在任何问题。

    e2e.ti.com/.../cdns3_2D00_gadget_2D00_fix_2D00_broken_2D00_linked_2D00_list_2D00_sdk86_2D00_0510.diff

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

    尊敬的 Tashiro-San:


    客户尝试了补丁、但发生以下错误。

    这是 USB 打印机小工具驱动程序打印的一次性警告、不应影响任何功能。 可以忽略该消息。

    您是否可以要求客户检查除此警告消息之外是否有任何 USB 问题?

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

    尊敬的 Tashiro-San:

    客户是否对测试结果有任何更新?

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

    您好、Bin、

    除了客户侧的此警告外、没有 USB 功能问题。
    现在可以将其关闭。 如果他们看到功能问题、他们会告诉我们。

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Tashiro-San:

    感谢您的更新。 我将关闭该主题。