Actions

DSFTP

From GameBrew - a wiki dedicated to Video Game Homebrew.

DSFTP
DSFTP.png
General
Author(s)Bjoern Giesler
TypeUtilites
Version2.6
LicenceMixed
Links
Download
Website
Advertisements


DSFTP is a proof-of-concept FTP server and software component for the NDS. It is a full-fledged FTP server, with the additional ability to boot .nds files directly from the FTP prompt (currently only tested on SuperCard CF and DS).

DSFTP is two things: A stand-alone server (as before), and a software component you can link to your code to run an FTP server from your own program. This component is called libDSFTP.

It was submitted for the Neoflash Summer Coding Comp 2006 (winner).

Installation

  1. Download and unzip file.
  2. Copy the DSFTP.nds (or .ds.gba) file to your flash card.

For development, it's best to copy libDSFTP.a and libDSFTPd.a to your devkitpro's lib directory, and the include directory to your devkitpro's include dir.

User guide

When you start the app it will auto connect using the Wifi settings in your DS and confirm the IP address at the bottom of the screen. If a config file is not found then it creates and displays a 'default' user and password that you can use to access the DS. Use your favourite FTP program to connect to the IP address and authenticate with the username and password. You can then copy to/from and delete files from your card.

Create config

1. Create a text file called 'ftp.conf' in '(root)/data/settings/' File name and location is critical.

2. Using a text editor (eg. notepad) add the following text to the file:

user joe
pass whatever
root /
home /
write true
boot true
end user

3. Change the user and pass to one of your choosing.

4. Save the file .

Further details on setting up the server with custom settings.

Known issues

  • Acquiring DHCP - Could not connect. Please restart.
Many Homebrew Wifi apps can't connect to Access Points using DHCP. The work around is to use a fixed IP address.
  • Seems to crash at the end of a long upload
  • Upload speeds can be very slow (<1kb/sec)
  • Booting only verified to work on Supercard CF and Supercard SD.
  • Performance tested using the following clients. Performance with other clients unknown, but should work.
command-line FTP on Mac/DOS
RBrowser Lite on Mac
MacOS X virtual FTP file system
Firefox
FileZilla
FireFTP (Firefox plugin)
WS_FTP

Changelog

Version 2.6

  • Fixed hangs on some hardware combinations
  • Fixed bug which caused directory contents not to be reported correctly
  • Introduced new config option transferblocksize

Version 2.5

  • Upgraded to devkitpro 21, so linking to libDSFTP should work now
  • Uses DSWifi 0.34, so people with newer DS Lites should have no problems
  • Uses libfat instead of gba_nds_fat, which should be more stable
  • Uses DSGUI for graphics and file-system interface

Version 2.4

  • The FAT driver has been upgraded to chishm's DLDI file system driver interface. The pre-compiled version comes with Supercard CF driver installed. No other interfaces will be supported any more. If you have a different flash card, please patch the DSFTP binary yourself.

Version 2.3

  • UNZP added (submitted by Bertrand Augereau)
  • DS->PC file transfer speeded up a lot (patch to DSWifi submitted by masscat)
  • Linked with Devkit R18 again (fixes some showstopper bugs)
  • More bugfixes

Version 2.2

  • Glaring bug fixed that caused GBAMP not to work anymore
  • Booting verified on SuperCard and GBAMP now
  • CDUP command supported
  • More bugfixes

Version 2.1

  • Unified bootloading should now support most cards
  • Auto-generated user & pass if none specified
  • More bugfixes