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/AM5728:Eth1上的千兆位以太网不工作

Guru**** 2935310 points

Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/670302/linux-am5728-gigabit-ethernet-on-eth1-not-working

器件型号:AM5728

工具/软件:Linux

您好!

我有一个定制的 am5728板、我可以在 eth0上获得1G 的链接、但在 eth1上无法获得。 我在两台和一台1G 交换机上使用相同的链路伙伴。 当我使用 Sitara 评估板进行交叉参考时、我可以看到两个链路都已建立、但 eth0显示1G、而 eth1显示100Mbps。 如何为1G 启用 eth1? 请告诉我。

eth0的设置:
    支持的端口:[ TP MII]
    支持的链路模式: 10BaseT/Half 10baseT/Full  
                100BaseT /半个100BaseT /全双工  
                1000BaseT/Half 1000Base/全双工  
    支持的暂停帧使用:对称
    支持自动协商:是
    通告的链路模式: 10BaseT /半10baseT/全  
                100BaseT /半个100BaseT /全双工  
                1000BaseT/Half 1000Base/全双工  
    通告的暂停帧使用:对称
    广播自协商:是
    链接伙伴通告的链接模式: 10BaseT /半10baseT/全  
                       100BaseT /半个100BaseT /全双工  
                       1000BaseT/Half 1000Base/全双工  
    链接伙伴通告的暂停帧使用:对称
    连接方通告的自动协商:是
    速度:1000Mb/s
    双工:全双工
    端口:MII
    PHYAD:1.
    收发器:外部
    自协商:开
    支持唤醒:D
    唤醒:D
    当前消息级别:0x00000000 (0)
    检测到链接:是
ETH1的设置:
    支持的端口:[ TP MII]
    支持的链路模式: 10BaseT/Half 10baseT/Full  
                100BaseT /半个100BaseT /全双工  
    支持的暂停帧使用:否
    支持自动协商:是
    通告的链路模式: 10BaseT /半10baseT/全  
                100BaseT /半个100BaseT /全双工  
    广播的暂停帧使用:否
    广播自协商:是
    链接伙伴通告的链接模式: 10BaseT /半10baseT/全  
                       100BaseT /半个100BaseT /全双工  
    链接伙伴通告的暂停帧使用:对称
    连接方通告的自动协商:是
    速度:100Mb/s
    双工:全双工
    端口:MII
    PHYAD:2.
    收发器:外部
    自协商:开
    支持唤醒:D
    唤醒:D
    当前消息级别:0x00000000 (0)
       
    检测到链接:是

谢谢、

Eeshan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请完成以下检查清单并将结果发布在此处: processors.wiki.ti.com/.../5x_CPSW
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Eeshan、

    除了发布 Biser 提到的检查清单结果之外、您需要首先查看的是 eth1上的 PHY 配置。 ethtool 的结果表明、支持的 PHY 模式仅显示对 eth1上高达100Mbps 的支持。 由于使用自动协商、因此在任何驱动程序生效之前协商速度。 在这种情况下、如果 PHY "认为"它仅配置为100Mbps、则其运行方式正确。 比较 eth0和 eth1的 ethtool 结果显示 eth0上的 PHY 支持1G、而 eth1上的 PHY 不支持1G。

    支持的链路模式:10BaseT/Half 10baseT/Full
    100BaseT /半个100BaseT /全双工

    ethtool 显示、如果我正确理解拓扑、两个 PHY 都在检测到作为交换机的链路伙伴。 您提到的链路问题是否还包括在双 Mac 模式下不为两个端口获取 IP 地址? 如果是这种情况、请注意、将两个端口插入同一交换机可能无法获得两个端口的 IP 地址。 每个端口都需要位于其自己的子网中。

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

    您好!

    在我的 AM5728 Sitara 评估模块上、我逐个连接到两个以太网端口。 我用电缆将其放入 eth0中、我看到1G 链路。 然后、我使用相同的电缆并将其放入 eth1中、然后得到100Mb/s 链路。 连接到 eth0和 eth1的 PHY 完全相同、 KSZ9031。 这些是千兆 PHY。  

    附件您可以找到请求的所有信息。 我使用的是 TI SDK 4.00.00.04。 我在 am5728 EVM (非定制板)上运行:

    root@am57xx-EVM:~# uname -a

    Linux am57xx-EVM 4.9.28-geed43d1050 #2 SMP 抢占 Wed Jun 28 18:16:59 EDT 2017 armv7l GNU/Linux

    ETH1的设置:

    支持的端口:[ TP MII]
    支持的链路模式:10BaseT/Half 10baseT/Full
    100BaseT /半个100BaseT /全双工
    支持的暂停帧使用:否
    支持自动协商:是
    通告的链路模式:10BaseT /半10baseT/全
    100BaseT /半个100BaseT /全双工
    广播的暂停帧使用:否
    广播自协商:是
    链接伙伴通告的链接模式:10BaseT /半10baseT/全
    100BaseT /半个100BaseT /全双工
    链接伙伴通告的暂停帧使用:对称
    连接方通告的自动协商:是
    速度:100Mb/s
    双工:全双工
    端口:MII
    PHYAD:2.
    收发器:外部
    自协商:开
    支持唤醒:D
    唤醒:D
    当前消息级别:0x00000000 (0)

    检测到链接:是

    eth0的设置:

    支持的端口:[ TP MII]
    支持的链路模式:10BaseT/Half 10baseT/Full
    100BaseT /半个100BaseT /全双工
    1000BaseT/Half 1000Base/全双工
    支持的暂停帧使用:对称
    支持自动协商:是
    通告的链路模式:10BaseT /半10baseT/全
    100BaseT /半个100BaseT /全双工
    1000BaseT/Half 1000Base/全双工
    通告的暂停帧使用:对称
    广播自协商:是
    链接伙伴通告的链接模式:10BaseT /半10baseT/全
    100BaseT /半个100BaseT /全双工
    1000BaseT /全速
    链接伙伴通告的暂停帧使用:对称
    连接方通告的自动协商:是
    速度:1000Mb/s
    双工:全双工
    端口:MII
    PHYAD:1.
    收发器:外部
    自协商:开
    支持唤醒:D
    唤醒:D
    当前消息级别:0x00000000 (0)

    检测到链接:是

    ETH1链路连接:以太网 HWaddr FC:0F:4B:AB:78:9F
    iNet addr:192.168.7.113 Bcast:192.168.7.255 Mask:255.255.255.0
    inet6 addr:fe80::fe0f:4bff:feab:789f%3068609632/64范围:链接
    运行多播 MTU:1500公制:1的上广播
    RX 数据包:4450错误:0丢弃:1溢出:0帧:0
    TX 数据包:106错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1000
    RX 字节:493312 (481.7 KiB) TX 字节:16989 (16.5 KiB)

    eth0 Link encap:以太网 HWaddr FC:0F:4B:AB:78:9E
    iNet addr:192.168.7.91 Bcast:192.168.7.255掩码:255.255.255.0
    inet6 addr:fe80::fe0f:4bff:feab:789e%3068793952/64范围:链接
    运行多播 MTU:1500公制:1的上广播
    RX 数据包:1040错误:0丢弃:0超限:0帧:0
    TX 数据包:57错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1000
    RX 字节:113283 (110.6 KiB) TX 字节:9828 (9.5 KiB)
    中断:97

    启动日志:

    e2e.ti.com/.../5025.bootlog.txt

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

    此外、我加载到 Sitara 评估板上的映像是使用 create-sdcard 脚本并从预构建映像中进行选择。 使用4.00.04。

    有什么想法吗? 请告诉我您对上述结果的看法。 谢谢!

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

    ethtool 输出仍然显示 PHY 仅表示支持100Mbps。 TI EVM 上有2 1 G PHY。 PHY 自举应设置支持的 PHY 速度。 一种可能是自协商序列发生错误、不允许链路伙伴和 eth1同时显示 ethtool 中的可能速度。

    将 eth0和 eth1插接在一起时、ethtool eth0会显示什么? 我可能错了、但我希望看到 eth0至少以预期的速度与 eth1连接。

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

    您好!

    我将 eth0和 eth1连接在一起、并且两个接口都以100Mbps 的速度连接。 我仍然不知道为什么第二个端口似乎只能达到100Mbps。 尽管在我查看 Micrel.c phy 驱动程序时两个 PHY 的配置方式相同。 请告诉我您的想法、我非常感激。

    谢谢、

    Eeshan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Eeshan、
    一位同事指出、AM5728上的针对端口为 eth1的1.1器件发布了勘误表。 板级配置文件的 DTS 将 phy 速度限制为100Mbps。 限制速度的 DTS 文件位于 arch/arm/boot/dts/am57xx-beagle-x15.dts 中。 节点 phy1设置速度限制。

    芯片1.1的勘误表。 在 EVM 上、您可以使用此命令读取该寄存器0x4AE0C204:

    devmem2 0x4AE0C204

    感谢您耐心等待、在我们了解这一点的同时、我了解 EVM 的速度限制。

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

    root@am57xx-EVM:~# devmem2 0x4AE0C204                                                 

    /dev/mem 已打开。

    映射到地址 bb6fa1000的内存。

    在地址 0x4AE0C204 (0xb6fa1204):0x2B99002F 处读取

    我可以通过将 DTS 文件中的最大速度设置为1000来解决该问题。 谢谢!!!