[PLUG] Network issues

Steve D... blitters at gmail.com
Mon Jan 25 20:33:27 UTC 2010


On Sat, Jan 23, 2010 at 7:17 PM, Denis Heidtmann
<denis.heidtmann at gmail.com> wrote:
>
> Thanks for all the information.  You have saved me from a fruitless
> bunch of tests.  I do not claim to have gotten my head around all the
> stuff in those links, but I have the impression that if the NIC is
> misbehaving during the autonegotiation process I have no reasonable
> way to find that out.

  Not without a digital storage scope and maybe a PCI(e) bus debugger. :-)

> The connection has not had a failure for some days now (many shutdowns
> and reboots, but no interruption of power to the modem or the
> computer), even though renegotiation is likely happening often.  Also,
> when failure occurs the only thing which appears to fix it is to shut
> down and power down the computer.  I conclude from this that most
> likely the NIC occasionally gets into a bad state during power-up.

  Things are much more complex than they appear.  Motherboards have
brains now.  The state of the ethernet negotiation isn't tied to the
front panel power button and the ifconfig command any longer.  Newer
motherboards have advanced power and management features like "Green
PC", ACPI, and IPMI.  These motherboards have systems running beneath
your level that have their own agenda.  Your ability to interact with
these systems is limited.

  You really don't control the motherboard any longer.  A
micro-controller called a Management Engine (ME) controls the system
power and PCI/PCIe bus.  The MEs have a tendency to do their own
thing.  They will down speed and/or renegotiate the link whenever
their programming says to.  It ain't easy being a Green PC.

  The ME actually talks directly to the NIC.  The PCIe 2.1 standard
(and above) include a serial link from the ME into the PCIe cards.
The older standards used an external serial cable.  The ME *controls*
your NIC.  It can do all kinds of interesting things, like IPMI and
LOM.  The *only* way for a user to determine the state of the NIC is
to monitor the LEDs.

  You may be able to turn off most of the ME by fiddling with the BIOS
and turning off ACPI support in the kernel.  You can tell if ACPI is
running by trying to put the OS into Sleep (S3) or Hibernate (S4).
You OS cannot go to S3/S4 unless ACPI and the ME is enabled  Turning
off ME (not really... psyc!) may cut down on some of the link problems
you're seeing.  It will also disable many of the "Green PC" features
of your system.

> Do you see this as an accurate assessment?

Pretty much...  Your available choices are:

1) Deal with it... You many have to "ifconfig up" your eth port from
time to time. :-)

2) Nail your NIC and switch port to 1000-Full.  This will only works
on a managed switch.  Only nailing one side can result in a
duplex-mismatch.

3) Install a different NIC.  I like the Intel cards.  Make sure to
replace the distro's in-box driver.  The latest and greatest Intel
Linux drivers up on Sourceforge are pretty good.

4) Open up an issue with your NIC manufacture.  They may be willing to
troubleshoot the problem and provide a fixed driver.  This would be
good for the Linux community.  Somebody has to be willing to feel the
pain so we can all reap the benefits. :-)

Steve D...

-- 
"Every perception is a gamble"
Robert Anton Wilson



More information about the PLUG mailing list