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

Hector Palacios
2013-03-13T17:14:52Z

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?

Best regards,
--
H?ctor Palacios