乾貨丨Linux系統下強大的ethtool命令

ningmengzier發表於2020-11-30

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廠商還可新增更多的資訊收集功能。



常用方法:



飛凌嵌入式 O KMX6Q-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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989353/viewspace-2738120/,如需轉載,請註明出處,否則將追究法律責任。

相關文章