From: Rick Jones <rick.jones2@hp.com>
To: a1 <a1k@mail.ru>
Cc: Jeff Kirsher <tarbal@gmail.com>, netdev@vger.kernel.org
Subject: Re: e1000 speed/duplex error
Date: Tue, 01 Aug 2006 10:03:28 -0700 [thread overview]
Message-ID: <44CF8960.7090600@hp.com> (raw)
In-Reply-To: <595776532.20060801160328@mail.ru>
> I thought the common behavior is that if one side force any particular
> parameter, other side should "sense" that and go to that mode too.
Nope. That is a common misconception and perhaps the source of many
duplex mismatch problems today. Here is some boilerplate I bring-out
from time to time that may be of help:
$ cat usenet_replies/duplex
How 100Base-T Autoneg is supposed to work:
When both sides of the link are set to autoneg, they will "negotiate"
the duplex setting and select full-duplex if both sides can do
full-duplex.
If one side is hardcoded and not using autoneg, the autoneg process
will "fail" and the side trying to autoneg is required by spec to use
half-duplex mode.
If one side is using half-duplex, and the other is using full-duplex,
sorrow and woe is the usual result.
So, the following table shows what will happen given various settings
on each side:
Auto Half Full
Auto Happiness Lucky Sorrow
Half Lucky Happiness Sorrow
Full Sorrow Sorrow Happiness
Happiness means that there is a good shot of everything going well.
Lucky means that things will likely go well, but not because you did
anything correctly :) Sorrow means that there _will_ be a duplex
mis-match.
When there is a duplex mismatch, on the side running half-duplex you
will see various errors and probably a number of _LATE_ collisions
("normal" collisions don't count here). On the side running
full-duplex you will see things like FCS errors. Note that those
errors are not necessarily conclusive, they are simply indicators.
Further, it is important to keep in mind that a "clean" ping (or the
like - eg "linkloop" or default netperf TCP_RR) test result is
inconclusive here - a duplex mismatch causes lost traffic _only_ when
both sides of the link try to speak at the same time. A typical ping
test, being synchronous, one at a time request/response, never tries
to have both sides talking at the same time.
Finally, when/if you migrate to 1000Base-T, everything has to be set
to auto-neg anyway.
rick jones
next prev parent reply other threads:[~2006-08-01 17:03 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-01 10:18 e1000 speed/duplex error a1
2006-08-01 11:20 ` Jeff Kirsher
2006-08-01 12:03 ` Re[2]: " a1
2006-08-01 12:21 ` Andy Gospodarek
2006-08-01 12:22 ` Re[2]: " Jamal Hadi Salim
2006-08-01 17:03 ` Rick Jones [this message]
[not found] ` <793732866.20060801153230@mail.ru>
[not found] ` <9929d2390608010445w4fd81b64g310ae90a423e1a7d@mail.gmail.com>
2006-08-01 12:20 ` Re[4]: " a1
2006-08-01 12:34 ` Jeff Kirsher
2006-08-01 14:35 ` Auke Kok
2006-08-01 17:15 ` Jeff Kirsher
2006-08-02 7:34 ` a1
2006-08-02 7:43 ` Jeff Kirsher
2006-08-02 8:39 ` a1
2006-08-02 15:02 ` Auke Kok
2006-08-03 7:51 ` a1
2006-08-02 16:19 ` Auke Kok
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=44CF8960.7090600@hp.com \
--to=rick.jones2@hp.com \
--cc=a1k@mail.ru \
--cc=netdev@vger.kernel.org \
--cc=tarbal@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).