- Joined
- Jan 15, 2017
- Messages
- 82
- Reaction score
- 42
(last updated: 2017/8/23)
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.
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:
The rollback order of FW versions going back to 1.7.0060 are:
An alternate source for the links to the FW files that lists even more is available here.
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:
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:
Graduation Method
(Found on RC Firmware config · Issue #10 · mefistotelis/phantom-firmware-tools · GitHub by aka1ceman)
Thanks goes to:
EDIT 7/17: Added commentary about the 1.11 FW reports and different versions of the gimbal
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)
- 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:
- 1.10.0090 (P3X_FW_V01.10.0090.bin)
- 1.9.0060 (P3X_FW_V01.09.0060.bin)
- 1.8.0080 (P3X_FW_V01.08.0080.bin)
- 1.7.0060 (P3X_FW_V01.07.0060.bin)
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:
- 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
- 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.
- Flash the FW
- 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).
- Remove the debug file and the now current FW, then put the next previous version on the SD card (1.8.0080).
- Flash and verify the change was successful
- Remove the 1.8.0080 FW file, put on the 1.7.0060 FW
- 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
- 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.
- Perform a reset of the settings via the app.
- Profit! (?)
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.
Graduation Method
- Turn on your RC, plug in your android device and start the DJI Go app
- In the upper right hand corner, press and hold the icon for the Academy until a new screen appears
- From the drop down, choose the FW to roll back to and let it download and install
(Found on RC Firmware config · Issue #10 · mefistotelis/phantom-firmware-tools · GitHub by aka1ceman)
- Turn on RC, Plug in Tablet, start DJI Go (I used 2.4.2)
- Touch and hold top right corner of screen for 5-10 seconds. (tutorial button thanks to Inspire guys)
- New screen opens offering to downgrade RC. (I was offered 1.6 and 1.5.8)
- Download but do not install.
- Using file explorer replace and rename file
- I used RC file for 1.3.2 and renamed, and replaced the existing 1.5 file.
- 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.
- 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 7/17: Added commentary about the 1.11 FW reports and different versions of the gimbal
Last edited: