Downgrading firmware on P3P from 1.10.9 to 1.7.6

Joined
Jan 15, 2017
Messages
82
Reaction score
42
(last updated: 2017/8/23)

NOTE: There have been mixed reports that attempting this on older AC revisions may cause bricks on older birds due to the differences in hardware revisions as listed here and referenced here.

PROCEED AT YOUR OWN RISK, THIS MAY BRICK YOUR BIRD. MAKE SURE TO READ THE ENTIRE POST BEFORE TRYING ANYTHING

This was started in the Phantom 3 pro firmware hacking tools thread, which got sidetracked with the original post this one is based on (my fault for that post). It was pointed out that the thread was becoming no longer relevant to the original discussion (which I agree, again, partly to blame for that), so I deleted the post and started a new one here.

This topic was started by Jarkko Sydänmaanlakka, who posted:
I downgraded from v1.10.9 and actually went down to v1.7.6 and also downgraded RCto 1.5.8 to get more Tx power. My bird is now back to state where it was when I bought it. I don't remember having a single problem with this fw combo.

After asking a few questions to clarify some points, I decided to start assembling this step-by-step list on how to 'safely' downgrade the firmware on the bird and controller.

As it's impossible to know all the potential edge cases that might come from this (upgrade history, different hardware revisions, etc), I put it up here so others can read and contribute. Together we are stronger and all that. :)

WARNING

You are doing this at your own risk and I will not/can not be held responsible for any bricks that result from this, I am just assembling the list of how to do this from posts scattered across multiple messages and forums.

This is not a guaranteed method, it’s what some people, including myself, have done and been successful with.

Updating the firmware is risky by it’s nature, and even more so with rolling back something that the manufactures did not intend to have rolled back. Add in that DJI apparently encrypts it’s module code and not all updates touch all the modules and it can get scary at times. However, if you are still willing to try, continue reading…

These are the steps to roll back from 1.10.0090 to 1.7.0060. Why 1.7.0060? This was the only version of the firmware that was released with an encrypted flight controller module, making it an ‘obvious’ choice for modifications. By accident or design of a disgruntled employee, no one who can tell is saying anything.

UPDATE: At this time, we have at least one successful 1.11 to 1.7.x rollback with debug use listed here. With DJI now actively working to prevent people from 'tweaking' the firmware, it is possible that 1.11 has something in it that makes this riskier than normal.

I will try to keep this updated as necessary as new information becomes available.

Note that the remote controller firmware will need to be rolled back as well (1.5.8 is known to work with 1.7.0060). Firmware 1.8.X and greater need RC firmware 1.6.X and up due to changes in the transmission protocol. The ‘graduation cap’ method may work for you, or it may not give you the option. If it doesn’t, then a possible manual method is listed as well.

I was able to roll back my professional with these steps. I don't have an advanced, so I can't verify that these step will work the same. In theory, they will as the only difference between the two is the camera/gimbal in use, but take that with a grain of salt!

Assumptions:
  • One is performing this on a phantom 3 advanced or professional (no idea if the other phantoms are the same).
  • One has copies of the official firmware files
  • One has a copy of an earlier DJI Go version (2.4.2, I found a copy on apkbeast)
Shorthand used:
  • p3a: Phantom 3 Advanced
  • p3p: Phantom 3 Professional
  • AC or bird: Aircraft (the phantom, either version)
  • RC: Remote Controller
  • FW: Firmware

