File transfer over the telemetry link is not available
What ArduPilot says:
- FTP disabled
- failed to initialize MAVFTP
- Unsupported FTP: N
MAVFTP moves files over the MAVLink link. Ground stations use it to fetch all parameters in one go and to reach logs, scripts and terrain files on the card. “failed to initialize MAVFTP” means there was not enough free memory to start it; “FTP disabled” (4.7) that BRD_OPTIONS bit 1 switches it off; “Unsupported FTP: N” that the ground station used an operation this firmware does not have. Without MAVFTP the ground station falls back to reading parameters one by one, which is slow but works.
What to do, most likely first
BRD_OPTIONSbit 1 (Disable MAVftp) is set.FixClear the bit and reboot, unless it was set on purpose to save memory on a small board.
The board is short of free memory.
CheckThe ground station shows free memory (freemem in Mission Planner's status list). Other features may complain about memory too.
FixFree some: a smaller
SCR_HEAP_SIZEif scripts do not need it all, a smallerLOG_FILE_BUFSIZE, or switch off features you do not use, then reboot.
Parameters to look at
| Parameter | What it is |
|---|---|
BRD_OPTIONS | Board options |
SCR_HEAP_SIZE | Scripting Heap Size |
LOG_FILE_BUFSIZE | Logging File and Block Backend buffer size max (in kilobytes) |
Where to do it:Setup & Tuning Guide
The code that sends it
FTP disabled
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_FTP::handle_file_transfer_protocol() · Open in ArduPilot Copter-4.7.1
failed to initialize MAVFTP
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_FTP::init() · Open in ArduPilot Copter-4.7.1
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_MAVLINK::ftp_init() · Open in ArduPilot Copter-4.6.3
Unsupported FTP: N
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_FTP::Session::handle_request() · Open in ArduPilot Copter-4.7.1
libraries/GCS_MAVLink/GCS_FTP.cpp GCS_MAVLINK::ftp_worker() · Open in ArduPilot Copter-4.6.3