Change Speed of NIC

Q. How do I change the speed, duplex on for my Ethernet card?


A. Under Linux use mii-tool or ethtool package which allows a Linux sys admin to modify/change and view the negotiated speed of network interface card (NIC) i.e. it is useful for forcing specific Ethernet 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. I recommend installing both and use one of the tool, which will work with your card.


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



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


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



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 (Red Hat) 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.


Read man page of mii-tool and ethtool for more information.

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to install Zend for Linux

1. Download Zend in the server you want to install. Linux 32b -...

How to change MAC address in Linux

First find the physical MAC address of your machine by running the following command : $...

Upgrade php on Plesk

By default Plesk installation, the PHP version is 5.1.x, if you want to upgrade it to 5.2 or even...

CENTOS - How to install the text setup utility

Text Setup Utility is a text based utility that allow you to make some configuration on a linux...

CENTOS - How to add the network configuration tool to the text based setup tool

If you ran setup and it doesn't show the network configuration tool Then run this command on...