This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SIMPLELINK-MSP432-SDK: FTP Server in NDK for MSP432

Part Number: SIMPLELINK-MSP432-SDK

Is there a FTP Server implementation in the NDK for Simplelink MSP432 SDK?  If it is not currently available, is there a recommended implementation that we can use that requires a minimum porting effort?

Also, the same questions about the TFTP Server?

Thank you.

MIchael Polyakov

  • I cannot find any information about FTP. Please see the following for TFTP:

    dev.ti.com/.../NDK_API_Reference.html

    Regards,
    Chris
  • I have seen this document before, and the TFTP is also lacking, since it is not a server implementation.  I was looking for a server, so I can read/write files to the file system on board from my development machine.

  • We don't have an FTP server in the NDK.
  • Unlocking this posting.

  • I had the same question, then I found this:
    www.ti.com/.../spract8.pdf
    describing porting an FTP server from the K2G SDK, to a K2H.
    Searching through the SDK mentioned in that article, I found 3 source files and some headers that nearly compiled.

    After a few tweaks, they now compile for my MSP432E411, and seem to work reasonably well with WinSCP.

    I have attached a zip with the original files, and another with the modified versions.
    Obviously, no guarantees, but here if you think it might be useful!

    I had them in a sub-directory of my TI RTOS project. The project also has the FatSD example and the TCP/IP NDK stack.
    I also had a console Display set up for Display_printf.
    The FatSD example is modified to leave the SD mounted (comment out the unmount at the end).

    In the NDK stack callback function netIPAddrHook (called when the IP address is assigned), add a call to ftpserver_init();
    This starts the server listening on port 21. It does everything else from there!

    This FTP server only implements "active mode" which is handled by the PORT command - it does not implement the PASV command for "passive mode", so WinSCP must be configured for active mode.
    This is done from the new connection window - Edit - Advanced - Connection - Clear the Passive check box.

    The only significant changes in ftpserver.c are UART_printf -> Display_printf.

    In ftp_commands.c:
    Added "PWD" to the command lookup table - it just calls the existing func_xpwd().
    Changed func_cwd (Change Working Directory) to call a new function ftp_filerout_changeDir();
    Changed func_list (Get directory list) to call a new function ftp_filerout_list(ioh);

    In ftp_filerout.c:
    Quite significant changes to interface with FAT file system - assumes root directory is 0: and files open with "fat:[working dir]/[filename]"
    New functions to handle directory listing and change working directory.


    Will edit when I found how to attach some zip files!

  • I had the same question, then I found this:
    www.ti.com/.../spract8.pdf
    describing porting an FTP server from the K2G SDK, to a K2H.
    Searching through the SDK mentioned in that article, I found 3 source files and some headers that nearly compiled.

    After a few tweaks, they now compile for my MSP432E411, and seem to work reasonably well with WinSCP.

    I have attached a zip with the original files, and another with the modified versions.
    Obviously, no guarantees, but here if you think it might be useful!

    I had them in a sub-directory of my TI RTOS project. The project also has the FatSD example and the TCP/IP NDK stack.
    I also had a console Display set up for Display_printf.
    The FatSD example is modified to leave the SD mounted (comment out the unmount at the end).

    In the NDK stack callback function netIPAddrHook (called when the IP address is assigned), add a call to ftpserver_init();
    This starts the server listening on port 21. It does everything else from there!

    This FTP server only implements "active mode" which is handled by the PORT command - it does not implement the PASV command for "passive mode", so WinSCP must be configured for active mode.
    This is done from the new connection window - Edit - Advanced - Connection - Clear the Passive check box.

    The only significant changes in ftpserver.c are UART_printf -> Display_printf.

    In ftp_commands.c:
    Added "PWD" to the command lookup table - it just calls the existing func_xpwd().
    Changed func_cwd (Change Working Directory) to call a new function ftp_filerout_changeDir();
    Changed func_list (Get directory list) to call a new function ftp_filerout_list(ioh);

    In ftp_filerout.c:
    Quite significant changes to interface with FAT file system - assumes root directory is 0: and files open with "fat:[working dir]/[filename]"
    New functions to handle directory listing and change working directory.


    Will edit when I found how to attach some zip files!

    Updating with

  • Hi Jim,

    Here are the two files you provided.

    ftp_original_files.zip

    ftp_modified.zip

**Attention** This is a public forum