Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Mar 2012 09:34:33 -0800
From:      Jack Vogel <jfvogel@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        jfv@freebsd.org, freebsd-net@freebsd.org, Andreas Longwitz <longwitz@incore.de>, Pyun YongHyeon <yongari@freebsd.org>
Subject:   Re: Intel 82550 Pro/100 Ethernet and Microcode
Message-ID:  <CAFOYbc=_j_SoP6Z-cSbF7PnAVgpy4ehKfbbZup_fWB8e=j4RPg@mail.gmail.com>
In-Reply-To: <CAJ-Vmo===vnCgh2hg2azjYY=hzJ7S%2BGGYF_-q2tiReHPME4FpQ@mail.gmail.com>
References:  <4F594856.3030303@incore.de> <CAJ-Vmo===vnCgh2hg2azjYY=hzJ7S%2BGGYF_-q2tiReHPME4FpQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I do not own, nor have ever touched the fxp driver, so don't really have an
opinion.

Jack


On Fri, Mar 9, 2012 at 1:36 AM, Adrian Chadd <adrian@freebsd.org> wrote:

> Hi!
>
> That's actually a really good catch!
>
> yongari/jfv, what do you think?
>
>
> Adrian
>
> On 8 March 2012 16:01, Andreas Longwitz <longwitz@incore.de> wrote:
> > Hi,
> >
> > recently I installed FreeBSD 8.2 Stable on some older machines with
> > Intel 82550 and 82550C and found that the loading of microcode with the
> > parameter link0 in the ifconfig command did not work anymore. The reaso=
n
> > for this is the commit r223608 for if_fxp.c with the comment:
> >
> > Disable microcode loading for 82550 and 82550C controllers. Loading
> > the microcode caused SCB timeouts.
> >
> > I do not agree with this motivation and try to explain why.
> >
> > Without loading the microcode on 82550(C) there is a problem with
> >   mount_nfs -U server:/bigdisk /mnt
> >   cp /mnt/bigfile bigfile
> >
> > NFS with UDP works with 8 KB blocks and the cp hangs after some seconds
> > and you see SCB messages on the console. The reason is the TCO bug of
> > the hardware mentioned in rcvbundl.h. This old hardware bug disappears
> > after loading the microcode.
> >
> > All my hardware run without problems in FreeBSD 4.11, loading of
> > microcode is done by the function fxp_load_ucode(). Later there was
> > trouble with the loading of microcode, see kern/103332 and kern/118909.
> > I have posted my solution for the problem to kern/103332 but
> > unfortunately this PR is not online anymore and so I repeat my
> > considerations here.
> >
> > The difference of the function fxp_load_ucode() of FreeBSD 4.11 and
> > later versions is that this function in 4.11 has an own private memory
> > buffer for construction of the microcode message. In later versions
> > fxp_load_ucode() must use a memory buffer that is shared with other
> > parts of the driver and these other parts of the driver have problems i=
f
> > the shared memory buffer was used by fxp_load_ucode() before. Thats the
> > reason for "Loading microcode caused SCB timeouts".
> >
> > Therefore my proposal is to revert r223608 and to clean the used shared
> > buffer at the end of the function fxp_load_ucode(). The following patch
> > works for me for years now:
> >
> > --- if_fxp.c.orig       2012-01-26 12:43:09.000000000 +0100
> > +++ if_fxp.c    2012-03-08 23:41:32.000000000 +0100
> > @@ -3085,6 +3081,7 @@
> >            sc->tunable_int_delay,
> >            uc->bundle_max_offset =3D=3D 0 ? 0 : sc->tunable_bundle_max)=
;
> >        sc->flags |=3D FXP_FLAG_UCODE;
> > +       bzero(cbp, (uc->length + 2) * sizeof(uint32_t));
> >  }
> >
> >
> > --
> > Dr. Andreas Longwitz
> >
> > Data Service GmbH
> > Beethovenstr. 2A
> > 23617 Stockelsdorf
> > Amtsgericht L=FCbeck, HRB 318 BS
> > Gesch=E4ftsf=FChrer: Wilfried Paepcke, Dr. Andreas Longwitz, Josef Flat=
au
> > _______________________________________________
> > freebsd-net@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFOYbc=_j_SoP6Z-cSbF7PnAVgpy4ehKfbbZup_fWB8e=j4RPg>