Constant stream of errors on msk0

Pyun YongHyeon pyunyh at gmail.com
Tue Feb 13 05:46:09 UTC 2007


On Tue, Feb 13, 2007 at 12:34:57AM -0500, Joe Marcus Clarke wrote:
 > On Tue, 2007-02-13 at 13:47 +0900, Pyun YongHyeon wrote:
 > > On Mon, Feb 12, 2007 at 07:38:03PM -0500, Joe Marcus Clarke wrote:
 > >  > On Tue, 2007-02-13 at 09:09 +0900, Pyun YongHyeon wrote:
 > >  > > On Mon, Feb 12, 2007 at 02:08:49PM -0500, Joe Marcus Clarke wrote:
 > >  > >  > -----BEGIN PGP SIGNED MESSAGE-----
 > >  > >  > Hash: SHA1
 > >  > >  > 
 > >  > >  > I recently upgraded my MacBook Pro from -STABLE to -CURRENT.  I used to
 > >  > >  > be using the Marvell myk driver for my wired ethernet.  This driver
 > >  > >  > worked fine.  I'm now using the built-in msk driver, but this driver
 > >  > >  > causes the interface to report a constant stream of input errors.  There
 > >  > > 
 > >  > > Would you explain this input errors?
 > >  > 
 > >  > netstat -i reports steadily increasing input errors (Ierrs) every time
 > >  > packets arrive on the machine.
 > >  > 
 > > 
 > > It looks like link speed/duplex mismatch.
 > > How about manual configuration?
 > > (e.g. ifconfig msk0 media 1000baseTX mediaopt full-duplex)
 > 
 > That was the first thing I though of.  I tried all settings from
 > 100BaseTX half/full to 1000BaseTX half/full to auto.  The same problem
 > was always observed.  Additionally, I turned off TSO to see if that made
 > any difference, and it did not.
 > 

Ok, let's see what's happending on your NIC.
Try attached patch and let me know the output.

 > Joe
 > 
 > -- 
 > Joe Marcus Clarke
 > FreeBSD GNOME Team      ::      gnome at FreeBSD.org
 > FreeNode / #freebsd-gnome
 > http://www.FreeBSD.org/gnome
-- 
Regards,
Pyun YongHyeon
-------------- next part --------------
Index: if_msk.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/msk/if_msk.c,v
retrieving revision 1.8
diff -u -r1.8 if_msk.c
--- if_msk.c	9 Jan 2007 01:31:22 -0000	1.8
+++ if_msk.c	13 Feb 2007 05:43:55 -0000
@@ -3029,11 +3029,13 @@
 	cons = sc_if->msk_cdata.msk_rx_cons;
 	do {
 		rxlen = status >> 16;
-		if ((status & GMR_FS_VLAN) != 0)
+		if ((status & GMR_FS_VLAN) != 0 &&
+		    (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0)
 			rxlen -= ETHER_VLAN_ENCAP_LEN;
 		if (len > sc_if->msk_framesize ||
 		    ((status & GMR_FS_ANY_ERR) != 0) ||
 		    ((status & GMR_FS_RX_OK) == 0) || (rxlen != len)) {
+			printf("0x%08x : %d : %d\n", status, rxlen, len);
 			/* Don't count flow-control packet as errors. */
 			if ((status & GMR_FS_GOOD_FC) == 0)
 				ifp->if_ierrors++;
@@ -3081,7 +3083,8 @@
 	cons = sc_if->msk_cdata.msk_rx_cons;
 	do {
 		rxlen = status >> 16;
-		if ((status & GMR_FS_VLAN) != 0)
+		if ((status & GMR_FS_VLAN) != 0 &&
+		    (ifp->if_capenable & IFCAP_VLAN_HWTAGGING) != 0)
 			rxlen -= ETHER_VLAN_ENCAP_LEN;
 		if (len > sc_if->msk_framesize ||
 		    ((status & GMR_FS_ANY_ERR) != 0) ||


More information about the freebsd-current mailing list