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.

[参考译文] DP83822I:强制采用 100M 模式、无法连接

Guru**** 2502205 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1560346/dp83822i-force-100m-mode-it-can-not-link

器件型号:DP83822I


工具/软件:

您好:

当网络端口设置为自动模式并直接连接到 PC(自动)时、可以正常 ping 网络端口
当网络端口设置为 10M 模式时、可以直接连接到 PC 并正常 ping;
当网络端口设置为 100M 全双工或半双工模式时、如果它直接连接到 PC(既未设置为自动模式,也未设置为相应模式)、则无法 ping 通网络端口、且网络端口指示灯未亮起。
在自动模式下、我读取 phy 的寄存器、速度为 100M(正确)、我在自动模式和强制 100M 模式下读取 phy 寄存器的内容、如下所示进行比较:  
请帮助检查为什么力 100 米不能链接,谢谢


寄存器 值(自动模式) 值(强制 100M)
0 0x3100 0x2100
1. 0x786d 0x7849
2. 0x2000 0x2000
3. 0xa240 0xa240
4. 0xe51 0xe51
5. 0xdde1 0
6. 0xd 4.
7. 0x2001 0x2001
8. 0x6801 0
9. 0 0
0xA. 0x100 0x100
0xb 0x1000 0x1000
0xc 0 0
0xf 0 0
0x10 0x4615 0x4004 和0x4跳变
0x11 0x108 0x108
0x12 0 0
0x13 0 0x800
0x14 0 0
0x15 0 0
0x16 0x100 0x100
0x17 0x65 0x61
0x18 0x400 0x400
0x19 0xbc21 0x8021
0x1a 0 0
0x1b 0x7d 0x7d
0x1C 0x5ee 0x5ee
0x1d 0 0
0x1E 0x102 0x102
0x1F 0 0
0x25 0xdde1 0
0x467 0xfef 0xfef
0x468 0 0
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    当您进行这些更改时、PC 是否仍处于自动协商和自动 MDIX 模式、或者您是否也将它们更改为强制模式?

    您能否尝试启用稳健的自动 MDIX、看看这是否会创建链路?

    谢谢

    David

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

    你(们)好
    1) 当我测试时,PC 仍处于自动模式,我也将 PC 更改为强制 100m,但仍然无法连接;
    2) 我尝试启用强大的自动 MDIX ,它可以链接成功  
    这是什么原因? 我是否需要对驾驶员进行任何调整? 我们当前的内核版本基于 5.10.238
    谢谢

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

    您好、

    启用稳健的自动 MDIX 后、它为链路伙伴自动 MDI/MDIX 提供了更多时间、以防止链路伙伴在切换之前花费过多时间而出现死锁。

    谢谢

    David

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

    我是否可以在初始化期间启用该位、以便在启用该位后该值不会发生变化? 是否会有任何其他影响?

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

    、我在数据表中检查,自动 MDIX 可以在硬件中启用,我通过我们的硬件确认  ,他们设置了默认模式,这就是 AMDIX_EN 已启用,所以软件寄存器 0x9 不需要再单独设置、但实际上仍然需要设置寄存器,为什么?


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

    您好、  

    自动 MDIX 使用自动协商协议来确定连接是直通电缆还是交叉电缆。 因此、如果禁用了自动协商功能、则也会禁用自动 MDIX。  

    如果您禁用自动协商、我建议在寄存器 0x09 中设置强大的自动 MDIX 位。

    但有一个问题、为什么要首先禁用自动协商功能?

    谢谢

    David

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

    您好:
    1) 我们不禁止自动协商模式、但需要支持所有这些模式。 因此、我们在强制模式下发现了这个问题。
    此器件约 2)、即使在强制模式下、由于硬件启用、寄存器 19 的位 15 被启用。 因此、为什么我们仍然需要在强制模式下启用寄存器 9 的位 5? 它们并不都能实现 自动 MDIX?的功能

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

    您好、  

    禁用自动协商时、以下设置正常。

    自协商启用 启用自动 MDIX 快速的自动 MDIX
    0 0 0
    0 1. 1.

    如果禁用了自动协商、也应禁用自动 MDIX。 如果需要自动 MDIX、则  应启用自动 MDIX 和强大的自动 MDIX。 这是为了 给链路伙伴 (PC) 自动 MDI/MDIX 更多时间、以防止在 PC 在切换前花费过多时间时出现死锁。

    谢谢

    David

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

    您好:
    好的、获得了、、但如果有必要在禁用自动模式时启用自动 MDIX 和稳健的自动 MDIX、则在强制模式下这应该是一个常见问题。 但是、我看到内核中的标准 dp83822 驱动程序没有对寄存器 9 进行单独的配置操作

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

    您好、

    这不是一个常见问题、我们已经看到某些链路伙伴存在。 您可以将此配置选项添加到 Linux 内核中的 DP83822 驱动程序中。

    谢谢

    David

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

    好的、谢谢