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.

[参考译文] AM3358:在 USB_ether 引导 SPL 之后挂起

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1630983/am3358-hung-after-usb_ether-boot-spl

部件号: AM3358

你(们)好  

我们使用 AM3358ZCZ PCB 设计了一个定制电路板、我们面临使用 USB_ether 加载 SPL uboot 和 uboot 的问题。

以下是日志:在“、eth1:usb_ethet“ USB 检测在 Linux 中失败后、不再检测为 RNDIS、枚举失败并且系统挂起。 仅在 2025.01 uboot 中会发生这种情况。 在 Sametime、我们将 uboot 与 2020 uboot 配合使用、所有这些都运行良好。

U-Boot SPL 2025.01-00006-g07019a6c6097-脏污 (Mar 27 2026 - 19:14:02 +0530)
正在尝试从 USB eth 引导
文件:drivers/net/ti/cpsw.c、函数:cpsw_eth_probe、行:1090
eth0:eth_cpsw
我是对的
使用 musb-hdrc、在 ep1in 状态 ep2in 下输出 ep1out
MAC de:ad:be:ef:00:01
主机 MAC de:ad:be:ef:00:00
RNDIS 准备就绪
、eth1:usb_ether

 

有关如何使用 2025 uboot 解决此问题的任何线索。  这可以在 beagleboneblack 和 AM335x-EVM 中轻松实现再量产。 我们可以使用 BeagleBone Black 重现问题。  仅存在 2025.01 Uboot 问题。 提供。

Rgds

