Ubuntu/Debian Linux使用ethtool设置以太网设备
时间:2019-11-20 08:53:14 来源:igfitidea点击:
ethtool可用于查询和修改许多网络设备的设置
它可以用于:
- 获取标识和诊断信息
- 获取扩展的设备统计信息
- 以太网设备的控制速度,双工,自动协商和流控制
- 控制校验和卸载和其他硬件卸载功能
- 控制DMA环大小和中断控制
- 控制多队列设备的接收队列选择
- 升级闪存中的固件等
那么,如何在Ubuntu或Debian Linux中安装和使用ethtool?
安装ethtool
在Debian或Ubuntu Linux下,执行以下apt-get命令,安装ethtool:
$ sudo apt-get update $ sudo apt-get install ethtool
或者
# apt-get update # apt-get install ethtool
ethtool语法
语法为:
ethtool deviceName ethtool [options] deviceName ethtool eth0
ethtool示例
查看设备ens32有关的信息
# ethtool ens32
输出示例:
Settings for ens32:
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
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
查看驱动程序信息
# ethtool -i eth0
输出示例:
driver: e1000 version: 7.3.21-k8-NAPI firmware-version: expansion-rom-version: bus-info: 0000:02:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no
查看网卡的统计信息
# 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网卡的协商速度
在Linux中设置网口的协商速度和通道:
# 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

