“Ethtool”的版本间的差异

来自百问网嵌入式Linux wiki
 
(已更改“Ethtool”的保护等级([编辑=仅允许自动确认用户](无限期)[移动=仅允许自动确认用户](无限期)))
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
 +
本文提供了开始使用Linux®命令工具ethtool所需的基本信息。
 +
=简介=
 +
ethtool允许查询或控制网络驱动程序和硬件设置,尤其是对于有线以太网设备。
 +
=安装此工具到开发板上=
 +
==手动编译安装==
 +
==使用buildroot==
 +
:ethtool已默认安装到开发板文件系统里。
 +
 +
Board $> which ethtool
 +
/usr/sbin/ethtool
 +
 +
==使用yocto==
 +
:需将此菜谱文件包含进需要构建的系统镜像内
 +
RDEPENDS_packagegroup-framework-tools-network-base = "\
 +
  ethtool        \
 +
  iproute2        \
 +
  "
 +
=开始使用=
 +
可以使用Linux  IP命令行列出开发板上可用的以太网链接。
 +
Board $> ip link | grep eth
 +
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
 +
  link/ether 00:80:e1:42:43:65 brd ff:ff:ff:ff:ff:ff
 +
 +
*获取有关eth0网络设备的信息:
 +
Board $> ethtool eth0
 +
<syntaxhighlight lang="bash">
 +
Settings for eth0:
 +
Supported ports: [ TP AUI BNC MII FIBRE ]
 +
Supported link modes:  10baseT/Half 10baseT/Full
 +
                        100baseT/Half 100baseT/Full
 +
                        1000baseT/Half 1000baseT/Full
 +
Supported pause frame use: Symmetric Receive-only
 +
Supports auto-negotiation: Yes
 +
Advertised link modes:  10baseT/Half 10baseT/Full
 +
                        100baseT/Half 100baseT/Full
 +
                        1000baseT/Half 1000baseT/Full
 +
Advertised pause frame use: No
 +
Advertised auto-negotiation: Yes
 +
Link partner advertised link modes:  10baseT/Half 10baseT/Full
 +
                                    100baseT/Half 100baseT/Full
 +
                                    1000baseT/Full
 +
Link partner advertised pause frame use: Symmetric
 +
Link partner advertised auto-negotiation: Yes
 +
Speed: 1000Mb/s
 +
Duplex: Full
 +
Port: MII
 +
PHYAD: 0
 +
Transceiver: internal
 +
Auto-negotiation: on
 +
Supports Wake-on: ug
 +
Wake-on: d
 +
Current message level: 0x0000003f (63)
 +
      drv probe link timer ifdown ifup
 +
Link detected: yes
 +
</syntaxhighlight>
 +
 +
*显示eth0设备以太网驱动程序设置
 +
Board $> ethtool -i eth0
 +
<syntaxhighlight lang="bash">
 +
driver: st_gmac
 +
version: Jan_2016
 +
firmware-version:
 +
expansion-rom-version:
 +
bus-info:
 +
supports-statistics: yes
 +
supports-test: no
 +
supports-eeprom-access: no
 +
supports-register-dump: yes
 +
supports-priv-flags: no
 +
</syntaxhighlight>
 +
 +
*显示eth0的网络统计信息
 +
Board $> ethtool -S eth0
 +
<div style="height:30em; overflow:auto; border: 2px solid #088">
 +
<syntaxhighlight lang="bash">
 +
