Linux change the speed and duplex settings of an Ethernet card
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-toolsIf you are using Red Hat Enterprise Linux you can install both of these package with following command:# up2date ethtool net-toolsIf 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 eth0Output:
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 eth0Output:
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-HDSetup eth0 negotiated speed with ethtool
# mii-tool -F 10baseT-HD# ethtool -s eth0 speed 100 duplex fullTo 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.
# ethtool -s eth0 speed 10 duplex half
Read man page of mii-tool and ethtool for more information.
Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
Related Other Helpful FAQs:
- FreeBSD Set Speed Duplex For My Network Card ( NIC )
- Linux LAN card: Find out full duplex / half speed or mode
- Determine / Find ethernet connection speed
- How can I find out if my Ethernet card (NIC) is being recognized or not?
- Linux change the monitor or video card settings
Discussion on This FAQ
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: duplex, duplex on linux, ethernet_card, ethtool, linux 100 full duplex, linux check duplex, linux duplex, linux duplex setting, linux full duplex, linux half duplex, linux ifconfig duplex, linux speed duplex, mii-tool, network_interface_card



November 15th, 2006 at 6:59 pm
I get an “SIOCSMIIREG on eth2 failed: Invalid argument” error when entering “mii-tool -F 100baseTx-FD eth2″ What does this mean? Thanks.
November 16th, 2006 at 1:39 pm
Try to use ethtool. It appears that mii-tool is not compatible with your NIC.
December 10th, 2007 at 11:59 am
Thanks for info, very use full!
February 15th, 2008 at 10:47 pm
I run “ethtool -s eth0 speed 10 duplex half” then run “ethtool eth0″ and get “Speed: 100Mb/s”.
So speed was not changed really.
Why?
April 2nd, 2008 at 8:28 am
How to get wired LAN running at FULL-DUPLEX
At the Linux Terminal, type:
sudo ethtool eth0
This will tell you the properties of the wired config. If Duplex is showing half, then type:
sudo ethtool -s eth0 autoneg off
sudo ethtool -s eth0 duplex full
Finally, type to view final configuration:
sudo ethtool eth0
June 23rd, 2008 (2 weeks ago) at 9:17 am
Google & Vivek pwns!