[U-Boot] Slow tftp boot with Ubuntu 12.04 tftp server

Hi
I am using an Advantech TMX320TCI6614 EVM to develop code for an ARM core on a TI C66x device. The ARM core runs:
U-Boot 2011.06-00002-gc4611c1-dirty (May 30 2012 - 15:38:01)
I have booted this target card for several months from a tftp server running under Ubuntu 10.04, with no problems. But, this week, I have tried to move to a tftp server that runs on a different machine running Ubuntu 12.04 LTS.
Since moving to Ubuntu 12.04 the tftp download is very slow, although it does succeed eventually. I have tried getting the boot files using a tftp client running on another Ubuntu host and the download is fast.
Please can anyone suggest a reason for the slow download when using the EVM with the 12.04 server?
Best regards
David

I would like to give some more information about my problem. u-boot's tftp transfers do eventually complete and the evm boots. I can then execute tftp get commands from Linux on the evm and these execute quickly. So the problem definitely has to do with the way u-boot uses tftp.
BR
David
-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot- bounces@lists.denx.de] On Behalf Of David Aldrich Sent: 17 January 2013 11:19 To: u-boot@lists.denx.de Subject: [U-Boot] Slow tftp boot with Ubuntu 12.04 tftp server
Hi
I am using an Advantech TMX320TCI6614 EVM to develop code for an ARM core on a TI C66x device. The ARM core runs:
U-Boot 2011.06-00002-gc4611c1-dirty (May 30 2012 - 15:38:01)
I have booted this target card for several months from a tftp server running under Ubuntu 10.04, with no problems. But, this week, I have tried to move to a tftp server that runs on a different machine running Ubuntu 12.04 LTS.
Since moving to Ubuntu 12.04 the tftp download is very slow, although it does succeed eventually. I have tried getting the boot files using a tftp client running on another Ubuntu host and the download is fast.
Please can anyone suggest a reason for the slow download when using the EVM with the 12.04 server?
Best regards
David
Click https://www.mailcontrol.com/sr/gy6n!KN6KZHGX2PQPOmvUi5k6UwC82173 j1nKEDGDxQEKt0qtqc7COBYlPdIuP1TMPbtT3ZYZ55kxH4nYzTQYQ== to report this email as spam.

Could you remove CONFIG_USB_KEYBOARD setting from your configuration file (.h under include/configs) and recompile to see whether problem disappears?
If yes, this is the problem I'm working on. Otherwise it's another issue.
On Thu, 2013-01-17 at 23:29 +0800, David Aldrich wrote:
I would like to give some more information about my problem. u-boot's tftp transfers do eventually complete and the evm boots. I can then execute tftp get commands from Linux on the evm and these execute quickly. So the problem definitely has to do with the way u-boot uses tftp.
BR
David
-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot- bounces@lists.denx.de] On Behalf Of David Aldrich Sent: 17 January 2013 11:19 To: u-boot@lists.denx.de Subject: [U-Boot] Slow tftp boot with Ubuntu 12.04 tftp server
Hi
I am using an Advantech TMX320TCI6614 EVM to develop code for an ARM core on a TI C66x device. The ARM core runs:
U-Boot 2011.06-00002-gc4611c1-dirty (May 30 2012 - 15:38:01)
I have booted this target card for several months from a tftp server running under Ubuntu 10.04, with no problems. But, this week, I have tried to move to a tftp server that runs on a different machine running Ubuntu 12.04 LTS.
Since moving to Ubuntu 12.04 the tftp download is very slow, although it does succeed eventually. I have tried getting the boot files using a tftp client running on another Ubuntu host and the download is fast.
Please can anyone suggest a reason for the slow download when using the EVM with the 12.04 server?
Best regards
David
Click https://www.mailcontrol.com/sr/gy6n!KN6KZHGX2PQPOmvUi5k6UwC82173 j1nKEDGDxQEKt0qtqc7COBYlPdIuP1TMPbtT3ZYZ55kxH4nYzTQYQ== to report this email as spam.
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
--nvpublic

