01 March 2010

Linux change the speed and duplex settings

Depending on which type of Ethernet card is installed on the system you need to use either mii-tool or ethtool.

Task: Install mii-tool and ethtool tools

If you are using Debian Linux you can install both of these package with following command:

# apt-get install ethtool net-tools

If you are using Red Hat Enterprise Linux you can install both of these package with following command:

# up2date ethtool net-tools

If you are using Fedora Core Linux you can install both of these package with following command:

# yum install ethtool net-tools

Task: Get speed and other information for eth0 / Type following command as root user:

# ethtool eth0

Output:

Settings for eth0:
     Supported ports: [ TP MII ]
     Supported link modes:   10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
     Supports auto-negotiation: Yes
     Advertised link modes:  10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
     Advertised auto-negotiation: Yes
     Speed: 100Mb/s
     Duplex: Full
     Port: MII
     PHYAD: 32
     Transceiver: internal
     Auto-negotiation: on
     Supports Wake-on: pumbg
     Wake-on: d
     Current message level: 0x00000007 (7)
     Link detected: yes

Or use mii-tool command as follows:

# mii-tool eth0

Output:

eth0: negotiated 100baseTx-FD flow-control, link ok

Task: Change the speed and duplex settings

Setup eth0 negotiated speed with mii-tool Disable autonegotiation, and force the MII to either 100baseTx-FD, 100baseTx-HD, 10baseT-FD, or 10baseT-HD:

# mii-tool -F 100baseTx-HD
# mii-tool -F 10baseT-HD

Setup eth0 negotiated speed with ethtool

# ethtool -s eth0 speed 100 duplex full
# ethtool -s eth0 speed 10 duplex half

To make these settings permanent you need to create a shell script and call from /etc/rc.local RedHat) or if you are using Debian create a script into the directory /etc/init.d/ directory and run update-rc.d command to update the script.

[*] SRC: NixCraft - vivek

No comments: