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.

[参考译文] PROCESSOR-SDK-AM64X:未枚举 AM64x-EVM eth1

Guru**** 2483815 points
Other Parts Discussed in Thread: TMDS64EVM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427145/processor-sdk-am64x-am64x-evm-eth1-is-not-being-enumerated

器件型号:PROCESSOR-SDK-AM64X
主题中讨论的其他器件:TMDS64EVMDP83869

工具与软件:

您好!

我将从从 v10.00.07.04 SDK Yocto 映像 tisdk-default-image-am64xx-evm.rootfs.wic.xz  进行刷写的 SD 卡运行 AM64x-EVM、并注意到缺少 eth1。 我确信这不是我几天前使用相同的映像启动板时的情况。 我将网线连接到 EVM 上的所有三个端口、它们都具有链路指示灯、并且连接到交换机上的1G。

U-Boot 网络列表报告

eth0:以太网@8000000port@1 34:08:E1:80:B7:B3活动
eth2:icssg1-eth-port@0 70:ff:76:1e:e8:d1

在 Linux ifconfig 中报告 eth0:和 eth2:但没有 eht1:

禁用 eht1发生了什么情况?如何重新启用它?

谢谢!

Jon

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

    为了进一步调查、我重新刷新了 v10.00.07.04、发现在第一次启动时枚举了 eth0、eth1和 eth2、但在热启动时仅枚举了 eth0和 eth2。 然后在进一步的冷启动时再次仅执行 eth0和 eth2。

    然后我重新刷新了 v09.02.01.10、并在多个冷启动和热启动 eth0、eth1和 eth2上都进行了枚举。 我还注意到 v9 SDK 中的 u-boot (2023.04-ti)会枚举 eth3和 eth0、而不是 eth2和 eth0。

    所以

    1) v10 SDK 中有哪些损坏使 eth1枚举不可关联?

    2)这个问题的解决方法是什么?

    谢谢!

    Jon

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

    你好、Jon、

    当您说"热启动"时、您执行了哪些具体命令/步骤来启动"热启动"?

    在 AM64x-EVM (TMDS64EVM)的初始冷启动时、我发现在 U-boot "net list"中仅报告 eth0和 eth2、但在 Linux "ifconfig"中报告全部三个(eth0、eth1和 eth2)。

    之后、如果我在 Linux 中执行"reboot"命令、我会看到 U-boot "net list"仍然仅报告 eth0和 eth2、而 Linux"ifconfig"仍然报告全部三个。

    因此、我无法重现您看到的问题。

    -道林

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

    您好、Jon、

    请确认您使用的是哪款 SDK 和 Linux 内核以及 AM64x-EVM 的哪一版软件?

    我使用 SDK 10.00.07 https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-InmvA50mCw/10.00.07.04/tisdk-default-image-rt-am64xx-evm.rootfs.wic.xz 

    Linux 内核是6.6.32

    我使用的是最新版本的 https://www.ti.com/tool/TMDS64EVM - PROC101C。 我认为这应该是修订版 C

    在冷启动(打开已断电的 EVM)和热启动(在 EVM 上"重新引导")时、我看到以下3个接口仍然使用您指定的顺序显示。

    root@am64xx-evm:~# uname -a
    Linux am64xx-evm 6.6.32-rt32-g3f59cbad6c9a #1 SMP PREEMPT_RT Thu Oct 17 10:41:45 CDT 2024 aarch64 GNx
    root@am64xx-evm:~# ifconfig
    eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            ether 1c:63:49:1a:d8:aa  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet6 fe80::72ff:76ff:fe1f:3dc5  prefixlen 64  scopeid 0x20<link>
            ether 70:ff:76:1f:3d:c5  txqueuelen 1000  (Ethernet)
            RX packets 11  bytes 2462 (2.4 KiB)
            RX errors 0  dropped 11  overruns 0  frame 0
            TX packets 25  bytes 4348 (4.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    eth2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            ether 70:ff:76:1f:3d:c6  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 91  bytes 7574 (7.3 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 91  bytes 7574 (7.3 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    root@am64xx-evm:~# 

    我们还注意到、在日志中、连接到 ETH1接口的 PHY (DP83869)未显示在引导日志中。 您是否在 DTS 中针对 SDK 10.00.07进行了任何修改?  

    -道林

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

    尊敬的 Daolin:

    我们还注意到在您的日志中、连接到 eth1接口的 PHY (DP83869)未出现在启动日志中。 您是否在 DTS 中针对 SDK 10.00.07进行了任何修改?  [报价]

    否、DTS 保持不变;我确实将 TI 提供的默认映像刷写到 SD 卡中、并从该卡启动 EVM。 正如我在第二个帖子中所说的、v09.02.01.10版本的默认映像似乎稳定可靠(每次启动都是 eth0、eth1、eth2)、但 v10 SDK 表现出 eth1未初始化时所述的行为。 我不知道为什么您在 EVM 上看不到这种行为。 您是否有其他硬件可以使用、或者您是否可以将其传递给其他人以尝试他们的硬件?

    谢谢!

    Jon

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

    尊敬的 Daolin:

    我还想了另一个问题、您可以从 U-Boot 中转储板 ID EEPROM (其中包含 MAC 地址)吗? 这是我的。

    =>i2c md 0x50 0.2 0x100
    0000: aa 55 33 ee 01 fc 00 10 2e 00 41 4d 36 34 2d 45    .U3.......AM64-E
    0010: 56 4d 00 00 00 00 00 00 00 00 43 00 30 31 30 31    VM........C.0101
    0020: 30 34 43 00 00 00 30 31 30 31 34 39 32 32 00 00    04C...01014922..
    0030: 00 00 00 00 30 34 33 34 11 02 00 10 29 13 c2 00    ....0434....)...
    0040: 10 00 70 ff 76 1e e8 d0 70 ff 76 1e e8 d1 70 ff    ..p.v...p.v...p.
    0050: 76 1e e8 d2 00 00 00 00 00 00 00 00 00 00 00 00    v...............
    0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

    谢谢!

    Jon

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

    尊敬的 Daolin:

    我认为、未初始化的 PHY 位于地址0x03 (00011)处、FET 在 PRG1和 CPSW_RGMII1 MDC/MDIO 之间切换。 这由地址0x22 (PRG1_RGMII2_FET_SEL)处的 IO 扩展器进行切换。

    地址0x0F (01111)处的另一个 PHY 没有此多路复用的 MDC/MDIO 接口。

    是否可以围绕此 FET 开关或 IO 扩展器(已在 v10 SDK 中更改、从而导致 eth1不再初始化)执行此操作? 事实上、v10 SDK 是否同样对待 ICSSG RGMII1和 ICSSG RGMII2、而且根本没有实际初始化 FET 开关?

    谢谢!

    Jon

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

    尊敬的 Daolin:

    我不确定这是如何通过测试滑动的。

    您预计何时会修复此错误?

    谢谢!

    Jon

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

    您好、Jon、

    我不确定这是如何在测试中下滑的。

    问得好、我正在尝试了解我们的内部测试中没有发现它。  

    您预计何时会修复此错误?

    开发人员正在审查此问题、这可能需要一些时间、因为开发人员所在的下周是国家假日。 我们还没有固定的日期。 修复后、我会在这里尝试更新您的信息。

    如果两周内没有收到我的回复、请 ping 此主题。

    -道林

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

    尊敬的 Daolin:

    如果一个解决方案距离我至少一周的时间、您能否提供任何指导、说明我可以在 SDK 中查找哪些位置来确定问题? 我们知道它在 SDK v9中工作、但在 v10 (非 RT)中断开、并在 RT 和非 RT 版本的 v10中断开、因此有望将其范围缩小。

    谢谢!

    Jon

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

    您好、Jon、

    正如我在之前的答复中提到的"临时解决方案": https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427145/processor-sdk-am64x-am64x-evm-eth1-is-not-being-enumerated/5476317#5476317 、问题似乎出在 systemd-networkd 服务中、无法初始化/启动 eth1接口。 您可以在我之前的响应中启动后立即在该服务的 systemctl 状态日志中看到。

    我目前不知道为什么此服务无法启动接口。 该服务也在 OOB 工作版本 RT-Linux SDK 10.0和 SDK 9.x 上运行。 但是、请注意、这可能不是 systemd-networkd 服务本身的问题、但故障消息可能是潜在问题的症状。 我想 eth1可能在  systemd-networkd 服务开始运行之前没有注册为设备、但这只是我的推测。

    Feb 27 19:21:34 am64xx-evm systemd-networkd[374]: eth0: Configuring with /etc/systemd/network/10-eth.network.
    Feb 27 19:21:34 am64xx-evm systemd-networkd[374]: eth1: found matching network '/etc/systemd/network/15-eth.network', based on potentially unpredictable interface name.
    Feb 27 19:21:34 am64xx-evm systemd-networkd[374]: eth1: Configuring with /etc/systemd/network/15-eth.network.
    Feb 27 19:21:34 am64xx-evm systemd-networkd[374]: eth0: Link UP
    Feb 27 19:21:34 am64xx-evm systemd-networkd[374]: eth1: Could not bring up interface, ignoring: No such device

    或者、如果时间较短、也可以使用我在之前的回复中指定的"临时解决方案"作为变通办法、以取消阻止您正在进行的任何开发工作。

    -道林

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

    您好、Jon、

    您是否能够使用 RT-Linux 代替非 RT Linux 发行版? 换言之、使用非 RT Linux 发行版作为您的用例是否有任何特殊原因?

    -道林

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

    何道林

    我尝试了 RT-Linux 构建、但它在我们的电路板上崩溃。

    谢谢!

    Jon

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

    您好、Jon、

    RT-Linux 构建不会崩溃 OOB。 恰好在崩溃之前是否出现错误消息?

    -道林

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

    尊敬的 Daolin:

    我同意它不应该崩溃。 我没有错误的副本、但我想是在将固件映像加载到 R5内核上。

    谢谢!

    Jon

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

    您好、Jon、  

    感谢您的澄清、您是否能够使用 RT-Linux 版本重新启动并共享错误日志?

    -道林

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

    何道林

    RT 内核文件系统映像的 zip 是否在某个位置可用? 我不想立即用 WIC 图像重新刷新所有内容、但可以在几天内完成。

    谢谢!

    Jon

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

    您好、Jon、

    您可以在中找到 tar.xz RT 内核文件系统 /filesystem/am64xxx-evm

    ~/ti-processor-sdk-linux-rt-am64xx-evm-10.00.07.04/filesystem/am64xx-evm$ ls
    tisdk-base-image-rt-am64xx-evm.rootfs.tar.xz  tisdk-default-image-rt-am64xx-evm.rootfs.tar.xz  tisdk-thinlinux-image-rt-am64xx-evm.rootfs.tar.xz 

    我们仍在尝试在非 RT 版本上解决该问题、但正如我之前提到的、这可能需要一些时间、如果由于此 RT 版本崩溃而需要使用非 RT、您可以使用我之前提到的解决方法。

    -道林

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

    尊敬的 Daolin:

    我已经将 tisdk-default-image-rt-am64xx-evm.rootfs.tar.xz 与我们的当前 DTB 重新刷新、并且它引导至登录提示符、因此我无法重现先前的崩溃、但我可以确认它是使用 RT 内核启动。

    谢谢!

    Jon

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

    您好、Jon、只是要确认一下、您现在对 RT Linux 很好吗?

    谢谢!

    Paula.

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

    你好、Jon、

    您能否说明使用 RT Linux 映像是否解决了 ETH1未显示的问题?

    -道林

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

    大家好、

    是的、我可以确认 eth1显示了 RT Linux 映像。

    谢谢!

    Jon

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

    您好、Jon、  

    感谢您的澄清。 我们内部正在努力解决非 RT Linux SDK 映像上的 ETH1问题、但我相信使用 RT-Linux 可以帮助您解决问题。

    -道林