Ubuntu/Debian Linux安装ethtool太无法显示/设置以太网设备设置

时间:2020-01-09 10:38:14  来源:igfitidea点击:

ethtool可用于查询和更改许多网络设备(尤其是以太网设备)上的设置,例如速度,自动协商和校验和卸载。
如何在IBM服务器上运行的基于Ubuntu或Debian Linux的系统下安装和使用ethtool?

要控制和查看有线以太网设备的设置,您需要使用ethtool命令。
它可以用于:

  • 获取标识和诊断信息
  • 获取扩展的设备统计信息
  • 以太网设备的控制速度,双工,自动协商和流控制
  • 控制校验和卸载和其他硬件卸载功能
  • 控制DMA环大小和中断控制
  • 控制多队列设备的接收队列选择
  • 升级闪存中的固件等

安装ethtool

执行以下apt-get命令以在Debian或Ubuntu Linux下安装ethtool实用程序:

$ sudo apt-get update
$ sudo apt-get install ethtool

或者

# apt-get update
# apt-get install ethtool

输出示例:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  ethtool
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 99.5 kB of archives.
After this operation, 296 kB of additional disk space will be used.
Get:1 http://mirror.anl.gov/debian/ wheezy/main ethtool i386 1:3.4.2-1 [99.5 kB]
Fetched 99.5 kB in 2s (45.6 kB/s)  
Selecting previously unselected package ethtool.
(Reading database ... 23726 files and directories currently installed.)
Unpacking ethtool (from .../ethtool_1%3a3.4.2-1_i386.deb) ...
Processing triggers for man-db ...
Setting up ethtool (1:3.4.2-1) ...

语法

语法为:

ethtool deviceName
ethtool [options] deviceName
ethtool eth0

例子

要查看有关设备eth0的标准信息,请执行:

# ethtool eth0

输出示例:

Settings for eth0:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	Link partner advertised pause frame use: Symmetric Receive-only
	Link partner advertised auto-negotiation: Yes
	Speed: 100Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: pumbg
	Wake-on: d
	Current message level: 0x00000001 (1)
			       drv
	Link detected: yes

找出与eth0相关的驱动程序名称相关的驱动程序信息

# ethtool -i eth0

输出示例:

driver: via-rhine
version: 1.5.0
firmware-version: 
bus-info: 0000:00:06.0
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

找出NIC和驱动程序的统计信息

# ethtool -S eth1
# ethtool --statistics eth0

输出示例:

NIC statistics:
     rx_packets: 108048475
     tx_packets: 125002612
     rx_bytes: 17446338197
     tx_bytes: 113281003056
     rx_broadcast: 83067
     tx_broadcast: 1329
     rx_multicast: 3
     tx_multicast: 9
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
     multicast: 3
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     tx_restart_queue: 2367
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 17446338197
     rx_csum_offload_good: 107876452
     rx_csum_offload_errors: 2386
     rx_header_split: 0
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0
     rx_dma_failed: 0
     tx_dma_failed: 0

设置eth0协商速度

# ethtool -s eth0 speed 100 duplex full
# ethtool --change eth0 speed 10 duplex half
# ethtool eth0
# ethtool eth0 | egrep -i 'speed|duplex'

输出示例:

Speed: 10Mb/s
	Duplex: Half

有关更多信息,请参见ethtool命令手册页:

$ man ethtool