Chandra

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

    还有 Linux 主机端的一些信息、

    [42820.371155] USB 1-2:使用 xhci_hcd 的全新全速 USB 设备 53
    [42820.498676] USB 1-2:未以最高速度运行;连接到高速集线器
    [42820.499889] USB 1-2:找到新的 USB 设备、idVendor=0451、idProduct=6141、bcdDevice= 0.00
    [42820.499908] USB 1-2:新的 USB 器件字符串:MFR_33、Product=37、SerialNumber=0
    [42820.499917] USB 1-2:产品:AM335x USB
    [42820.499924] USB 1-2:制造商:Texas Instruments
    [42820.547410] RNDIS_HOST 1-2:1.0 usb0:USB-0000:00:14.0-2 处的寄存器'RNDIS_HOST'、RNDIS 器件、9a:1f:85:1c:3D:0e
    [42820.607226] RNDIS_HOST 1-2:1.0 enx9a1f851c3d0e:从 usb0 重命名
    [42821.736569]审计:type=1107 审计 (1774626094.257:3784):pid=582 uid=103 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor=“拒绝 /org/freedesktop/NetworkManager “操作=“dbus_method_call" org.freedesktop.DBus.Properties"“ org.freedesktop.DBus.Properties"</s>“
                   exe /usr/bin/dbus-demon sauid=103 hostname=? 地址=? 终端=?'
    [42823.048132]审计: type=1107 审计 (1774626095.568:3785): pid=582 uid=103 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor=“denied" option="dbus_method_call"“ option="dbus_method_call" bus="system"“ bus="system" path="/org/freedesktop/NetworkManager“ path="/org/freedesktop/NetworkManager org.freedesktop.DBus.Properties"“ org.freedesktop.DBus.Properties"</s>“ ““
                   exe /usr/bin/dbus-demon sauid=103 hostname=? 地址=? 终端=?'
    [42825.317015] USB 1-2:USB 断开连接、器件编号 53
    [42825.317756] RNDIS_host 1-2:1.0 enx9a1f851c3d0e:取消注册'RNDIS_host' USB-0000:00:14.0-2、RNDIS 器件
    [42825.822221] USB 1-2:使用 xhci_hcd 的 54 号新高速 USB 设备
    [42826.328300]审计:type=1107 审计 (1774626098.847:3786):pid=582 uid=103 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor=“拒绝 /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties““
                   exe /usr/bin/dbus-demon sauid=103 hostname=? 地址=? 终端=?'
    [42830.989384] USB 1-2:设备描述符读取/64、错误–110
    [42834.621241]审计:type=1400 审计 (1774626107.140:3787):AppArmor=“denied" option="open"“ option="open" class="file"“ class="file" profile="SNAP.Firefox"“ profile="SNAP.Firefox" name="/proc/pressure/memory“ name="/proc/pressure/memory pid=5746“ pid=5746 comm="MemoryPoller"“ comm="MemoryPoller" requested_mask="r"“ requested_mask="r" denied_mask="r"“ denied_mask="r" fsuid=1000“ fsuid=1000 ouid=0“ ouid=0</s>“ “““
    [42846.856797] USB 1-2:设备描述符读取/64、错误–110
    [42847.072631] USB 1-2:使用 xhci_hcd 的新高速 USB 设备 55

     

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

    您好、

    我们使用 BeagleBone Repo 作为 uboot 做了什么、

    我们正在使用“移植,标签: cicd.kirkstone.202412041235,标签: 09.03.05, ti-u-boot-2023.04“这是最新 SDK 的一部分,在这种情况下,我们能够在“eth1: usb_ether“之后得到 USB tftp 工作无挂起问题。

    但我们还有另一个严重的问题,有一次我们可以做 tftp 后再做一次文件传输请求系统重置 ( U-Boot SPL 2023.04-00008-g7663495b-脏污 (3 月 30 日 2026 - 12:50:50 +0530) )。 已确认此功能与“ U-Boot 2020.01-00015-g1ce3d114b2-dirty“

    下面是日志、

    => setenv ethact usb_ether
    => setenv 自动加载号
    => setenv 服务器 192.168.2.1
    => setenv ipaddr 192.168.2.2
    => setenv gatewayip 192.168.2.1
    => setenv 网络掩码 255.255.255.0
    => setenv fdtfile am335x-rcu.dtb
    => setenv kfile zImage
    => setenv ramargs 'setenv bootargs console=${console}root=/dev/ram0 rw rootfstype=ext2 rootwait mem=512M'
    => setenv ramboot 'echo boot ramfs ..;setenv autoload no;tftp ${loadaddr}${kfile};tftp ${fdtaddr}${fdtfile};tftp 0x81000000 ramdisk_br.gz; 运行 ramargs;bootz ${loadaddr}0x81000000 ${fdtaddr}'
    =>运行冲击
    正在启动 ramfs ..
    使用 musb-hdrc、在 ep1in 状态 ep2in 下输出 ep1out
    MAC de:ad:be:ef:00:01
    主机 MAC de:ad:be:ef:00:00
    RNDIS 准备就绪
    musb-hdrc:外设复位 IRQ 丢失!
    高速配置#2:2mA、以太网小工具、使用 RNDIS
    USB RNDIS 网络启动!
    USB 以太网设备供电
    来自服务器 192.168.2.1 的 TFTP;我们的 IP 地址为 192.168.2.2
    文件名“zImage"。“。
    加载地址:0x82000000
    正在加载:#######################################################  7.4 MIB
         3 MiB/s
    已完成
    传输的字节= 7766528(768200 十六进制)
    数据中止
    PC:[<9ff7dffe>]      lr:[<9ff77c0d>]
    重新定位 PC:[<8081bffe>]  LR:[<80815c0d>]
    SP:9df2cf30 IP:00000020   FP:00000003.
    R10:00000200 R9:9df41ea0   R8:9df2cfa0
    R7:9df2cfa0 R6:9ffdb424   R5:9ffcd520 R4:00000018
    r3:00000018 r2:9ffdb400   r1:00000001 r0:9df49300
    标志:Nzcv IRQ 关闭  模式 SVC_32 (T) 上的 FIQ
    代码:68c2 6881 f023 0303 (60ca) 4403  
    正在重置 CPU...

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

    您好、  

    您能否共享正在使用的 USB 设备树节点?

    此致、
    Vinu

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

    尊敬的 Vinu:

    以下是 usb0 dts 条目。

    &usb0{
      DR_MODE =“外设“;
      Interrupts-extended =<&INTC 18 &TPS 0>;
      中断名称=“MC",“,"VBUS"、"VBUS";“;</s>“
    };

    &USB1{
      DR_MODE =“host";“;
    };

    为我们提供的更快捷的途径是使用 AM335x-EVM 或 BeagleBone 最新的 ti-processor-sdk-linux-am335x-evm-09.03.05.02-Linux-x86-Install.bin 版本。

    • 开始任何文件 (zImage) tftp 传输
    • 再次执行相同的文件传输,你会看到问题,

    Rgds

    Chandra

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

    尊敬的 Chandra:

    我假设您正在使用 usb0。

    您可以尝试在节点中添加最大速度参数吗?

    &usb0 {
        dr_mode = "peripheral";
        maximum-speed = "full-speed";
        ...
    };
    

    此致、
    Vinu

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

    尊敬的 Vinu:

    只是尝试了同样的问题,因为它重新启动第二次尝试 tftp。

    @@–257、6 +257、7 @@
     
     &usb0{
        DR_MODE =“外设“;
    +    最大速度=“全速“;
        Interrupts-extended =<&INTC 18 &TPS 0>;
        中断名称=“MC",“,"VBUS"、"VBUS";“;</s>“
     };

    Rgds

    Chandra

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

    尊敬的 Chandra:

    [引述 userid=“525798" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1630983/am3358-hung-after-usb_ether-boot-spl/6288592

    但我们还有另一个严重的问题,有一次我们可以做 tftp 后再做一次文件传输请求系统重置 ( U-Boot SPL 2023.04-00008-g7663495b-脏污 (3 月 30 日 2026 - 12:50:50 +0530) )。 已确认此功能与“ U-Boot 2020.01-00015-g1ce3d114b2-dirty“

    [/报价]

    您的数据中止问题 U-boot 2023.04 似乎与 未对齐的存储器访问有关。
    请参阅: https://lists.denx.de/pipermail/u-boot/2017-July/297998.html 并尝试建议的修复。

    应使用检查最大速度参数 U-boot 2025 问题的答案。

    此致、
    Vinu

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

    尊敬的 Vinu:

    我想让我再重复一遍。

    如果您查看我的日志、

    • 我的第一个 zImage 成功传输、
    • 在下一个 DTB 之后或再次执行任何 tftp 之后、它表示数据中止和复位。

    传递函数  U-boot 2025、  至于我们的理解 dts 条目来发挥时 u-boot.image 加载,在 spl 阶段这无关紧要请确认如何更改 dts 中的条目 ,将修复后挂起, eth1: usb_ether ?  

    Rgds

    Chandra

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

    尊敬的 Chandra:

    [引述 userid=“525798" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1630983/am3358-hung-after-usb_ether-boot-spl/6289495

    传递函数  U-boot 2025、  至于我们的理解 dts 条目来发挥时 u-boot.image 加载,在 spl 阶段这无关紧要请确认如何更改 dts 中的条目 ,将修复后挂起, eth1: usb_ether ?  

    [/报价]

    在最新的 U-boot 版本上、SPL 能够读取 DT 并进行相应的配置。 您可以共享配置文件吗?

    我会在结束时尝试此操作、看看问题是否可以重现。
    请分享重现此问题的步骤。

    U-boot 2023 问题是另一个错误。 如果您希望继续,请创建另一个线程,其中包含所有必要的信息,以确保社区用户之间的可搜索性。

    此致、
    Vinu

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

    尊敬的 Vinu:

    附加了我的 def-config 文件、但 beagle bone 问题可以重现。

    e2e.ti.com/.../am335x_5F00_smarthud_5F00_defconfig.txt

    2025 uboot 问题的可重现步骤(您可以使用 BeagleBone 进行测试)、作为 RNDIS USB 引导模式挂起以进行 tftp 引导

    1. 从  git clone git:/git.denx.de/u-boot.git、 branch:v2025.01 克隆 u-boot
    2. 进行远端清洁
    3. 导出 arch=arm  
    4. 导出 cross_compile =/home/mve/TI_sdks/AM335x/Installed_SDK/external-toolchain-dir/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-
    5. 创建 AM335x_evm_defconfig
    6. 制造
    7. 确保 PC 配置为 TFTP 引导
    8. 在打开 Beagle Bone 电源之前按住 S2、然后插入 USB 电缆。  
    9. 开机后、您将从 tftp 引导、它将在以下日志后挂起、

    U-Boot SPL 2025.01-00006-g07019a6c6097-脏污 (Mar 27 2026 - 19:14:02 +0530)
    正在尝试从 USB eth 引导
    文件:drivers/net/ti/cpsw.c、函数:cpsw_eth_probe、行:1090
    eth0:eth_cpsw
    我是对的
    使用 musb-hdrc、在 ep1in 状态 ep2in 下输出 ep1out
    MAC de:ad:be:ef:00:01
    主机 MAC de:ad:be:ef:00:00
    RNDIS 准备就绪
    、eth1:usb_ether

    我正在使用 SDK 工具链来构建 uboot。

    如果您有任何工作的 tftp 2025 uboot uImage & spl 可供我使用 beagle bone 进行测试、您可以分享时间吗?  

    此外、正如您所建议的、我将为 2023 年打开新的工单、问题是第二次 tftp 文件传输的 uboot 失败。

    Rgds

    Chandra

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

    尊敬的 Chandra:

    感谢您分享信息。

    我将尝试在我结束时重现问题、然后返回给您。

    [引述 userid=“525798" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1630983/am3358-hung-after-usb_ether-boot-spl/6290860

    如果您有任何工作的 tftp 2025 uboot uImage & spl 可供我使用 beagle bone 进行测试、您可以分享时间吗?  

    [/报价]

    我还没有设置 SDK、现在也没有映像。

    请在下周前回复。

    此致、
    Vinu

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

    您好、是否已更新?

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

    尊敬的 Chandra:

    我可以重现问题、但问题尚未解决。  

    现在将重点关注 2023 U-boot 问题。 之后会继续这一过程。

    此致、
    Vinu

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

    尊敬的 Chandra:

    我能够使用 U-boot 2025.01 成功引导 BBB

    dhcpd.conf

    但我必须遵循本指南 ( https://software-dl.ti.com/processor-sdk-linux/esd/AM335X/09_01_00_001/exports/docs/linux/How_to_Guides/Host/How_to_Setup_Ubuntu_ 1404_dhcpd.html Network_Boot ) 并按如下所示设置我的主机 PC 的 dhcpd.conf。

    e2e.ti.com/.../4666.dhcpd.conf.txt

    这样、我就可以使用最新的 U-boot 2025.01 使用 TFTP 和 NFS 进行引导。 我无法重现原始问题。 早些时候、由于一些混淆、我尝试在 SD 卡上使用 SPL 和 U-boot。

    如果您已经设置了  dhcpd.conf、请告诉我。

    引导日志

    使用预构建的 spl 和 u-boot 共享我的日志。

    SPL、U-boot、内核和 FDT 通过 TFTP 共享。 rootfs over NFS。

    e2e.ti.com/.../usb_5F00_ethernet_5F00_bootlogs.txt

    Linux dmesg

    e2e.ti.com/.../dmesg_5F00_logs_5F00_usb_5F00_ethernet_5F00_boot.txt

    此致、
    Vinu

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

    请分享 u-boot.img 和 u-boot-spl.bin 以在我的 beagle bone black 中进行测试。

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

    尊敬的 Chandra:

    我已使用 SDK 11.02 中的预编译 U-boot 和 SPL (ti-processor-sdk-linux-am335x-evm-11.02.05.02- https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-1BUptXj3op/11.02.05.02/ti-processor-sdk-linux-am335x-evm-11.02.05.02-Linux-x86-Install.bin )

    U-boot:  TI-PROCESSOR-SDK-LINUX-am335x-evm-11.02.05.02/board-support/prebuilt-images/am335x-evm/u-boot.img

    U-boot SPL:  TI-PROCESSOR-SDK-LINUX-am335x-evm-11.02.05.02/board-support/prebuilt-images/am335x-evm/u-boot-spl.bin-am335x-EVM

    请确认

    [报价 userid=“678328" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1630983/am3358-hung-after-usb_ether-boot-spl/6307106

    如果您已经设置了  dhcpd.conf、请告诉我。

    [/报价]

    此致、
    Vinu