Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Feb 2015 10:47:27 +0900
From:      Yonghyeon PYUN <pyunyh@gmail.com>
To:        Chris H <bsd-lists@bsdforge.com>
Cc:        FreeBSD STABLE <freebsd-stable@freebsd.org>, Brandon Allbery <allbery.b@gmail.com>
Subject:   Re: nfe0: watchdog timeout
Message-ID:  <20150212014727.GA4152@michelle.fasterthan.com>
In-Reply-To: <2ea9dbbfc43fbe632dabf8681323ebc9@ultimatedns.net>
References:  <CAKFCL4WVu7Bfk5pU03rTd97ZJ14u9%2BOdeyCKCC52DQDL0d6syg@mail.gmail.com> <2ea9dbbfc43fbe632dabf8681323ebc9@ultimatedns.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 11, 2015 at 12:21:30PM -0800, Chris H wrote:
> On Wed, 11 Feb 2015 14:39:41 -0500 Brandon Allbery <allbery.b@gmail.com> wrote
> 
> > On Wed, Feb 11, 2015 at 2:12 PM, Chris H <bsd-lists@bsdforge.com> wrote:
> > 
> > > Had a power outage at home last night.
> > > I fsck'd the disks, and after bring it back up, I was
> > > without network, and the:
> > > nfe0: watchdog timeout
> > > just keeps repeating.
> > >
> > 
> > Seeing that after a power outage, I'd be testing the NIC in another machine
> > or etc.
> Thanks for the reply, Brandon.
> That's a no op. It's an onboard NIC. So unless I get out
> the exacto knife, or de-solder it. It's not going to happen. ;)
> 
> On the up-side. I pulled the power from the PSU, and pulled
> a PCI NIC of the shelf, and shoved into a spare slot. My
> intention was to force IRQ reassignment, in case the (onboard)
> NIC was forced into sharing an IRQ for some strange reason.
> Anyway, plugged in the power cord, and booted the box, and
> *viola* the nfe0 NIC was back online. Don't know whether it
> was completely removing the power, the additional NIC, or
> both. But in the end; all is good.
> 

Due to lack of publicly available documentation, nfe(4) heavily
relies on power-on default H/W configurations(e.g. PHY or power
saving related thing). Some of those register configurations are
sticky so they shall survive from power cycling. The vendor surely
knows the correct sequence to reprogram those registers but the
required information is not available to open source driver
writers.
Cold-boot will always perform full H/W initialization and it will
put the controller into known good state. So it's good idea to
unplug power cord and wait tens of seconds before boot when you
encounter power lost or unexpected watchdog timeouts.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150212014727.GA4152>