[eepro100] Speed and Duplexing, Once Again

Donald Becker becker@scyld.com
Thu Nov 29 07:59:00 2001

On Wed, 28 Nov 2001, UNX Group wrote:

> I have read now several times in your responses:
> "Forcing the duplex and speed is usually a mistake"
> Could you please expand on this for a newcomer to
> Linux but experienced with Unix, although certainly
> not to your level of expertise with networking and these
> drivers.

for background.

Autonegotiation is disabled when the speed and duplex is forced.

Here's an obvious scenario of why disabling autonegotiation is wrong:
Plug an unconfigured or non-configurable device into your network.
     Does it work correctly?
     Does it work at a near-optimal setting?

Forcing the switch speed to 100Mbps will allow the device to work
correctly, but performance features such as full duplex and flow control
cannot be correctly enabled.  (Remember that the twisted pair Ethernet
standard is half duplex.  Full duplex was only added to the standard
with autonegotiation.  Forced full duplex is a common but non-standard
extension. )

Forcing the switch to full duplex mean that every new device must be
configured by hand, and the configuration reversed when you move the
device to standard networking equipment.  Forgetting either case results
in difficult to track down performance problems.

I consider forced-full-duplex to be an serious issue somewhere between
"..and these cars have the brake pedal on the right" and "we decided to
put the drinking water in the brown jugs, and the 'other' water in blue".
You won't necessarily die right away, but it isn't healthy.

> I recently inherited sa responsibility for a large number
> of RedHat Linux 7.0 systems.  All machines have a variation
> of Intel NIC, all utilizing e100 or eepro100.  All systems are
> being "forced", via modules.conf, to 100Mbs, full-duplex.
> I notice, via dmesg, that we recv the message:
> modules.conf specifies:
> options eth0 options=0x20 full_duplex=1

What driver version?

> On "eepro100" systems, recv dmesg:
> "Forcing 100Mbs half-duplex operation."

Hmmm, this _is_ misleading.  I'll change it.  In the meantime try

Other valid options are 0x100, 0x20, and 0x10.
I hope the mapping of speed and duplex is obvious.

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993