The rollback order of FW versions going back to 1.7.0060 are:
The filenames are listed after the version number, and each line is a clickable link to download the FW zip from DJI (hopefully they don't remove them). These are the ones I used to rollback my p3p, the advanced filenames start with P3S, not X. If DJI moves/removes them, Google can help with finding alternate sources, search for the filename with the .bin or a .zip (hint hint). Make sure you have the right one!

An alternate source for the links to the FW files that lists even more is available here.

FOLLOW THESE DIRECTIONS STEP BY STEP, DO NOT SKIP ANY OF THEM, DO NOT SKIP FW VERSIONS, OR YOU MAY END UP WITH MISMATCHED MODULES OR EVEN BRICK YOUR BIRD.

Note that the debug flashing step(s) will take around 23 minutes, minimum, to finish. Make sure your battery is fully charged and in good shape!

The process:
  1. On an SD card, create a file named "P3S_FW_DEBUG" (p3a) or "P3X_FW_DEBUG" (p3p), contents of the file do not matter, it just needs to exist. If using Windows, make sure that the filename extension is not present. Google if you don't know how to check this
  2. Copy the previous version of the FW onto the SD card, not the version you want to finally roll back to. If you are starting with 1.10.0090, you will need to use version 1.9.0060.
  3. Flash the FW
  4. Once done, boot the phantom as normal and verify that the flash worked. If it did not, try again (I believe this is the correct thing to do if it did not flash on the first attempt).
  5. Remove the debug file and the now current FW, then put the next previous version on the SD card (1.8.0080).
  6. Flash and verify the change was successful
  7. Remove the 1.8.0080 FW file, put on the 1.7.0060 FW
  8. Flash and verify the change was successful
    • When I went to flash from 1.8 to 1.7, it would not downgrade in the normal method, I had to use the debug file
  9. Start up the DJI Go app and check the FW versions (you must not have any plus signs next to the numbers) and use the 'restore default settings' option
    • If the DJI app shows version numbers like 1.7.6+ (note the plus sign), this means that some modules did not get rolled back as they should have. In this case, you may have various issues with the compass, video feed, gimbal, etc. Reflash the 1.7.6 FW with the 'debug' file on the SD card.
  10. Perform a reset of the settings via the app.
  11. Profit! (?)
If you finish this and the FW versions list in the DJI app still show version numbers like 1.7.6+, something bad happened and a module(s) still did not get rolled back. Currently, the only possible fix is to update the firmware back to a point where the plus signs go away and work your way back again. This is not a guarantee that all will be well and you can try again, you may truly be stuck and have to send your bird in for repair.

For even more details on the firmware and modules, it is strongly suggested to check the phantom-firmware-tools github project page. Be warned that firmware modification is still in the early days and the page is meant for ‘advanced users’. In other words, beware, there be dragons and very sharp edges! Not for the faint of heart! :)

