Let's say you are getting poor network performance on your Linux box. You check the result of /sbin/ifconfig and notice quite a few collisions. Not only that, but anytime you transfer a bunch of packets, you generate more collisions.
Turns out, it may be that your ethernet device did not autonegotiate correctly. In my case, when I ran /sbin/ethtool eth0 I got:
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: Not reported
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
My network should have been talking Full duplex.
I simply crossed my fingers and ran the command:
sudo /sbin/ethtool -s eth0 duplex full speed 100 autoneg off
This set things straight between my ethernet card and the network.
As the article I link suggests, you can do:
To select autonegotiation = off speed = 100Mbps duplex = full add a line to /etc/sysconfig/network-scripts/eth0 saying ETHTOOL_OPTS=autoneg off speed 100 duplex full














































