6.3 nfe: dead after system reset
pyunyh at gmail.com
Mon Oct 20 23:14:26 PDT 2008
On Mon, Oct 20, 2008 at 03:50:21PM +0300, Andriy Gapon wrote:
> something new about this issue.
> Today I got another instance of it, but with a new twist.
> In addition to all the usual symptoms I got a lot of messages like the
> following in console:
> nfe0: discard frame w/o leading ethernet header (len 0 pkt len 0)
> and even couple like this:
> nfe0: discard frame w/o leading ethernet header (len 4294967295 pkt len
> nfe0: discard frame w/o leading ethernet header (len 3 pkt len 3)
> Maybe these messages could give a hint about what was going wrong in nfe.
It looks like there is a bug in Rx handling or hardware
initialization issue. Recently I've implemented hardware MAC
counters of MCP controller and these counters would provide
valuable information to analyze what's going on in controller.
See commit log of SVN r183561.
There is a WIP version to workaround CRC issues of MCP65. Though it
may not be directly related with your issue the patch at the
fowllowing URL has a fix for MAC reset register. So give it try and
let me know how it goes.
> on 04/07/2008 00:26 Andriy Gapon said the following:
> > As they say - long time, no see :-)
> > I am back with some more details, but still with no insights.
> > Let me refresh an essence of the issue.
> > The issue: after 'abrupt' reset/reboot of a system my nfe interface is
> > dead.
> > That is, if I do a graceful reboot (e.g. via shutdown -r) everything is
> > ok, ditto if I do power-down (whether graceful or not) and the power-up.
> > The problem happens only if I press reset button and then boot up.
> > Details.
> > The issue can not be reproduced with nve driver.
> > Moreover, when I reproduce the problem with nfe, then kldunload nfe
> > driver, kldload nve driver - nve interface is alive. Then kldunload nve,
> > kldload nfe - nfe interface is dead again.
> > Specification of dead.
> > There are no errors. ifconfig shows the same output (active, media, up,
> > etc) as in normal case. But I can not ping any host on local network
> > (connected to the same switch), ping outputs "Host is down". tcpdump
> > also doesn't show any incoming traffic.
> > More details.
> > I was able to verify that packets do actually go through the interface.
> > When I try to ping some machine I see (on the other host) arp requests
> > for its ethernet address. All address in arp packets are correct
> > (ethernet and ip). So the interface works for outgoing packets, but
> > somehow loses incoming arp replies. Not sure if thap happens in the NIC
> > or in the driver itself (see the above nve/nfe live replacement
> > experiment).
> > So, there are some facts, but still no clues.
> Andriy Gapon
More information about the freebsd-stable