netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).