Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Aug 2004 12:25:34 -0700 (PDT)
From:      Doug Ambrisko <ambrisko@ambrisko.com>
To:        "George V. Neville-Neil" <gnn@neville-neil.com>
Cc:        current@freebsd.org
Subject:   Re: lnc0 in VmWare doesn't work
Message-ID:  <200408151925.i7FJPY77070941@ambrisko.com>
In-Reply-To: <m2oeldcxg2.wl@minion.local.neville-neil.com>

next in thread | previous in thread | raw e-mail | index | archive | help
FYI, if you are using a newer version of vmware we ran into a bug in
which the virtual NICs are reset as the system boots up.  So once
interrupts are enabled you get a "storm" of packets ignored by driver.
Here is a patch for -stable that should be close for -current etc.

Index: sys/i386/isa/if_lnc.c
===================================================================
RCS file: /usr/local/cvsroot/freebsd/src/sys/i386/isa/Attic/if_lnc.c,v
retrieving revision 1.68.2.5
diff -u -p -r1.68.2.5 if_lnc.c
--- sys/i386/isa/if_lnc.c	13 Feb 2002 00:43:10 -0000	1.68.2.5
+++ sys/i386/isa/if_lnc.c	24 Mar 2004 16:12:00 -0000
@@ -1244,6 +1244,8 @@ lnc_attach_sc(struct lnc_softc *sc, int 
 
 	ether_ifattach(&sc->arpcom.ac_if, ETHER_BPF_SUPPORTED);
 
+	lnc_init(sc);
+
 	printf("lnc%d: ", unit);
 	if (sc->nic.ic == LANCE || sc->nic.ic == C_LANCE)
 		printf("%s (%s)",
@@ -1338,6 +1340,8 @@ lnc_init(xsc)
 
 	s = splimp();
 	lnc_stop(sc);
+	inw(sc->rdp + PCNET_RESET - PCNET_RDP);
+	outw(sc->rdp + PCNET_RESET - PCNET_RDP, 0);
 	sc->arpcom.ac_if.if_flags |= IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; /* XXX??? */
 
 	/*

Doug A.



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