[U-Boot] [PATCH v3 1/9] net: Revert "tftp: adjust settings to be suitable for 100Mbit ethernet"

Hannes Schmelzer hannes at schmelzer.or.at
Tue Sep 8 12:13:44 CEST 2015


Hi,

what about:
https://patchwork.ozlabs.org/patch/510476/

best regards,
Hannes


On 08.09.2015 11:23, Heiko Schocher wrote:
> Hello Bin,
>
> Am 28.08.2015 um 07:25 schrieb Bin Meng:
>> Commit 620776d "tftp: adjust settings to be suitable for 100Mbit 
>> ethernet"
>> causes the following error message when trying to load a file using 
>> 'tftp'
>> command via a tftp server.
>>
>>      TFTP error: 'Unsupported option(s) requested' (8)
>>
>> This is due to with commit 620776d changes, the tftp option 'timeout'
>> value is now set to zero which is an invalid value as per RFC2349 [1].
>> Valid values range between "1" and "255" seconds, inclusive. With some
>> tftp servers that strictly implement the RFC requirement, it reports
>> such an error message.
>>
>> Revert commit 620776d for RFC compliance.
>>
>> [1] https://www.ietf.org/rfc/rfc2349.txt
>>
>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>> Acked-by: Joe Hershberger <joe.hershberger at ni.com>
>
> Just tried current mainline on the smartweb board, and had the
> same issue. Your patch fixed it, thanks!
>
> Tested-by: Heiko Schocher <hs at denx.de>
>
> bye,
> Heiko
>>
>> ---
>>
>> Changes in v3:
>> - Drop e1000 build warning patch which is already applied
>>
>> Changes in v2:
>> - Rewrite the commit message to mention RFC2349
>>
>>   net/tftp.c | 10 +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/net/tftp.c b/net/tftp.c
>> index 18ce84c..89be32a 100644
>> --- a/net/tftp.c
>> +++ b/net/tftp.c
>> @@ -19,10 +19,10 @@
>>   /* Well known TFTP port # */
>>   #define WELL_KNOWN_PORT    69
>>   /* Millisecs to timeout for lost pkt */
>> -#define TIMEOUT        100UL
>> +#define TIMEOUT        5000UL
>>   #ifndef    CONFIG_NET_RETRY_COUNT
>>   /* # of timeouts before giving up */
>> -# define TIMEOUT_COUNT    1000
>> +# define TIMEOUT_COUNT    10
>>   #else
>>   # define TIMEOUT_COUNT  (CONFIG_NET_RETRY_COUNT * 2)
>>   #endif
>> @@ -711,10 +711,10 @@ void tftp_start(enum proto_t protocol)
>>       if (ep != NULL)
>>           timeout_ms = simple_strtol(ep, NULL, 10);
>>
>> -    if (timeout_ms < 10) {
>> -        printf("TFTP timeout (%ld ms) too low, set min = 10 ms\n",
>> +    if (timeout_ms < 1000) {
>> +        printf("TFTP timeout (%ld ms) too low, set min = 1000 ms\n",
>>                  timeout_ms);
>> -        timeout_ms = 10;
>> +        timeout_ms = 1000;
>>       }
>>
>>       debug("TFTP blocksize = %i, timeout = %ld ms\n",
>>
>



More information about the U-Boot mailing list