29 September 2014

###ethtool

####描述

Ethtool是用于查询及设置网卡参数的命令。

####概要

ethtool ethX      //查询ethX网口基本设置
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]\         //设置网口速率10/100/1000M
				[duplex half|full]\           //设置网口半/全双工
				[autoneg on|off]\            //设置网口是否自协商
				[port tp|aui|bnc|mii]\         //设置网口类型
				[phyad N]\                 
				[xcvr internal|exteral]\
				[wol p|u|m|b|a|g|s|d...]\
				[sopass xx:yy:zz:aa:bb:cc]\
				[msglvl N]

####Example

  • ethtool eth1 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Link detected: yes

  • ethtool -i wlan2 driver: ath9k_htc version: 3.13.0-24-generic firmware-version: 1.3 bus-info: 3-11:1.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

  • ethtool -S wlan2 NIC statistics: rx_packets: 2259969 rx_bytes: 240290142 wep_weak_iv_count: 0 rx_duplicates: 629 rx_fragments: 2022989 rx_dropped: 1354 tx_packets: 24157 tx_bytes: 3427483 tx_fragments: 24157 tx_filtered: 0 tx_retry_failed: 0 tx_retries: 0 beacon_loss: 32 sta_state: 4 txrate: 58500000 rxrate: 39000000 signal: 195 channel: 0 noise: 18446744073709551615 ch_time: 18446744073709551615 ch_time_busy: 18446744073709551615 ch_time_ext_busy: 18446744073709551615 ch_time_rx: 18446744073709551615 ch_time_tx: 18446744073709551615 tx_pkts_nic: 88628 tx_bytes_nic: 15492155 rx_pkts_nic: 5122778 rx_bytes_nic: 985397691 d_tx_pkts_BE: 46759 d_tx_pkts_BK: 0 d_tx_pkts_VI: 0 d_tx_pkts_VO: 41869 d_rx_crc_err: 155677 d_rx_decrypt_crc_err: 438 d_rx_phy_err: 1 d_rx_mic_err: 0 d_rx_pre_delim_crc_err: 0 d_rx_post_delim_crc_err: 0 d_rx_decrypt_busy_err: 0 d_rx_phyerr_radar: 0 d_rx_phyerr_ofdm_timing: 0 d_rx_phyerr_cck_timing: 0

  • ethtool -s wlan2 autoneg off speed 100 duplex full

###附录

怎样使ethtool设置永久保存在网络设备中?

解决方法一:

ethtool设置可通过/etc/sysconfig/network-scripts/ifcfg-ethX文件保存,从而在设备下次启动时激活选项。

例如:ethtool -s eth0 speed 100 duplex full autoneg off

此指令将eth0设备设置为全双工自适应,速度为100Mbs。若要eth0启动时设置这些参数, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行:

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

解决方法二:

将ethtool设置写入/etc/rc.d/rc.local之中。

解决方法三:

对Intel千兆网卡禁用自适应时必须指定链路速度和全双工模式。当使用ethtool来禁用使用e1000网卡驱动模块的网卡自适应特性时,必须同时指定链路速度和全双工工作模式。

例如: ethtool -s eth0 autoneg off

但是只是临时禁用,如果在命令中没有指定链路速度和全双工工作模式,驱动会自动重新打开自适应。 为了使用ethtool工具来禁用e1000网卡驱动模块的网卡自适应特性,使用以下步骤

  1. 进入终端模式。
  2. 以root身份执行 ethtool -s ethx autoneg off speed 1000 duplex full

这里ethX是网卡的名字(例如eth0或者eth1等等),这个命令将关闭该网卡的自适应特性,并且强制设置网卡速度为1Gb,全双公模式。