NIC statistics:
 +
    mmc_tx_octetcount_gb: 0
 +
    mmc_tx_framecount_gb: 0
 +
    mmc_tx_broadcastframe_g: 0
 +
    mmc_tx_multicastframe_g: 0
 +
    mmc_tx_64_octets_gb: 0
 +
    mmc_tx_65_to_127_octets_gb: 0
 +
    mmc_tx_128_to_255_octets_gb: 0
 +
    mmc_tx_256_to_511_octets_gb: 0
 +
    mmc_tx_512_to_1023_octets_gb: 0
 +
    mmc_tx_1024_to_max_octets_gb: 0
 +
    mmc_tx_unicast_gb: 0
 +
    mmc_tx_multicast_gb: 0
 +
    mmc_tx_broadcast_gb: 0
 +
    mmc_tx_underflow_error: 0
 +
    mmc_tx_singlecol_g: 0
 +
    mmc_tx_multicol_g: 0
 +
    mmc_tx_deferred: 0
 +
    mmc_tx_latecol: 0
 +
    mmc_tx_exesscol: 0
 +
    mmc_tx_carrier_error: 0
 +
    mmc_tx_octetcount_g: 0
 +
    mmc_tx_framecount_g: 1809
 +
    mmc_tx_excessdef: 0
 +
    mmc_tx_pause_frame: 0
 +
    mmc_tx_vlan_frame_g: 0
 +
    mmc_rx_framecount_gb: 0
 +
    mmc_rx_octetcount_gb: 0
 +
    mmc_rx_octetcount_g: 0
 +
    mmc_rx_broadcastframe_g: 0
 +
    mmc_rx_multicastframe_g: 0
 +
    mmc_rx_crc_error: 0
 +
    mmc_rx_align_error: 0
 +
    mmc_rx_run_error: 0
 +
    mmc_rx_jabber_error: 0
 +
    mmc_rx_undersize_g: 0
 +
    mmc_rx_oversize_g: 0
 +
    mmc_rx_64_octets_gb: 0
 +
    mmc_rx_65_to_127_octets_gb: 0
 +
    mmc_rx_128_to_255_octets_gb: 0
 +
    mmc_rx_256_to_511_octets_gb: 0
 +
    mmc_rx_512_to_1023_octets_gb: 0
 +
    mmc_rx_1024_to_max_octets_gb: 0
 +
    mmc_rx_unicast_g: 1514
 +
    mmc_rx_length_error: 0
 +
    mmc_rx_autofrangetype: 0
 +
    mmc_rx_pause_frames: 0
 +
    mmc_rx_fifo_overflow: 0
 +
    mmc_rx_vlan_frames_gb: 0
 +
    mmc_rx_watchdog_error: 0
 +
    mmc_rx_ipc_intr_mask: 0
 +
    mmc_rx_ipc_intr: 0
 +
    mmc_rx_ipv4_gd: 0
 +
    mmc_rx_ipv4_hderr: 0
 +
    mmc_rx_ipv4_nopay: 0
 +
    mmc_rx_ipv4_frag: 0
 +
    mmc_rx_ipv4_udsbl: 0
 +
    mmc_rx_ipv4_gd_octets: 0
 +
    mmc_rx_ipv4_hderr_octets: 0
 +
    mmc_rx_ipv4_nopay_octets: 0
 +
    mmc_rx_ipv4_frag_octets: 0
 +
    mmc_rx_ipv4_udsbl_octets: 0
 +
    mmc_rx_ipv6_gd_octets: 0
 +
    mmc_rx_ipv6_hderr_octets: 0
 +
    mmc_rx_ipv6_nopay_octets: 0
 +
    mmc_rx_ipv6_gd: 0
 +
    mmc_rx_ipv6_hderr: 0
 +
    mmc_rx_ipv6_nopay: 0
 +
    mmc_rx_udp_gd: 0
 +
    mmc_rx_udp_err: 0
 +
    mmc_rx_tcp_gd: 0
 +
    mmc_rx_tcp_err: 0
 +
    mmc_rx_icmp_gd: 0
 +
    mmc_rx_icmp_err: 0
 +
    mmc_rx_udp_gd_octets: 0
 +
    mmc_rx_udp_err_octets: 0
 +
    mmc_rx_tcp_gd_octets: 0
 +
    mmc_rx_tcp_err_octets: 0
 +
    mmc_rx_icmp_gd_octets: 0
 +
    mmc_rx_icmp_err_octets: 0
 +
    tx_underflow: 0
 +
    tx_carrier: 0
 +
    tx_losscarrier: 0
 +
    vlan_tag: 0
 +
    tx_deferred: 0
 +
    tx_vlan: 0
 +
    tx_jabber: 0
 +
    tx_frame_flushed: 0
 +
    tx_payload_error: 0
 +
    tx_ip_header_error: 0
 +
    rx_desc: 0
 +
    sa_filter_fail: 0
 +
    overflow_error: 0
 +
    ipc_csum_error: 0
 +
    rx_collision: 0
 +
    rx_crc_errors: 0
 +
    dribbling_bit: 0
 +
    rx_length: 0
 +
    rx_mii: 0
 +
    rx_multicast: 0
 +
    rx_gmac_overflow: 0
 +
    rx_watchdog: 0
 +
    da_rx_filter_fail: 0
 +
    sa_rx_filter_fail: 0
 +
    rx_missed_cntr: 0
 +
    rx_overflow_cntr: 0
 +
    rx_vlan: 0
 +
    tx_undeflow_irq: 0
 +
    tx_process_stopped_irq: 0
 +
    tx_jabber_irq: 0
 +
    rx_overflow_irq: 0
 +
    rx_buf_unav_irq: 0
 +
    rx_process_stopped_irq: 0
 +
    rx_watchdog_irq: 0
 +
    tx_early_irq: 0
 +
    fatal_bus_error_irq: 0
 +
    rx_early_irq: 0
 +
    threshold: 1
 +
    tx_pkt_n: 1809
 +
    rx_pkt_n: 12682
 +
    normal_irq_n: 11110
 +
    rx_normal_irq_n: 11082
 +
    napi_poll: 11118
 +
    tx_normal_irq_n: 28
 +
    tx_clean: 11641
 +
    tx_set_ic_bit: 28
 +
    irq_receive_pmt_irq_n: 0
 +
    mmc_tx_irq_n: 0
 +
    mmc_rx_irq_n: 0
 +
    mmc_rx_csum_offload_irq_n: 0
 +
    irq_tx_path_in_lpi_mode_n: 0
 +
    irq_tx_path_exit_lpi_mode_n: 0
 +
    irq_rx_path_in_lpi_mode_n: 0
 +
    irq_rx_path_exit_lpi_mode_n: 0
 +
    phy_eee_wakeup_error_n: 0
 +
    ip_hdr_err: 0
 +
    ip_payload_err: 0
 +
    ip_csum_bypassed: 544
 +
    ipv4_pkt_rcvd: 9189
 +
    ipv6_pkt_rcvd: 1948
 +
    no_ptp_rx_msg_type_ext: 12682
 +
    ptp_rx_msg_type_sync: 0
 +
    ptp_rx_msg_type_follow_up: 0
 +
    ptp_rx_msg_type_delay_req: 0
 +
    ptp_rx_msg_type_delay_resp: 0
 +
    ptp_rx_msg_type_pdelay_req: 0
 +
    ptp_rx_msg_type_pdelay_resp: 0
 +
    ptp_rx_msg_type_pdelay_follow_up: 0
 +
    ptp_rx_msg_type_announce: 0
 +
    ptp_rx_msg_type_management: 0
 +
    ptp_rx_msg_pkt_reserved_type: 0
 +
    ptp_frame_type: 0
 +
    ptp_ver: 0
 +
    timestamp_dropped: 0
 +
    av_pkt_rcvd: 0
 +
    av_tagged_pkt_rcvd: 0
 +
    vlan_tag_priority_val: 0
 +
    l3_filter_match: 0
 +
    l4_filter_match: 0
 +
    l3_l4_filter_no_match: 0
 +
    irq_pcs_ane_n: 0
 +
    irq_pcs_link_n: 0
 +
    irq_rgmii_n: 1
 +
    mtl_tx_status_fifo_full: 0
 +
    mtl_tx_fifo_not_empty: 0
 +
    mmtl_fifo_ctrl: 0
 +
    mtl_tx_fifo_read_ctrl_write: 0
 +
    mtl_tx_fifo_read_ctrl_wait: 0
 +
    mtl_tx_fifo_read_ctrl_read: 0
 +
    mtl_tx_fifo_read_ctrl_idle: 0
 +
    mac_tx_in_pause: 0
 +
    mac_tx_frame_ctrl_xfer: 0
 +
    mac_tx_frame_ctrl_idle: 0
 +
    mac_tx_frame_ctrl_wait: 0
 +
    mac_tx_frame_ctrl_pause: 0
 +
    mac_gmii_tx_proto_engine: 0
 +
    mtl_rx_fifo_fill_level_full: 0
 +
    mtl_rx_fifo_fill_above_thresh: 0
 +
    mtl_rx_fifo_fill_below_thresh: 0
 +
    mtl_rx_fifo_fill_level_empty: 0
 +
    mtl_rx_fifo_read_ctrl_flush: 0
 +
    mtl_rx_fifo_read_ctrl_read_data: 0
 +
    mtl_rx_fifo_read_ctrl_status: 0
 +
    mtl_rx_fifo_read_ctrl_idle: 0
 +
    mtl_rx_fifo_ctrl_active: 0
 +
    mac_rx_frame_ctrl_fifo: 0
 +
    mac_gmii_rx_proto_engine: 0
 +
    tx_tso_frames: 0
 +
    tx_tso_nfrags: 0
 +
