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.
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.
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`