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

Hector Palacios
2013-03-14T12:05:29Z

Dear Marek Vasut,

On 03/13/2013 07:10 PM, Marek Vasut wrote:
> 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.

Interesting. What PHY does m28evk platform have? I was thinking on a problem of the
fec driver given that it can be reproduced in the mx28evk and in my platform, with
different PHYs, but if it is not reproducible in m28evk I'll need to recheck the
platform code.

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

No it's not a server problem. I can sometimes transfer bigger files without problems.
Other times it just pauses and/or timeouts after 3 or 4MiB.

Thank you
--
H?ctor Palacios