Downgrading firmware on P3P from 1.10.9 to 1.7.6

Just a BIG thank you from up here in Canada for saving my :eek:ss after the dreaded money grab to upgrade to firmware 1.10. on my P3Pro then seeing it grounded ever since with the flippin' ESC error.
Imagine, a company saying, oh here ya go...just simply update your $1000.00 plus bird to the latest greatest then cash grabbing all they can to fix their error! Imagine that if you will...Mr. Trump do you have a wall for them kinds! ;)

So, just finished doing the (debug file + 1.9.) - (1.8 THE NORMAL WAY) - (debug file + 1.7.6) = Success.

Then with bird powered on and Android DJI GO app 3.1.5 installed I long pressed the upper right corner which brought up the downgrade selection and chose 1.5.8 and after a bit of beeping...boom Bob's my Uncle! :)
 
(last updated: 2017/2/4)

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:


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

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!

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 to finish

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

I read see this say steps 1.10.9 to 1.7.6.

But my p3 is 1.8.0+. I'm go update to 1.10.9 now and them 1.10.9 to 1.7.6 or My 1.8.0+ to 1.7.60?
 
I read see this say steps 1.10.9 to 1.7.6.

But my p3 is 1.8.0+. I'm go update to 1.10.9 now and them 1.10.9 to 1.7.6 or My 1.8.0+ to 1.7.60?
I got stuck with 1.8.0+ but it would not go to 1.7 even with the debug in place. I ended up flashing 1.8 with debug in place, and that cleared the +.

I am on 1.7 now with modified flight params.

Big thanks to everyone!
 
I got stuck with 1.8.0+ but it would not go to 1.7 even with the debug in place. I ended up flashing 1.8 with debug in place, and that cleared the +.

I am on 1.7 now with modified flight params.

Big thanks to everyone!
Cleared 1.7. Now.... Thanks [emoji5]


Dji Go 2.4.2 and FW 1.7.6.

I think going dji go update? Like 3.0.1 - 3.1.3?
98d9ca3793038a764c630493e56f5eb7.jpg
 
  • Like
Reactions: airbender
First let me thank you because my bird has being flying bad since last updates and I really hope this fixes it.
I was able to downgrade from 1.10 to 1.9 without any problems using the debug file. But It seems I'm not being able to go further and, even though my log states the downgrade was successful, I can't get rid of the + sign.
I tried to go from 1.9 to 1.8 without the debug file and got it then I upgraded normally to 1.9 and it disappeared. Tried again to downgrade to 1.8 from 1.9 with the debug file and the + sign appeared again.. I went all the way to 1.6 having "success" result in the log file but always with the + sign and then tried to upgrade to 1.7 but the plus sign remained. went all the way up to 1.9 to test again with another battery with the same luck. Now I'll restart from 1.10...
BTW It's a P3A.
Thank you.
 
