Last edited:
You're not going to find any open-source firmware that compiles out of the box for the mavic.
I'm pretty sure it's an entirely proprietary FC, though based on ARM SOC, etc (multiple ARM processors if I remember correctly).
I believe someone else was reverse engineering the protocol somewhere on one of the forums.
The Mavic definitely runs Linux internally, as does the RC, they use a proprietary RF link (Occusync) to communicate with one another wirelessly. And it has many 100% custom drivers, and services that run on the Linux OS on-device which you'd need to be able to interface with the hardware.
As I said someone did reverse engineer some of it, and has for example dumped the firmware file, and been able to trigger boot mode on the drone to get it to give a hardware serial port (which was used to drop to a Linux commandline on the drone for example).
Cool, that's very possible if it's using ROS/Mavlink. But I doubt if anyone has that info easily available yet
Why not give it a try yourself! If you can get to a point of connecting to a shell, you can likely poke around to discover more about what's there.
I'm personally going to be undertaking a similar project eventually, as I would really like to know if there is a way to access the DAT file logs from the drone itself, via the wireless link. (Obviously not through any official DJI API, but wondering if it's even possible lol...)
Would love to see how you do on this!
I'm not interested in changing anything about operation, I just want to grab the DAT file as-is so it could be processed in a file similar to datcon. Without needing to plug the mavic itself into a PC via USB (ie: I'd like to be able to do this after a flight easily, once I have WiFi, obviously not over the cell network as the data usage would be insane lol).Access is possible but absolutely meaningless because all files are encrypted by onboard core libs and you can not make any changes. First what we need to know on which level restrictions applied. After that we will decide how to solve it
View attachment 9446
The .DAT file on the Mavic (and several other DJI drones) isn't encrypted. It's encoded though. It's a distinction with a real difference. The encoding scheme is well understood and easily decoded. If it were encrypted in a serious way there would be no way to decrypt it.
The older versions of the DJI Assistant compress the .DAT; i.e. they don't encrypt the .DAT. If the .DAT is compressed then ExtractDJI can be used to decompress it. The newer versions of DJI Assistant don't compress the .DAT. In either case, the .DAT that exists on the Mavic is identical to the .DAT that is submitted to CsvView/DatCon.
I saw that and would be interested to see if this is possible. You might want to check out....
My main challenge, is I'd like a way to fetch the DAT files in a simpler way (not requiring the connection of the drone to a PC/Mac). So exploring what options there are. Upon finding out that both the RC and Aircraft run Linux, I had hoped there was some mechanism allowing me to connect over the Occusync link, but it appears it's not a "conventional" network interface. Doesn't mean it's impossible though, just need to better understand the system architecture of the RC/Aircraft/Mobile Device triad, and all appropriate communication paths.
I saw that and would be interested to see if this is possible. You might want to check out
Hooking P3A to PC for more info.
I never did understand exactly what the procedure is, but he seems to be bypassing the necessity of the AC being in flight data mode to get at the internal .DAT. He still has to use a USB/PC connection, but maybe it's part way to the solution you're after.
We use essential cookies to make this site work, and optional cookies to enhance your experience.