Subhadip's Blog

My experience with the computing world!

Permanently change Duplex settings and Network card speed in Ubuntu

Users of Alliance or similar broadband services might have noticed that their network connection would sometimes get dropped while on Ubuntu or the network speed is somewhat less than what is advertised. The solution for this is that you need to change the duplex setting of your network connection. Don't freak out yet, it's not as hard as you might think. Follow the below simple steps:

1. Get the desired duplex settings from your service provider. In this case, we will assume that it's "10 duplex half". Replace it with the appropriate speed in your case.

2. Open Ubuntu Software Center, search for the following package and install. 

ethtool

3.Open Gedit or any other Text editor and paste the following:

#!/bin/sh
ETHTOOL='/sbin/ethtool'
DEV='eth0'
SPEED='10 duplex half'
case $1 in
start)
echo -n "Setting eth1 speed 10 duplex half...";
$ETHTOOL -s $DEV autoneg off speed $SPEED;
echo " done.";;
stop)
;;
esac
exit 0

4. Check the following:

5. Save the untitled document in your home directory with any name. Lets say, we saved it with the name 10Mbps.sh (in the subsequent steps, if your file name is different, don't forget to replace '10Mbps.sh' with your file name wherever applicable).

6. Open Terminal and paste the following one by one (if you are not using Ubuntu, then change 'nautilus' with your installed file manager in the below line) :

sudo nautilus /etc/init.d/

7. Copy the file (10Mbps.sh) to the newly opened window. Right click on the file, click on Properties, go to the Permission tab, check the Execute check-box and close it.

We are almost done now. In the next step, we check if everything we did is correct.

8. Go the Terminal again and paste the following (one by one) :

sudo /etc/init.d/10Mbps.sh start

sudo ethtool eth0

Change 'eth0' if it's different in your case (step 4). After executing the above commands, look for these lines in the result:

Speed: 10Mb/s
Duplex: Half

If it matches with your input, then we are good to go. If you encounter any error at this stage, don't proceed before resolving those.

9. Phew! We are at the final step of this long tutorial at last! Paste the below command in Terminal:

sudo update-rc.d 10Mbps.sh defaults

Again, don't forget to replace file name '10Mbps.sh' if it's different in your case.

We are done now. Restart your computer for the changes to take effect. Although this tutorial assumes that you are using Ubuntu, it should work on any Ubuntu or Debian based distro with little or no modification. Let me know in the comments section if you face any issue.



Tags