</syntaxhighlight>
 +
</div>
 +
=进阶操作=
 +
互联网上有许多有关ethtool的文档。<br>
 +
有关命令选项的更多详细信息,请参见ethtool手册页。
 +
 +
=参考资源=
 +
*ethtool使用手册 https://linux.die.net/man/8/ethtool
 +
{| class="wikitable"
 +
|-
 +
! 链接地址  !! 文件类型 !! 描述
 +
|-
 +
| https://en.wikipedia.org/wiki/Ethtool || 标准 || 维基百科文章
 +
|-
 +
| http://www.thegeekstuff.com/2010/10/ethtool-command || 用户指南 || thegeekstuff网站
 +
|}
 +
 +
 +
 
[[Category:Linux_Operating_System]]
 
[[Category:Linux_Operating_System]]
 
[[Category:Linux_monitoring_tools]]
 
[[Category:Linux_monitoring_tools]]

2019年12月11日 (三) 16:29的最新版本

本文提供了开始使用Linux®命令工具ethtool所需的基本信息。

简介

ethtool允许查询或控制网络驱动程序和硬件设置,尤其是对于有线以太网设备。

安装此工具到开发板上

手动编译安装

使用buildroot

ethtool已默认安装到开发板文件系统里。
Board $> which ethtool
/usr/sbin/ethtool

