[U-Boot] TFTP pause and timeout on MX28 platforms

Marek Vasut
2013-03-13T18:10:13Z

Dear Hector Palacios,

> Dear Marek Vasut,
>
> On 03/13/2013 05:52 PM, Marek Vasut wrote:
> > Dear Hector Palacios,
> >
> >> Dear Marek Vasut,
> >>
> >> On 03/13/2013 05:19 PM, Marek Vasut wrote:
> >>> Dear Hector Palacios,
> >>>
> >>>> Dear Marek Vasut,
> >>>>
> >>>> On 03/13/2013 11:58 AM, Marek Vasut wrote:
> >>>>> Dear Hector Palacios,
> >>>>>
> >>>>>> Hello,
> >>>>>>
> >>>>>> When doing large TFTP downloads (files bigger than 10MiB) on my MX28
> >>>>>> platform I'm sometimes experiencing pauses and timeouts. U-Boot will
> >>>>>> eventually restart the transmission and sometimes may successfully
> >>>>>> complete the download, but other times it won't.
> >>>>>> On my platform it was somewhat mitigated (but not resolved) by
> >>>>>> reverting this patch from Marek:
> >>>>>>
> >>>>>> commit 67449098a86be18cbdb27345bebe8da57e5d8899
> >>>>>> Author: Marek Vasut <marex@denx.de>
> >>>>>> Date: Wed Aug 29 03:49:50 2012 +0000
> >>>>>>
> >>>>>> FEC: Rework the TX wait mechanism
> >>>>>>
> >>>>>> The problem is reproducible in Freescale's MX28EVK.
> >>>>>> The larger the file, the more chances to see the problem. Please try
> >>>>>> with 50MiB files or larger. Has anybody else seen it?
> >>>>>>
> >>>>>> On an old U-Boot v2009 TFTP transmission was twice slower than with
> >>>>>> v2013, but didn't suffer from this.
> >>>>>
> >>>>> What version of u-boot do you use ? It was resolved in recent
> >>>>> versions.
> >>>>
> >>>> I'm using v2013.01.
> >>>> Could you please point me to the commit(s) that solve it?
> >>>> The commits I see on drivers/net/fec_mxc.c after v2013.01 are from
> >>>> Troy Kisky and don't seem to address this.
> >>>
> >>> commit c0b5a3bbb0cd40a6b23b7b07e2182a5bcdc8c31c
> >>> Author: Marek Vasut <marex@denx.de>
> >>> Date: Wed Aug 29 03:49:51 2012 +0000
> >>>
> >>> FEC: Replace magic contants
> >>>
> >>> and the three before this one. Is your PHY operating correctly? This
> >>> fixed the hangs on multiple MX28 platforms for me.
> >>
> >> v2013.01 contains all these patches but I was able to reproduce this
> >> both on my platform and on the mx28evk.
> >>
> >> My problem is not a hang, but TFTP pauses (1 to 3 seconds) and timeouts:
> >> #################################################################
> >> #####################################################T T T T T T
> >>
> >> At first I thought it was my platform's PHY (Micrel KSZ8031) but I also
> >> see it on mx28evk.
> >
> > Do you use PHYLIB (see configs/sc_sps_1.h for example)? Also check if
> > your transceiver mode is not misconfigured. Moreover, see
> > board/denx/m28evk/spl_boot.c fecmxc_mii_postcall(), maybe you also need
> > to program some registers of the PHY (V11 and V10 prototypes used
> > KSZ8051)?
>
> No I don't use PHYLIB. My platform is based on Freescale's mx28evk (not
> DENX's m28evk). I saw fecmxc_mii_postcall() and I do a similar thing
> because of my phy model KSZ8031, but as I said the pauses and timeouts
> occur in both platforms (mx28evk uses a different PHY: SMSC LAN8720a).
>
> Are you able to download a 50MiB file via TFTP several times without any
> problem on m28evk?

Yes.

btw. the original TFTP had size limit of 32MB, aren't you hitting this?

Best regards,
Marek Vasut