Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Dec 2005 12:56:33 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
To:        FreeBSD current mailing list <current@freebsd.org>
Subject:   Re: nve(4) patch - please test!
Message-ID:  <20051210125221.M23668@maildrop.int.zabbadoz.net>
In-Reply-To: <20051209175607.C23668@maildrop.int.zabbadoz.net>
References:  <20051209175607.C23668@maildrop.int.zabbadoz.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 9 Dec 2005, Bjoern A. Zeeb wrote:

Hi,

> everyone out there who had only seen timeouts like
> 	nve0: device timeout (4)
> on nve and __never got it working at all__ please try this patch[1]
> which made my nve working from 0 to 99.
>
> I still can get timeouts by for example flood pinging another machine
> on the local LAN but it all recovers on it's own and I can work on
> that machine and do things like find / over ssh without losing
> connectivity. Fixing the timeouts will be another problem that needs
> to be addressed later.

After removing hw.physmem="3G" from my loader.conf of my 4GB RAM
machine I noticed that nve again was not working.

Anyone with >= 4GB RAM might want to try the updated version of the
patch which helps here.


[1] http://sources.zabbadoz.net/freebsd/patchset/nve-20051210-01.diff

Index: if_nve.c
===================================================================
RCS file: /shared/mirror/FreeBSD/r/ncvs/src/sys/dev/nve/if_nve.c,v
retrieving revision 1.19
diff -u -p -r1.19 if_nve.c
--- if_nve.c	7 Dec 2005 17:38:03 -0000	1.19
+++ if_nve.c	10 Dec 2005 12:53:06 -0000
@@ -643,6 +643,10 @@ nve_init_locked(struct nve_softc *sc)
  	nve_stop(sc);
  	DEBUGOUT(NVE_DEBUG_INIT, "nve: do pfnInit\n");

+	/* Setup multicast filter */
+	nve_setmulti(sc);
+	nve_ifmedia_upd_locked(ifp);
+
  	/* Setup Hardware interface and allocate memory structures */
  	error = sc->hwapi->pfnInit(sc->hwapi->pADCX,
  	    0, /* force speed */ 
@@ -661,10 +665,6 @@ nve_init_locked(struct nve_softc *sc)
  	sc->hwapi->pfnEnableInterrupts(sc->hwapi->pADCX);
  	sc->hwapi->pfnStart(sc->hwapi->pADCX);

-	/* Setup multicast filter */
-	nve_setmulti(sc);
-	nve_ifmedia_upd_locked(ifp);
-
  	/* Update interface parameters */
  	ifp->if_drv_flags |= IFF_DRV_RUNNING;
  	ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
@@ -1306,7 +1306,7 @@ nve_osalloc(PNV_VOID ctx, PMEMORY_BLOCK
  	sc = (struct nve_softc *)ctx;

  	mem->pLogical = (PVOID)contigmalloc(mem->uiLength, M_DEVBUF,
-	    M_NOWAIT | M_ZERO, 0, ~0, PAGE_SIZE, 0);
+	    M_NOWAIT | M_ZERO, 0, 0xffffffff, PAGE_SIZE, 0);

  	if (!mem->pLogical) {
  		device_printf(sc->dev, "memory allocation failed\n");

-- 
Bjoern A. Zeeb				bzeeb at Zabbadoz dot NeT



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