Subject: Re: nfe problems
To: None <current-users@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: current-users
Date: 09/02/2006 12:11:23
On Sat, Sep 02, 2006 at 08:17:18AM +0000, Martijn van Buul wrote:
> It occurred to me that Jonathan A. Kollasch wrote in gmane.os.netbsd.current:
> > For me (running under /amd64), it always comes back, after 5-15 minutes.
> > And it does seem it may be caused by some traffic patterns.
>
> For me (Asus A8N-E, /amd64), it never comes back by itself - but dhclient
> somehow gets the job done, and the IP alias I use to access my modem will
> continue to work.
dhclient sets the interface to promiscuous mode. That usually entails
fiddling with the Rx filter. Maybe that shakes the receiver out of
its slumber?
A couple more thoughts:
ISTR reading a driver for an ethernet that said the receiver needs
to be suspended while the multicast filter is modified; maybe
nfe h/w is the same. If you add a printf() to nfe_setmulti(),
it might implicate itself in receiver catatonia.
nfe defines error flags for Rx descriptors (NFE_RX_ERROR) and
for the interrupt register (NFE_IRQ_RXERR|NFE_IRQ_RX_NOBUF).
Maybe the receiver needs to be restarted after a "routine"
Rx error with, e.g., NFE_WRITE(sc, NFE_RX_CTL, NFE_RX_START) ?
Dave
--
David Young OJC Technologies
dyoung@ojctech.com Urbana, IL * (217) 278-3933