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