ethtool 提供了强大的网卡及网卡驱动管理能力,其具体的实现框架和网络驱动程序及网络硬件关系紧密,容易修改和扩展,能够为 Linux 网络开发人员和管理人员提供对网卡硬件,驱动程序和网络协议栈的设置,查看以及调试等功能。
描述:
ethtool 是用于查询及设置网卡参数的命令。
使用:
ethtool ethx 查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等
ethtool –h 显示ethtool的命令帮助(help)
ethtool –i ethX 查询ethX网口的相关信息
ethtool –d ethX 查询ethX网口注册性信息
ethtool –r ethX 重置ethX网口到自适应模式
ethtool –S ethX 查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] 设置网口速率 10/100/1000M、设置网口半/全双工、设置网口是否自协商
Linux 设备驱动程序中对 ethtool 的支持
ethtool 是一个 Linux 下功能强大的网络管理工具,目前几乎所有的网卡驱动程序都有对 ethtool 的支持,ethtool 框架包含内核空间和用户空间两部分:用户空间的部分负责将 ethtool 命令发送到内核,并接收命令的执行结果;内核空间的部分根据相应的命令字,通过 MDIO/MDC 读写 MII 寄存器,把执行结果传回用户空间,实现对网卡的管理。
MDIO/MDC,即 PHY 管理接口串行通信总线,该总线由 IEEE 通过以太网标准 IEEE 802.3 的若干条款加以定义,可收集的信息包括链接状态、传输速度与选择、断电、低功率休眠状态、TX/RX 模式选择、自动协商控制、环回模式控制等。除了拥有 IEEE 要求的功能之外,phy厂商还可添加更多的信息收集功能。
常用方法:
以飞凌 iMX6 系列板卡中 OKMX6Q-C 为例, OKMX6Q-C 提供一路 10/100/1000Mbps 自适应以太网,如需启机固定为100M以太网,可以使用ethtool工具,去掉自动协商功能,将网速设置为100M。
ethtool -s eth0 speed 100 duplex full autoneg off
speed 100:速率100Mbps
duplex full:全双工模式
autoneg off:关闭自动协商
源码下载:
git clone git://git.kernel.org/pub/scm/network/ethtool/ethtool.git
本文转载自飞凌嵌入式官网:https://www.forlinx.com/article_view_331.html