[nSLUG] ethernet and the modern linux

Daniel Morrison draker at gmail.com
Fri Sep 26 11:45:05 ADT 2008

Wow.  My opinion differs with nearly everything that's been written in
this thread so far, but I'll try to limit myself mostly to this point,
which is flat out wrong.
2008/9/26 Jason Kenney <jdkenney at gmail.com>:

> The reason being the number of pairs of wires used.  10 uses 1 pair up
> and 1 pair for down, 100 uses 2 pairs for up and 4 pairs for down.
> But 1000 uses all 4 pairs bidirectionally!

10BaseT and 100BastTX use two pairs: pins 1&2 and pins 3&6.
Yes, there are some (much less common) variants such as 100BaseT4,
which uses 4 pairs of CAT3 instead of two pairs of CAT5.  If you're
using this, you probably now all about it already.

1000BaseT uses all four pairs.
Another variant named 1000BaseTX uses only 2 pairs over CAT6, but is
now uncommon.

(How could 100BT use "2 pairs for up and 4 pairs for down"?  Which
side is "up"?  It's symmetrical! <LOL>)

BTW, WIkipedia says:

Autonegotiation is a requirement for using 1000BASE-T[3] according to
the standard. At least clock source has to be negotiated, as one has
to be Master and the other Slave. Several physical layer device and
drivers will allow you to force 1000 Mbit/s full duplex to eliminate
autonegotiation issues. In this out of standard case, net admin had to
care that one peer is clock Master, and the other is clock Slave.

Other opinions:

1) turning auto-neg OFF is the leading cause of mismatches, because people:
 - forget to set both sides of the link
 - forget to 'save' the settings permanently
 - forget to document the settings
 - move patches without consulting the documentation

Second leading cause of mismatches is buggy firmware/drivers.

Auto-neg is an excellent choice for stable 24/7 networks.  The only
reason for it to fail at boot (apart from buggy NIC implementations --
get rid of those NICs!) is if the switch is not UP when the system
boots.  In a 24/7 environment this should never happen.  Even if it
does happen, auto-neg will occur when the switch comes up anyway!

> One view is that a network where systems think the cable is disconnected is broken and should
be fixed.

Your view is that networks where systems think the cable is
disconnected should just be left broken?

>  My view is that shit happens, and we should configure systems to be robust.

i.e. auto-negotiation -- much more robust than manually configuring
the wrong settings.

>  Apple, who have lots of experience with a tightly controlled list of network interfaces,


> recommend settings switches to force half-duplex, which is what you get when autoneg fails.

On Apple equipment, maybe!

Apple makes nice laptops and desktops.  Their servers are a joke.

3) udev has nothing to do with bringing interfaces up and down.
Use auto-negotiation, and avoid all the junk dealing with differing
module parameters, different ethtool options, etc.

Full duplex is faster.  Half duplex results in collisions when both
sides attempt to communicate with each other at the same time.
Doesn't matter if you cannot sustain 100 Mbit data stream -- I'm
talking about latency, not bandwidth.


More information about the nSLUG mailing list