0

我正在寻找解释标准(嗯,标准的)以太网 PHY 寄存器的最佳方法,以确定以太网链路实际运行的速度。(例如 10/100/1000 和全/半双工)

我敢说这可以在 Linux 之类的东西的源代码中找到,我现在就去看看那里,但如果有人有好的参考资料,我会很感兴趣。

我感兴趣的是它是否真的链接以及它链接的内容,而不是每一端一开始就宣传的巨大可能性。

4

2 回答 2

1

感谢你的回答。这是一个与语言和平台无关的问题,因为几乎所有 MII/GMII 以太网 PHY 都具有相同的基本寄存器。我碰巧在一个嵌入式平台上。

但是通过查看 Linux 驱动程序源的各个位,我发现了一个合理的序列,对于我的受限应用程序来说已经足够了 - 它基本上是:

检查基本状态 (0x1) 中的链接 如果链接已启动,则检查基本状态中的协商完成 (0x1) 如果协商完成,则检查 1000M 状态寄存器 (0xa) 中的 1G 如果您还没有有1G,那么你就有100M。(这不是一般规则,但它适用于本应用程序)

也许这真的是一个硬件问题而不是软件问题......

于 2008-11-25T19:55:27.503 回答
1

为了帮助您了解 Linux 内核是如何做到的:虽然每个驱动程序都可以做自己的事情,但是当芯片足够严格地遵循标准时,应该使用一个通用版本:通用媒体独立接口设备支持

于 2008-11-26T01:39:07.527 回答