RC firmware rollback:
At this time, the information I have in front of me is limited and written from an Android device point of view (I don't have an iPad or equivalent, just Android devices). The following is known:
  • RC FW since 1.3.2 are only updated via DJI GoApp, not via USB drive.
  • RC FW 1.6 is only compatible with AC FW 1.8 or newer
  • When the DJI Go app does an update, it downloads a file from their server (i.e. RC_FW_V1.6.0.bin) into a folder named DJI/dji.pilot/package on the device storage and installs it from that location.
There are two methods for rolling back the FW that I have seen, the 'graduation method' and a manual method. The graduation method is the preferred way of doing this, but both are listed for better documentation.

Graduation Method
  1. Turn on your RC, plug in your android device and start the DJI Go app
  2. In the upper right hand corner, press and hold the icon for the Academy until a new screen appears
  3. From the drop down, choose the FW to roll back to and let it download and install
Manual Method
(Found on RC Firmware config · Issue #10 · mefistotelis/phantom-firmware-tools · GitHub by aka1ceman)
  1. Turn on RC, Plug in Tablet, start DJI Go (I used 2.4.2)
  2. Touch and hold top right corner of screen for 5-10 seconds. (tutorial button thanks to Inspire guys)
  3. New screen opens offering to downgrade RC. (I was offered 1.6 and 1.5.8)
  4. Download but do not install.
  5. Using file explorer replace and rename file
  6. I used RC file for 1.3.2 and renamed, and replaced the existing 1.5 file.
  7. Go back to DJI Go app and finish install. It will finish installing. It did install for me although renaming may not be the safest way. Hope this helps.
Things to do after this:
  • You may want to try doing the 'channel hack' to increase the number of channels the RC uses to talk to the AC. I may do this myself at a later date if I feel it will improve things.

Thanks goes to:
  • Jarkko Sydänmaanlakka for the original post listing the steps they took
  • notsolowki for starting the firmware thread and pointing out a step or two in case the main steps didn't quite work
  • aka1ceman on the github project page for posting a method to manually rollback RC firmware
  • mefistotelis for running the phantom-firmware-tools, an alternative implementation to parser from phantom-licensecheck, github project
EDIT: Added links to the FW files to download them from DJI
EDIT 7/17: Added commentary about the 1.11 FW reports and different versions of the gimbal
 
Last edited:
If someone ends up with "1.7.6+" (i had all modules updated to 1.7.6 and replaced new ESC/mainboard+motors, had 1.7.6+ after) just upgrade to latest FW, and go down one by one as explained. If you dont, you will get MC DATA ERROR at some point. Do not fly with 1.7.6+.
 
Well done, its great, but why upload this if is still WIP?
Originally, there was some... umm... 'heated debate' on the steps involved. I don't operate in a vacuum myself, and since I can't expect to know of every possible situation as I don't have a large collection of p3a/p to experiment with ;), I put it up here as a WIP so others can read and contribute what they know and have experienced.

As of this post, at least two people have successfully rolled back to 1.7.6 with this method (which is where a large part of the steps came from), with at least one other running into the plus-firmware issue which was resolved with the note under step 4.

This is doing something that DJI never intended to be done, and things might change down the road, or there might be some edge case that appears that isn't really covered, in which case the post can be updated
 
  • Like
Reactions: Photomaton
Great work to all involved and those that are trying to help the mere mortal who just wants to go back to a firmware they knew caused them no issue. Im still in warranty so don't know about downgrading just yet but im following this thread with the anticipation that DJI wont do anything to fix 1.10 and at some point i want to go back to 1.9 which worked great for me. So keep up the good work , please.
 
  • Like
Reactions: airbender
Originally, there was some... umm... 'heated debate' on the steps involved. I don't operate in a vacuum myself, and since I can't expect to know of every possible situation as I don't have a large collection of p3a/p to experiment with ;), I put it up here as a WIP so others can read and contribute what they know and have experienced.

As of this post, at least two people have successfully rolled back to 1.7.6 with this method (which is where a large part of the steps came from), with at least one other running into the plus-firmware issue which was resolved with the note under step 4.

This is doing something that DJI never intended to be done, and things might change down the road, or there might be some edge case that appears that isn't really covered, in which case the post can be updated

Right, but you state "DO NOT PERFORM THIS, YET" yet you seem to now be asking others to risk doing this, due to your lack of test kit? Are you one of those that has rolled back successfully? If so, could you roll it forward and back numerous times to test the process? If not, then I understand others scepticism and, frankly, lack of enthusiasm too.
 
Right, but you state "DO NOT PERFORM THIS, YET" yet you seem to now be asking others to risk doing this, due to your lack of test kit? Are you one of those that has rolled back successfully? If so, could you roll it forward and back numerous times to test the process? If not, then I understand others scepticism and, frankly, lack of enthusiasm too.
Perfectly understandable and a fair comment and question.

It was added originally when the debate was going on and since there was some doubt as to the steps involved, I added it as a caution until more input was provided, which did happen, and the steps were changed to incorporate those changes.

As for myself, I've not used it... yet. I am going to do it myself using these steps Soon (tm) when I have the spare time to devote to it, and will post my entire experience, good or bad.
 
Perfectly understandable and a fair comment and question.

It was added originally when the debate was going on and since there was some doubt as to the steps involved, I added it as a caution until more input was provided, which did happen, and the steps were changed to incorporate those changes.

As for myself, I've not used it... yet. I am going to do it myself using these steps Soon (tm) when I have the spare time to devote to it, and will post my entire experience, good or bad.
Well, you can't say fairer than that - thanks for the straight-up reply and I really look forward to hearing the outcome of your test. I've always updated the AC/RC with every release of FW and, fortunately, I've never had a single issue. Like everyone else, I'd like to understand why certain units have an issue and, clearly, the vast majority do not.
 
Well, you can't say fairer than that - thanks for the straight-up reply and I really look forward to hearing the outcome of your test. I've always updated the AC/RC with every release of FW and, fortunately, I've never had a single issue. Like everyone else, I'd like to understand why certain units have an issue and, clearly, the vast majority do not.
That's probably the most frustrating thing about the update/downgrade process, it's not consistent. Two people reported that they didn't have module mismatches, two others said they did. There is a distinct lack of data between the example birds... hardware build differences, solar flares, a dodgy SD card? It's currently next to impossible to say at this point.

Flashing anything like this has risks, be it a phantom, a computer BIOS, or a smartphone, but phantoms seem to be inconsistent in the results.

Pass or fail, my battery is charging as I type this in preparation for the attempt :)
 
That's probably the most frustrating thing about the update/downgrade process, it's not consistent. Two people reported that they didn't have module mismatches, two others said they did. There is a distinct lack of data between the example birds... hardware build differences, solar flares, a dodgy SD card? It's currently next to impossible to say at this point.

Flashing anything like this has risks, be it a phantom, a computer BIOS, or a smartphone, but phantoms seem to be inconsistent in the results.

Pass or fail, my battery is charging as I type this in preparation for the attempt :)
Yep, albeit it seems to be a relatively small number of pilots that have had the issues and, as you say, it is inconsistent. But there do seem to've been issues for some with every new release, which again, is odd.
Nice one... be great to hear the outcome.
 
