Constant stream of errors on msk0
Pyun YongHyeon
pyunyh at gmail.com
Mon Oct 29 19:26:32 PDT 2007
On Tue, Feb 20, 2007 at 01:40:37PM -0500, Joe Marcus Clarke wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Pyun YongHyeon wrote:
>
> >
> > Does the other GigE work without issues on Cisco 6500?
>
> I haven't tried this card on another gigE switch. However, the same
> switch port on the same switch did not exhibit these problems with the
> myk driver under 6.X. At least as far as I know my desk port was not
> moved in the IDF.
>
> >
> > The msk(4) can have a bug with autonegotiation but I've never seen
> > negotiation mismatches on msk(4). Whilst writing the driver I've
> > checked speed/link negotiation against gigabit switch and directly
> > connected GigE and I found nothing unusual. Of course, that does
> > not necessarily mean msk(4) is perfect for link negotiation.
> >
> > Because you've said myk(4) works well on Cisco 6500 I have to
> > diagnose the issue. When setting the link manually on gigabit
> > environments, nomally one side should be master and the other the
> > slave so how about forcing master bit on msk(4) side?
> >
> > #ifconfig msk0 media 1000baseTX mediaopt full-duplex link0
> > ^^^^^
>
> This does not help. I tried 1000BaseTX/full, 100BaseTX/full, and
> 100BaseTX/half. All three exhibited the same problem with constantly
> incrementing input errors.
>
Hi,
Are you still interesting in fixing autonegotiation issue on msk(4)
at 1000bps?
If so please try attached patch and let me know result.
--
Regards,
Pyun YongHyeon
-------------- next part --------------
Index: e1000phy.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/mii/e1000phy.c,v
retrieving revision 1.19
diff -u -r1.19 e1000phy.c
--- e1000phy.c 29 Oct 2007 05:50:22 -0000 1.19
+++ e1000phy.c 30 Oct 2007 01:56:55 -0000
@@ -397,8 +397,10 @@
/*
* Only used for autonegotiation.
*/
- if (IFM_SUBTYPE(ife->ifm_media) != IFM_AUTO)
+ if (IFM_SUBTYPE(ife->ifm_media) != IFM_AUTO) {
+ sc->mii_ticks = 0;
break;
+ }
/*
* check for link.
@@ -411,6 +413,8 @@
}
/* Announce link loss right after it happens. */
+ if (sc->mii_ticks++ == 0)
+ break;
if (sc->mii_ticks <= sc->mii_anegticks)
return (0);
More information about the freebsd-current
mailing list