• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » BIOS » BIOS forum » Tftp from NtTftpRecv Speed
Share
BIOS
  • Forum
  • Announcements
Options
  • Subscribe via RSS

Forums

Tftp from NtTftpRecv Speed

This question is answered
RIZUAN
Posted by RIZUAN
on Sep 11 2012 01:16 AM
Expert1240 points

Hi everyone,

I've been using NtTftpRecv() function (under NDK) to transfer/receive a large file from my host through tftp protocol. I connect the ethernet cable supplied with my TMDSEVMC6678L to the board and another end to my host/PC. On my PC, I use a simple tftp server application, TFTP32. The problem is, the speed of transfer is very slow, around 480 kbytes/sec.

Here are what I've done about the problem:

1) I've changed my ethernet card that support gigabit ethernet. From my Windows Task Manager, it shows gigabit connection

2) I've changed the tftp server application to WinAgents TFTP Server 4, but I've got the same speed. Then I revert back to TFTP32 because it is freeware.

3) I've changed the TCP and UDP transmit and receive buffer from 8192 to 65535 inside my task (e.g.

// TCP Transmit buffer size

rc = 65535;    //8192;

CfgAddEntry( hCfg, CFGTAG_IP, CFGITEM_IP_SOCKTCPTXBUF, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0 );

I don't see any improvement after performing the above steps. I'm sure there is no network congestion in the network since it is just my PC and the board. Can anyone suggest me other method? I was thinking about increasing the tftp packet size from 512 but not sure how to do that. I have tried to change SEGSIZE value in ti/ndk/nettools/tftp/tftp.h but it caused error during transmission.

Will appreciate any respons and help.

Cheers,

Rizuan

tftp block size nttftprecv TCP buffer
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • RIZUAN
    Posted by RIZUAN
    on Sep 11 2012 01:20 AM
    Expert1240 points

    A little addition on my previous post, the data that I want to transfer to the board is 234881024 bytes in size. When testing using another PC at the other end of the ethernet cable, it tooks 145 sec. to complete. For the board, it tooks 482 sec. In both cases, the block size were configured as 512. Anyone interested to explain why this difference? My PC still using the magnetic hard drive whereas the memory that I want to write at the board is DDR3.

    Kind regards,

    Rizuan

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • RIZUAN
    Posted by RIZUAN
    on Sep 13 2012 06:46 AM
    Expert1240 points

    Hi everyone,

    A little addition on my previous post.

    RIZUAN
    I have tried to change SEGSIZE value in ti/ndk/nettools/tftp/tftp.h but it caused error during transmission

    What I did was change the SEGSIZE value, and change

    BytesRead  = recvfrom( pTftp->Sock, ReadBuffer, DATA_SIZE, 0,
                               (struct sockaddr *)&pTftp->tmpaddr, &addrLength );

    in tftp.c to

    BytesRead  = recvfrom( pTftp->Sock, ReadBuffer, DATA_SIZE, MSG_WAITALL,
                               (struct sockaddr *)&pTftp->tmpaddr, &addrLength );

    suggested by Steven Connell in other thread and I receives the same error. The error that I meant was only 512 bytes are received to my buffer. Similar with my previous posts.

    Is this mean that the tftp on the TMDSEVMC6678L are limited at 512 blocksize? I hope this is not true. Really hope I can transfer my data at a faster speed.

    Rizuan

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Steven Connell
    Posted by Steven Connell
    on Sep 14 2012 12:26 PM
    Verified Answer
    Verified by David Friedland
    Mastermind20540 points

    This post is being handled here:

    http://e2e.ti.com/support/embedded/bios/f/355/p/210519/755812.aspx#755812

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use