Second attempt went better.
Upgraded to 1.10 one by one and began to downgrade every FW with the debug file.
Got to 1.8 flawlessly this time and when trying to downgrade to 1.7, after about 22 minutes, the beep got stuck and the leds blinked in yellow.. I left it like that till 25 minutes then I powered it off. Tried again with the debug file and the same happened but this time I checked with the app and it said 1.7.60 without the plus sign. Ok so now I wanted to downgrade it one more version in order to "upgrade" to 1.7 the normal way.
I tried the 1.6 downgrade without the debug file and got 1.6.40+ in the version check so tried again with the debug file and the beep got stuck at 22 minutes again. I waited till 25 minutes and powered the bird off. Checked the version and this time it was 1.6.40 without the + sign.
I upgraded the normal way to 1.7 and got no problems nor + sign.
Now I have my remote in 1.5.8 and the bird in 1.7.60.
I wouldn't dare to test it in the city so I'll have to wait until I can get it to the country for a "safer" crash (that I hope won't happen).

PD: If I change batt the + returns (but since it seems to be because of the battery, I don't really care).
 
Last edited:
PD: If I change batt the + returns (but since it seems to be because of the battery, I don't really care).
As the battery has it's own firmware, it also gets upgraded/downgraded along with the rest of the system. I will get the + if I have one of my non-switched firmware batteries in as well. It's pretty much harmless as far as I can tell as far as the battery goes.
 
  • Like
Reactions: quanticchaos
Yes, thanks. Hope I can test it soon cause new updates really ruined my bird. Thanks for your effort. It was a while ago the last time I visited this page, began to think phantom users were not really into anything but saying "yes sir" to DJI. I'm really glad and impressed to find out you are now trying to modify their firmwares, haha. This is finally going the right way and the future seems bright. I, of course, will sum myself to this just as soon as I catch up.
Thanks again!
 
Yes, thanks. Hope I can test it soon cause new updates really ruined my bird. Thanks for your effort. It was a while ago the last time I visited this page, began to think phantom users were not really into anything but saying "yes sir" to DJI. I'm really glad and impressed to find out you are now trying to modify their firmwares, haha. This is finally going the right way and the future seems bright. I, of course, will sum myself to this just as soon as I catch up.
Well, I can't take credit for any of it beyond assembling the info from various places and making it readable in a step-by-step fashion, but am glad you found it helpful.

If you want to get into the sharp edges of this kind of stuff, check the github page linked in the first post, there are people working on this stuff that are much smarter than I when it comes to really picking the firmware apart. :)
 
Don't be so modest, you are helping us a lot. Yes, I've visited the links you posted, that's how I found out, amazing. Seems we are going to get real drones after all.
 
Airbender, I have looked at several other threads over the weekend and I had this thought. Several people have tried to run the upgrade again to see if there was a fault in the upgrade and like me, it starts off fine and then a few seconds into the process it stops and starts the dreaded solid beep! DJI says to reboot the bird and try again, which like everyone else I have done several times with no success. The app says everything is fine and up to date but I do not get the same from the log file on the SD card, in fact, it does not show anything for the current date as a success or failure. This leads me to my question. Could you use the same "P3X_FW_DEBUG" file for a re-install of v1.10.90 and possibly resolve the issue? I don't want to brick it since it does fly and take pictures and everything works except the live feed which is the whole point of paying the BIG money for this vs. a cheap drone with a camera attached. I look forward to hearing your response.
 
Airbender, I have looked at several other threads over the weekend and I had this thought. Several people have tried to run the upgrade again to see if there was a fault in the upgrade and like me, it starts off fine and then a few seconds into the process it stops and starts the dreaded solid beep! DJI says to reboot the bird and try again, which like everyone else I have done several times with no success. The app says everything is fine and up to date but I do not get the same from the log file on the SD card, in fact, it does not show anything for the current date as a success or failure. This leads me to my question. Could you use the same "P3X_FW_DEBUG" file for a re-install of v1.10.90 and possibly resolve the issue? I don't want to brick it since it does fly and take pictures and everything works except the live feed which is the whole point of paying the BIG money for this vs. a cheap drone with a camera attached. I look forward to hearing your response.
I had no problems upgrading from 1.6 to 1.10 (I went 1.7>1.8>1.9 and 1.10 thought).
I also had no problems live streaming with 3.1.5 dji app and AC 1.7 FW and 1.5.8 RC FW (at least to facebook).
I guess that depends on the app.
 
Last edited:
Could you use the same "P3X_FW_DEBUG" file for a re-install of v1.10.90 and possibly resolve the issue?
As I understand it, the P3X_FW_DEBUG file is just a filename that the firmware looks for as a flag to ignore version checking when trying to flash the firmware files and will cause it to 'just do it' regardless of what's already on there. There is nothing special about the file itself, it's all about what it's named.

The problem with using this is that, especially with some of the internal encryption changes that have happened in-between versions, that it can brick things if a flash is applied and doesn't use the right method of writing the data.

Without knowing for sure what version your remote and bird are on currently, it's hard for anyone to say for sure what might work for you.
 
Thanks i works, on my phantom 3 advance..thanks to the debug file.. so now i can flying whitout losing signal..
Was downgrade from 1.10 to 1.90 on the aircraft and on the controller from 1.80 to 1.6. Still got dji goapp 3.15 but i crash, and i think i was happen when i upgrade my
phone samsung galaxy s6, from android 6 to android 7, did not have problems whit android 6. But not a problem when i crash i just wait 5 - 10 seconds and starts the app again, and keep flyning..
 
  • Like
Reactions: Digdat0
Thanks i works, on my phantom 3 advance..thanks to the debug file.. so now i can flying whitout losing signal..
Was downgrade from 1.10 to 1.90 on the aircraft and on the controller from 1.80 to 1.6. Still got dji goapp 3.15 but i crash, and i think i was happen when i upgrade my
phone samsung galaxy s6, from android 6 to android 7, did not have problems whit android 6. But not a problem when i crash i just wait 5 - 10 seconds and starts the app again, and keep flyning..
Downgrade your DJI Go app to older version. Turn off updating that app.
 
Thanks i works, on my phantom 3 advance..thanks to the debug file.. so now i can flying whitout losing signal..
Was downgrade from 1.10 to 1.90 on the aircraft and on the controller from 1.80 to 1.6. Still got dji goapp 3.15 but i crash, and i think i was happen when i upgrade my
phone samsung galaxy s6, from android 6 to android 7, did not have problems whit android 6. But not a problem when i crash i just wait 5 - 10 seconds and starts the app again, and keep flyning..
Here's a how to on installing an earlier version on android, I like 3.0.1 the best
 

Recent Posts

Members online

No members online now.

Forum statistics

Threads
143,094
Messages
1,467,604
Members
104,979
Latest member
ozmtl