Nice one... be great to hear the outcome.
And I have an outcome to report, complete success!

My notes:
Bird-
1.10 -> 1.09: No issues with debug file (took around 20+ minutes to flash). AC make the starting 'five note' sound a few times, which made me jump a bit
1.09 -> 1.08: No issues (much quicker flash)
1.08 -> 1.07: Tried the normal method and received in the log “The current firmware does not support downgrade. Use a different version of firmware to downgrade the target version.” Tried again with the debug file. During the flash, the start up notes sounded once and the camera looked like it had shut down for a while toward the end (camera was pointing down), but later came back as normal

RC-
Started with DJI go app 3.11, RC 1.8
Rollback attempt straight to 1.5.8 returned failed. Attempted rollback to 1.6, also reported failed. Installed 2.4.2, was unable to download firmware. Reinstalled 3.1.1, RC reported 1.6 FW. Downloaded 1.5.8, install came back as successful.
Uninstalled DJI 3.1.1, installed 2.4.2.

Final checks-
Restarted RC and AC, app reported no signal, showed no video. 'Rebooted' AC, signal acquired. Version check showed no plus signs. Reset all flight settings via the app.

I took it outside to make sure it could acquire GPS lock and re-calibrate the compass, and was successful. Unfortunately, I am unable to do a 'proper' flight test as it is 3AM my time and raining outside, but I was able to verify that the gimbal responds as expected, I do have video feed working, and it is able to take off and land.

Pictures attached: resized_versions.jpg is a shot of the version numbers as reported by the app, and resized_good_to_fly.jpg is showing that the bird is powered up, sending video and has a GPS lock (my phone camera takes huge sized pictures, so they have been resized to something saner in pixels and file size).

When I'm not as bleeding tired, I'll try to find the serial number and other stuff to try and help ID any kind of helpful data, like manufacture date, hardware revision, etc.
 

Attachments

  • resized_versions.jpg
    resized_versions.jpg
    68.9 KB · Views: 1,931
  • resized_good_to_fly.jpg
    resized_good_to_fly.jpg
    90.9 KB · Views: 1,790
Last edited:
And I have an outcome to report, complete success!

My notes:
Bird-
1.10 -> 1.09: No issues with debug file (took around 20+ minutes to flash)
1.09 -> 1.08: No issues (much quicker flash)
1.08 -> 1.07: Had to use the debug file, tried the normal method and received in the log “The current firmware does not support downgrade. Use a different version of firmware to downgrade the target version.”