使用yocto

需将此菜谱文件包含进需要构建的系统镜像内
RDEPENDS_packagegroup-framework-tools-network-base = "\
  ethtool         \
  iproute2        \
  "

开始使用

可以使用Linux IP命令行列出开发板上可用的以太网链接。

Board $> ip link | grep eth
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
  link/ether 00:80:e1:42:43:65 brd ff:ff:ff:ff:ff:ff
  • 获取有关eth0网络设备的信息:
Board $> ethtool eth0
Settings for eth0:
	Supported ports: [ TP AUI BNC MII FIBRE ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	                                     1000baseT/Full 
	Link partner advertised pause frame use: Symmetric
	Link partner advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: ug
	Wake-on: d
	Current message level: 0x0000003f (63)
			       drv probe link timer ifdown ifup
	Link detected: yes
  • 显示eth0设备以太网驱动程序设置
Board $> ethtool -i eth0
driver: st_gmac
version: Jan_2016
firmware-version: 
expansion-rom-version: 
bus-info: 
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
  • 显示eth0的网络统计信息
Board $> ethtool -S eth0
NIC statistics:
     mmc_tx_octetcount_gb: 0
     mmc_tx_framecount_gb: 0
     mmc_tx_broadcastframe_g: 0
     mmc_tx_multicastframe_g: 0
     mmc_tx_64_octets_gb: 0
     mmc_tx_65_to_127_octets_gb: 0
     mmc_tx_128_to_255_octets_gb: 0
     mmc_tx_256_to_511_octets_gb: 0
     mmc_tx_512_to_1023_octets_gb: 0
     mmc_tx_1024_to_max_octets_gb: 0
     mmc_tx_unicast_gb: 0
     mmc_tx_multicast_gb: 0
     mmc_tx_broadcast_gb: 0
     mmc_tx_underflow_error: 0
     mmc_tx_singlecol_g: 0
     mmc_tx_multicol_g: 0
     mmc_tx_deferred: 0
     mmc_tx_latecol: 0
     mmc_tx_exesscol: 0
     mmc_tx_carrier_error: 0
     mmc_tx_octetcount_g: 0
     mmc_tx_framecount_g: 1809
     mmc_tx_excessdef: 0
     mmc_tx_pause_frame: 0
     mmc_tx_vlan_frame_g: 0
     mmc_rx_framecount_gb: 0
     mmc_rx_octetcount_gb: 0
     mmc_rx_octetcount_g: 0
     mmc_rx_broadcastframe_g: 0
     mmc_rx_multicastframe_g: 0
     mmc_rx_crc_error: 0
     mmc_rx_align_error: 0
     mmc_rx_run_error: 0
     mmc_rx_jabber_error: 0
     mmc_rx_undersize_g: 0
     mmc_rx_oversize_g: 0
     mmc_rx_64_octets_gb: 0
     mmc_rx_65_to_127_octets_gb: 0
     mmc_rx_128_to_255_octets_gb: 0
     mmc_rx_256_to_511_octets_gb: 0
     mmc_rx_512_to_1023_octets_gb: 0
     mmc_rx_1024_to_max_octets_gb: 0
     mmc_rx_unicast_g: 1514
     mmc_rx_length_error: 0
     mmc_rx_autofrangetype: 0
     mmc_rx_pause_frames: 0
     mmc_rx_fifo_overflow: 0
     mmc_rx_vlan_frames_gb: 0
     mmc_rx_watchdog_error: 0
     mmc_rx_ipc_intr_mask: 0
     mmc_rx_ipc_intr: 0
     mmc_rx_ipv4_gd: 0
     mmc_rx_ipv4_hderr: 0
     mmc_rx_ipv4_nopay: 0
     mmc_rx_ipv4_frag: 0
     mmc_rx_ipv4_udsbl: 0
     mmc_rx_ipv4_gd_octets: 0
     mmc_rx_ipv4_hderr_octets: 0
     mmc_rx_ipv4_nopay_octets: 0
     mmc_rx_ipv4_frag_octets: 0
     mmc_rx_ipv4_udsbl_octets: 0
     mmc_rx_ipv6_gd_octets: 0
     mmc_rx_ipv6_hderr_octets: 0
     mmc_rx_ipv6_nopay_octets: 0
     mmc_rx_ipv6_gd: 0
     mmc_rx_ipv6_hderr: 0
     mmc_rx_ipv6_nopay: 0
     mmc_rx_udp_gd: 0
     mmc_rx_udp_err: 0
     mmc_rx_tcp_gd: 0
     mmc_rx_tcp_err: 0
     mmc_rx_icmp_gd: 0
     mmc_rx_icmp_err: 0
     mmc_rx_udp_gd_octets: 0
     mmc_rx_udp_err_octets: 0
     mmc_rx_tcp_gd_octets: 0
     mmc_rx_tcp_err_octets: 0
     mmc_rx_icmp_gd_octets: 0
     mmc_rx_icmp_err_octets: 0
     tx_underflow: 0
     tx_carrier: 0
     tx_losscarrier: 0
     vlan_tag: 0
     tx_deferred: 0
     tx_vlan: 0
     tx_jabber: 0
     tx_frame_flushed: 0
     tx_payload_error: 0
     tx_ip_header_error: 0
     rx_desc: 0
     sa_filter_fail: 0
     overflow_error: 0
     ipc_csum_error: 0
     rx_collision: 0
     rx_crc_errors: 0
     dribbling_bit: 0
     rx_length: 0
     rx_mii: 0
     rx_multicast: 0
     rx_gmac_overflow: 0
     rx_watchdog: 0
     da_rx_filter_fail: 0
     sa_rx_filter_fail: 0
     rx_missed_cntr: 0
     rx_overflow_cntr: 0
     rx_vlan: 0
     tx_undeflow_irq: 0
     tx_process_stopped_irq: 0
     tx_jabber_irq: 0
     rx_overflow_irq: 0
     rx_buf_unav_irq: 0
     rx_process_stopped_irq: 0
     rx_watchdog_irq: 0
     tx_early_irq: 0
     fatal_bus_error_irq: 0
     rx_early_irq: 0
     threshold: 1
     tx_pkt_n: 1809
     rx_pkt_n: 12682
     normal_irq_n: 11110
     rx_normal_irq_n: 11082
     napi_poll: 11118
     tx_normal_irq_n: 28
     tx_clean: 11641
     tx_set_ic_bit: 28
     irq_receive_pmt_irq_n: 0
     mmc_tx_irq_n: 0
     mmc_rx_irq_n: 0
     mmc_rx_csum_offload_irq_n: 0
     irq_tx_path_in_lpi_mode_n: 0
     irq_tx_path_exit_lpi_mode_n: 0
     irq_rx_path_in_lpi_mode_n: 0
     irq_rx_path_exit_lpi_mode_n: 0
     phy_eee_wakeup_error_n: 0
     ip_hdr_err: 0
     ip_payload_err: 0
     ip_csum_bypassed: 544
     ipv4_pkt_rcvd: 9189
     ipv6_pkt_rcvd: 1948
     no_ptp_rx_msg_type_ext: 12682
     ptp_rx_msg_type_sync: 0
     ptp_rx_msg_type_follow_up: 0
     ptp_rx_msg_type_delay_req: 0
     ptp_rx_msg_type_delay_resp: 0
     ptp_rx_msg_type_pdelay_req: 0
     ptp_rx_msg_type_pdelay_resp: 0
     ptp_rx_msg_type_pdelay_follow_up: 0
     ptp_rx_msg_type_announce: 0
     ptp_rx_msg_type_management: 0
     ptp_rx_msg_pkt_reserved_type: 0
     ptp_frame_type: 0
     ptp_ver: 0
     timestamp_dropped: 0
     av_pkt_rcvd: 0
     av_tagged_pkt_rcvd: 0
     vlan_tag_priority_val: 0
     l3_filter_match: 0
     l4_filter_match: 0
     l3_l4_filter_no_match: 0
     irq_pcs_ane_n: 0
     irq_pcs_link_n: 0
     irq_rgmii_n: 1
     mtl_tx_status_fifo_full: 0
     mtl_tx_fifo_not_empty: 0
     mmtl_fifo_ctrl: 0
     mtl_tx_fifo_read_ctrl_write: 0
     mtl_tx_fifo_read_ctrl_wait: 0
     mtl_tx_fifo_read_ctrl_read: 0
     mtl_tx_fifo_read_ctrl_idle: 0
     mac_tx_in_pause: 0
     mac_tx_frame_ctrl_xfer: 0
     mac_tx_frame_ctrl_idle: 0
     mac_tx_frame_ctrl_wait: 0
     mac_tx_frame_ctrl_pause: 0
     mac_gmii_tx_proto_engine: 0
     mtl_rx_fifo_fill_level_full: 0
     mtl_rx_fifo_fill_above_thresh: 0
     mtl_rx_fifo_fill_below_thresh: 0
     mtl_rx_fifo_fill_level_empty: 0
     mtl_rx_fifo_read_ctrl_flush: 0
     mtl_rx_fifo_read_ctrl_read_data: 0
     mtl_rx_fifo_read_ctrl_status: 0
     mtl_rx_fifo_read_ctrl_idle: 0
     mtl_rx_fifo_ctrl_active: 0
     mac_rx_frame_ctrl_fifo: 0
     mac_gmii_rx_proto_engine: 0
     tx_tso_frames: 0
     tx_tso_nfrags: 0

进阶操作

互联网上有许多有关ethtool的文档。
有关命令选项的更多详细信息,请参见ethtool手册页。

参考资源

链接地址 文件类型 描述
https://en.wikipedia.org/wiki/Ethtool 标准 维基百科文章
http://www.thegeekstuff.com/2010/10/ethtool-command 用户指南 thegeekstuff网站