In This tutorial I will explain to you how to change network card speed and duplex settings in ubuntu 12.04. On Ubuntu 12.04 you can use two program commad line based that is mii-tool and ethtool package. Both allows ubuntu user to modify/change and view the negotiated speed of network interface card. it is useful for forcing specific Ethernet speed and duplex settings.
I recommend installing both and use one of the tool, which will work with your card
Install mii-tool and ethtool in Ubuntu 12.04
to install mii-tool and ethtool package in ubuntu 12.04, open terminal and type following command:
sudo apt-get install ethtool net-tools
And now, get speed and other information for eth0 using ethtool
sudo ethtool eth0
Output:
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: 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: pg Wake-on: g Current message level: 0x00000000 (0) Link detected: yes
Get speed and other information for eth0 using mii-tool
sudo mii-tool eth0
Output :
eth0: negotiated 100baseTx-FD flow-control, link ok
To change the speed and duplex settings NIC, use command below (ex: Determining NIC speed from 100Mb/s to 1000M/s) :
Setup eth0 negotiated speed with ethtool
sudo ethtool -s eth0 speed 1000 duplex full autoneg off
Setup eth0 negotiated speed with mii-tool
sudo mii-tool -F 100baseTx-HD
For more detail read man page of mii-tool and ethtool
To make these configuration permanent you need to create a script into the directory /etc/init.d/ and run update-rc.d command to update the script.

















