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

Heiko Schocher hs at denx.de
Tue Sep 8 11:23:33 CEST 2015


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",
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list