如何查找 unix eth 端口链接速度

如何查找 unix eth 端口链接速度

我的 openwrt 路由器出了点小问题。我想知道 10M、100M、1000M 等格式或 10BaseT 的链路速度……但我在 /proc 或使用“ip”命令找不到它,而且“dmesg”也不提供这些数据。

你知道我在哪里可以找到它吗?如果数据是十六进制格式,对我来说就足够了。谢谢。

答案1

您可以使用ethtool命令

http://linux.die.net/man/8/ethtool

编辑:

您需要检查“速度”部分。检查以下内容:

root ~ ethtool eth0
Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off (auto)
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes

如您所见,我的卡支持 10/100/1000,但是“速度”部分显示的是其当前运行的速度:

Speed: 100Mb/s

答案2

经过几个小时阅读 /proc/* 文件后,我找到了解决方案。芯片组:ar8113

"cat /proc/ar8113/port_status"

输出为:

LinkUp | NWay 模式已启用 RXPause | TXPause 已启用 双工已启用 | 速度 100M

相关内容