Linux网卡速度及模式设置

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]

举例

[[email protected] /]# ethtool eth1 

可能的返回值

        Settings for eth1:
        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: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: d
        Link detected: yes
[[email protected] /]# ethtool -i eth1

可能的返回值

   driver: e1000
   version: 5.0.43-k1
   firmware-version: N/A
   bus-info: 06:08.1
[[email protected] /]# ethtool -S eth1

可能的返回值

     NIC statistics:
     rx_packets: 58068300
     tx_packets: 87124083
     rx_bytes: 1589713008
     tx_bytes: 2165825901
     rx_errors: 0
     tx_errors: 0
     rx_dropped: 0
     tx_dropped: 0
     multicast: 0
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_fifo_errors: 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
[[email protected] /]# ethtool -s eth1 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之中。

ref : http://blog.chinaunix.net/u/1676/showart_1717971.html

Apple Trailer下载

http://trailers.apple.com/trailers/

Apple Trailer真是个好东西,但是默认需要QuickTime,下面提供一种绕过的方法:

wget  --user-agent=QUICKTIME   http://trailers.apple.com/movies/independent/smiley/smiley-clip2_h1080p.mov

Android 自动设置MTU

os : Android 4.0.4 kernel : 3.0.8

  • 重新挂载system目录为可读: mount -o remount,rw /system

  • /system/etc/ip-up 文件中加入下面这行(NAME是你需要设置mtu的设备,如eth0, ppp0等):

    /system/bin/ifconfig $NAME mtu 1400

    注:如果你使用了busybox,需要使用下面的命令: busybox ifconfig $NAME mtu 1400

编译单个Linux Kernel模块

假设需要单独编译resiserfs内核模块:

1)make menuconfig load 一下当前目录下的.config 文件 进入文件系统选项,选择reiserfs 模块,使其前面有个M 保存退出

2)make prepare 不运行该命令make 时将会报错

3)make scripts

4)make M=fs/reiserfs 开始编译单个模块,编译完成后模块生成在fs/reiserfs.ko

确定wifi网卡是否支持hostap

  • 对老网卡(没有使用mac80211驱动的)
ethtool  -i  wlan0
sudo iwconfig wlan0  mode  master 

输出:

Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Invalid argument.

表示不支持

  • 对新网卡(使用mac80211驱动的)
  • iw list  |  grep Supported  
    
  • 输出:

  • AP
    
  • 表示支持hostap