From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Tue, 8 Sep 2015 11:23:33 +0200 Subject: [U-Boot] [PATCH v3 1/9] net: Revert "tftp: adjust settings to be suitable for 100Mbit ethernet" In-Reply-To: <1440739559-16225-1-git-send-email-bmeng.cn@gmail.com> References: <1440739559-16225-1-git-send-email-bmeng.cn@gmail.com> Message-ID: <55EEA915.3000104@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > Acked-by: Joe Hershberger Just tried current mainline on the smartweb board, and had the same issue. Your patch fixed it, thanks! Tested-by: Heiko Schocher 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