User Tools

Site Tools

Translations of this page:


Known DUML commands, to be sent over the virtual USB COM port (or TCP for devices without one):

Enter Flight Log mode (Verified on Mavic with .700 FW)

Note: Recent firmwares (>=01.03.0900 on Mavic) do not store logs on the SD card but on the android partition so these are not effective anymore. Recent units delivered bith V01.03.1000 onwards are not even fitted with an SD card at all.

0x55 0x0D 0x04 0x33 0x2A 0xC3 0x44 0x31 0x40 0x03 0x39 0x1F 0x79
0x55 0x0E 0x04 0x66 0x2A 0x00 0x0B 0x34 0x40 0x00 0x01 0x05 0x81 0x4D

Upon issuing these 2 commands the Flight Controller's SD card containing the detailed .DAT logs is mounted (read-only) on the host computer. The directory is also mounted (read-only) on the aircraft's filesystem at /ftp/flyctrl. It is visible on the FTP server, but pulling files through FTP does not work since the read-only mount prevents creation of the temporary encrypted file by DJI's modified busybox binary. When rooted, the flight log card can be remounted rw using:

mount -o remount,rw /ftp/flyctrl

When uploading files to the card either through adb or FTP it seems the device will cause an IO error after about 1GB of transfer volume, requiring a reboot. Files can't be written through USB.

"September 2nd" Spark forced grounding on firmware versions < V01.00.0600

This is not done using the user-accessible `g_config_device_is_locked` FC parameter as it had been expected, but through some “internal-only” FC setting set with the following commands:


0x55 0x0e 0x04 0x66 0x02 0x03 0x87 0x00 0x40 0x03 0xfe 0x01 0xb4 0xe5


0x55 0x0e 0x04 0x66 0x02 0x03 0x87 0x00 0x40 0x03 0xfe 0x00 0x3d 0xf4

Status is preserved after a reboot.

The app needs to go online to learn about the instruction to lock the aircraft. On iOS if the aircraft is locked it is possible to uninstall the app, reinstall it, make sure there is no internet connection, launch the app, and the aircraft will be unlocked. Could not do the same on android, but a modded/offline app will not cause a lock.

Set date/time (verified on Mavic 01.03.0700 FW)

Command Set:0x00 Command:0x4a

Payload is `Y Y M D h m s`. Every character represents a byte, the year is 2 bytes (little endian). If you try to set the year to 2025 or higher, it will complain with `+++worong time`


howto/known-duml-commands.txt · Last modified: 2017/12/31 07:27 by kilrah