On Thu, Jan 17, 2013 at 8:29 AM, David Aldrich David.Aldrich@emea.nec.comwrote:
I would like to give some more information about my problem. u-boot's tftp transfers do eventually complete and the evm boots. I can then execute tftp get commands from Linux on the evm and these execute quickly. So the problem definitely has to do with the way u-boot uses tftp.
I have experienced similar issues. It seems that once U-Boot's TFTP client has trouble with one packet that it tends to have a lot more trouble thereafter. For example, if the file I try to TFTP doesn't exist when I start the transfer, it retries until the file does exist at which time it starts the transfer (so far, so good), but the file transfer is then very slow. If I press CTRL-C to stop it then start it again, it runs quickly.
I have also had problems using TFTP from U-Boot through Ethernet hubs that seem to work well for everything else. Replacing the hubs with switches solved the problem in multiple cases.
I haven't tried to capture the packets and troubleshoot it, but it seems like there is something non-optimal in the timing.
Steve

On Thu, Jan 17, 2013 at 5:19 AM, David Aldrich David.Aldrich@emea.nec.comwrote:
Hi
I am using an Advantech TMX320TCI6614 EVM to develop code for an ARM core on a TI C66x device. The ARM core runs:
U-Boot 2011.06-00002-gc4611c1-dirty (May 30 2012 - 15:38:01)
I have booted this target card for several months from a tftp server running under Ubuntu 10.04, with no problems. But, this week, I have tried to move to a tftp server that runs on a different machine running Ubuntu 12.04 LTS.
Since moving to Ubuntu 12.04 the tftp download is very slow, although it does succeed eventually. I have tried getting the boot files using a tftp client running on another Ubuntu host and the download is fast.
Please can anyone suggest a reason for the slow download when using the EVM with the 12.04 server?
TFTP is a very simple protocol and proceeds in lock step - get a request, send a block, wait for an ack of the last block, send the next block, etc. If either side times out, it will retry, but it can take quite a while. I would suggest to do some logging on the tftp server side or run wireshark or tcpdump and look for retries.

Am 17.01.2013 12:19, schrieb David Aldrich:
Hi
I am using an Advantech TMX320TCI6614 EVM to develop code for an ARM core on a TI C66x device. The ARM core runs:
U-Boot 2011.06-00002-gc4611c1-dirty (May 30 2012 - 15:38:01)
I have booted this target card for several months from a tftp server running under Ubuntu 10.04, with no problems. But, this week, I have tried to move to a tftp server that runs on a different machine running Ubuntu 12.04 LTS.
Since moving to Ubuntu 12.04 the tftp download is very slow, although it does succeed eventually. I have tried getting the boot files using a tftp client running on another Ubuntu host and the download is fast.
Please can anyone suggest a reason for the slow download when using the EVM with the 12.04 server?
Try setting the max. blocksize explicit, e.g. I'm using -B 1460 here. It depends on the used tftp-server.
Regards,
Alexander

Try setting the max. blocksize explicit, e.g. I'm using -B 1460 here. It depends on the used tftp-server.
Hi Alexander
Thanks for your reply. Please will you confirm the exact syntax? I tried:
# tftp -B 1460 0x80000200 tci6614-evm.dtb tftpboot - boot image via network using TFTP protocol
Usage: tftpboot [loadAddress] [[hostIPaddr:]bootfilename]
I also tried:
setenv tftpblocksize 1460
but that made no difference.
What is the correct way of specifying the block size please?
David

Am 18.01.2013 11:16, schrieb David Aldrich:
Try setting the max. blocksize explicit, e.g. I'm using -B 1460 here. It depends on the used tftp-server.
Hi Alexander
Thanks for your reply. Please will you confirm the exact syntax? I tried:
# tftp -B 1460 0x80000200 tci6614-evm.dtb tftpboot - boot image via network using TFTP protocol
Usage: tftpboot [loadAddress] [[hostIPaddr:]bootfilename]
I also tried:
setenv tftpblocksize 1460
but that made no difference.
What is the correct way of specifying the block size please?
That -B n is an option for the server, which is in my case (not Ubuntu) called in.tftpd and comes from the package tftpd-hpa (a Linux port of the OpenBSD TFTP server).
So you have to change that on your Ubuntu box.
Regards,
Alexander
participants (5)
-
Alexander Holler
-
Andrew Dyer
-
David Aldrich
-
Jim Lin
-
Steve Strobel