[olug] Ethernet Auto-negotiation and Duplexing on Linux

Vincent vincentr at cox.net
Tue Sep 9 04:34:35 UTC 2003


Try using the e100 driver from Intel.  It performs much better than the eepro100 driver, which was dropping a lot of data under high
loads (mostly multicast).
http://www.intel.com/support/network/adapter/1000/linux/e100.htm

Here's an example of the driver options you can use in /etc/modules.conf:

alias eth0 e100
alias eth1 e100
alias eth2 3c59x
options e100 RxDescriptors=1024,1024 e100_speed_duplex=4,4
options 3c59x max_interrupt_work=96 rx_copybreak=384 options=0 full_duplex=0

# References:
# 3c59x media_type (options=):
# ( 0=10baseT; 4=100base-TX; 7=EEPROM default; 8=Autonegotiate )
# e100_speed_duplex= (media_type and duplex):
# ( 1=10half;2=10full;3=100half;4=100full )



----- Original Message ----- 
> > Ethernet Auto-negotiation and Duplexing on Linux
> >
> > We recently had an issue where our Fiber provider informed us our Linux router
> > had to be hard set to auto negotiate off, 10mbps full duplex.  The unit in
> > question had old NE2000 complaint drivers/cards.   Currently there is
> > approximately 20% bandwidth drop across this unit.  Turning autoneg off and
> > settings the parameters manually is supposed to fix this throughput issue
> > according to our fiber provider.  The unit is connected directly to their
> > fiber equipment (starting with a Lucent switch) which apparently does not
> > like auto-negotiation.
> >
> > Ethertool is a nifty utility that is supposed to allow you to set these
> > parameters in the Ethernet device.  The alternative is to find the parameters
> > for the proprietary device  to pass along to the driver, which is different
> > for every driver.
> >
> > Ethertool was unable to set the autoneg, duplex, and speed options for the old
> > NE2000 compatible NIC's.  I swapped the old NIC's out for new Intel 10/100
> > cards and ethertool seems to function with the new NIC's.
> >
> > My two options are a) use ethertool to set the parameters or b) use the
> > correct string for the Intel driver passed along in (/etc/modules?) directly
> > to the card.
> >
> > I chose to use ethertool, and it claims it was able to pass the parameters
> > along to the Ethernet device.
> >
> > My questions are, should I trust ethertool?  And, does anyone have experience
> > with turning auto-negotiation off on an Ethernet device under Linux?



More information about the OLUG mailing list