RC-
Started with DJI go app 3.11, RC 1.8
Rollback attempt straight to 1.5.8 returned failed. Attempted rollback to 1.6, also reported failed. Installed 2.4.2, was unable to download firmware. Reinstalled 3.1.1, RC reported 1.6 FW. Downloaded 1.5.8, install came back as successful.
Uninstalled DJI 3.1.1, installed 2.4.2.

Final checks-
Restarted RC and AC, app reported no signal, showed no video. 'Rebooted' AC, signal acquired. Version check showed no plus signs. Reset all flight settings via the app.

I took it outside to make sure it could acquire GPS lock and re-calibrate the compass, and was successful. Unfortunately, I am unable to do a 'proper' flight test as it is 3AM my time and raining outside, but I was able to verify that the gimbal responds as expected, I do have video feed working, and it is able to take off and land.

Pictures attached: resized_versions.jpg is a shot of the version numbers as reported by the app, and resized_good_to_fly.jpg is showing that the bird is powered up, sending video and has a GPS lock (my phone camera takes huge sized pictures, so they have been resized to something saner in pixels and file size).

When I'm not as bleeding tired, I'll try to find the serial number and other stuff to try and help ID any kind of helpful data, like manufacture date, hardware revision, etc.
Well, I'm impressed airbender! Very well done mate!:)
Which FW is generally considered the most stable/best?
 
  • Like
Reactions: beb
Well, I'm impressed airbender! Very well done mate!:)
Thank you, but I can't really take much credit, I just assembled the information as discovered by others (standing on the shoulders of giants, as it were) and tried to make it as streamlined as possible for others.

I hope that anyone else who tries this has success and posts back here with their experiences. The more feedback we get, the better it will be. :)

EDIT:
Original post title and contents updated to reflect that it worked for me and tweaked a few parts for hopefully better readability. Corrections and suggestions for improving it are welcome!
 
Last edited:
  • Like
Reactions: ClaudioNC
I just downgraded AC from 1.10.90 to 1.9.60 following this guide and had no problems.

A suggestion: Would be very nice with links to the mentioned AC firmwares as well as to the 2.4.2 APK :)
 
  • Like
Reactions: airbender
I just downgraded AC from 1.10.90 to 1.9.60 following this guide and had no problems.

A suggestion: Would be very nice with links to the mentioned AC firmwares as well as to the 2.4.2 APK :)
Links to the FW: I found an archive for most of the AC firmwares via google, but was missing the one for 1.7.6. That one took some digging to find. Same situation with the app (most mirrors either redirected to the play store or didn't go back far enough).

I'll add to the post the filenames for the AC FW and where I found the app. Beyond that, I'm not comfortable with direct links as they can change at any time, and uploading them myself runs into possible problems with redistribution of DJI's IP.

EDIT: And updated. Question, do you have a pro or an advanced?
 
Last edited:
Is this an Android process only or will it work for IOS as well.
Thanks.
 
can u help me? idnt downgrading firmware from 1.10.9 to 1.9 :(
if you can help reading the results?
 

Attachments

  • P3X_FW_RESULT_AB.txt
    7 KB · Views: 1,507
Is this an Android process only or will it work for IOS as well.
Thanks.
The DJI app, I only have android, so that's all I can report on from personal experience. The AC itself doesn't matter.
 
can u help me? idnt downgrading firmware from 1.10.9 to 1.9 :(
if you can help reading the results?
Last line in that log:
========== 2014.01.01 00:00:12 remo-con disconnect======
Packet: P3X_FW_V01.09.0060.bin
Result: Abort.
The current firmware does not support downgrade. Use a different version of firmware to downgrade the target version.
it looks like you missed the first step where you have to create the debug file on the SD card.
 

Members online

Forum statistics

Threads
143,054
Messages
1,467,297
Members
104,919
Latest member
BobDan