[ previous ] [ next ] [ threads ]
 From:  Fred Wright <fw at well dot com>
 To:  M0n0wall <m0n0wall at lists dot m0n0 dot ch>
 Subject:  Re: [m0n0wall] No carrier for WAN
 Date:  Sun, 12 Sep 2004 14:18:40 -0700 (PDT)
On Tue, 7 Sep 2004, Chris Buechler wrote:

> This is an excellent point that I was thinking about earlier.  Even
> with present auto-negotiation, forcing speed and duplex is preferred
> by many, including myself.

I certainly wouldn't offer that advice in general.  I've encountered
*multiple* occasions where people screwed things up by overriding
autonegotiation and not setting things consistently.  And many people
don't realize that the *switch* is the peer for this purpose.  Meanwhile,
I've *never* seen autonegotiation get it wrong (other than the usual screw
where the *lack* of autonegotiation on a 10BaseT station keeps its
full-duplex capability from being usable with commodity switches).

Complicating things further (and perhaps contributing to some people's
fear of autonegotiation) is that there's *another* scheme invented before
autonegotiation called "parallel detection", which tries to determine 10
vs. 100 by attempting both kinds of setup at the same time and seeing what
works.  This is a much flakier approach, as well as being unable to
determine duplex mode (thus defaulting to half).  But it's still often
supported for compatibility, and while autonegotiation is always
preferred, disabling autonegotiation in such stations can cause parallel
detection to rear its ugly head.

Contrary to some people's belief, autonegotiation does not involve
"searching" for a compatible mode.  Each partner sends its complete
capabilities, and once these have been exchanged, they select the best
mutually available mode via a fixed priority.  On any link faster than
10Mb/s, this is probably the simplest thing that ever happens on the
wire. :-)

Even if you know enough to do the manual configuration correctly, it's a
very "fragile" configuration in that shuffling cables can break things
because you forgot to reshuffle the settings to match.

So far, the only case I've heard of that actually justified manual
override was the guy running 10/100 interfaces on crummy telephone wire
and wanting to for 10Mb mode.  Before recommending doing this via
ifconfig, I'd want to know whether that disables autonegotiation or merely
restricts the advertised capabilities.  The latter is safe, the former
isn't.  But usually the only documentation with that level of detail is
the source code. :-)

> I think the ifconfig mediaopts should be included in interface
> configuration page somewhere.

At most I'd just have "hidden" config options.  The number of people who'd
actually benefit from this is much smaller than the number that *think*
they would. :-)

BTW, with regard to the question about the displayed duplex mode, I
believe only full duplex is shown explicitly, so if it doesn't say, that
means "half".

					Fred Wright