Parrot-Bebop2-Custom Firmware
Downgrading of Bebop 2 Firmware:
Why Downgrade? Versions 4.1+ have issues with take-off. Bebop 2 experiences about 120-180 degree yaw on take-off. If you have version 4.0.6, please skip the downgrade procedure. As of firmware version 4.0.4, the downgrade procedure has changed.*
-
Connect your host machine to Bebop 2 via Wifi.
-
Download the recommended version 4.0.6 firmware from Google Drive or Git Repo.
Other versions of the firmware can be found here:
4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.2.0, 4.2.1, 4.3.1, 4.4.0
Note that the firmwares are named as follows bebop2_update_v_a_b_c.plf for version a.b.c. For eg., for version 4.0.6 the name of the file is bebop2_update_v_4_0_6.plf.
- Once the desired firmware is downloaded, a
telnetclient is required like (Puttyor any FTP client likeFileZilla). Alternatively on a linux machine, you can use a file manager likenautilusto copy the firmware to the Bebop. Now,- Turn on the Bebop and Connect to its WiFi network.
- Press the power button 4 times in rapid succession on the Bebop 2. This activates the Telnet port.
- Open a terminal and enter:
telnet 192.168.42.1. You should see something like this:BusyBox v1.25.0 (2017-06-29 09:25:56 CEST) built-in shell (ash) Enter 'help' for a list of built-in commands. / #
- Type the following in the same terminal window:
mount -o remount, rw / && vi /bin/updater/dgwl.txt - Now, you should see the contents of the file
dgwl.txt:# List of firmware versions to which to downgrade is allowed # Regexps are basic regular expressions (BRE). See grep (1) manpage on a # linux desktop to get the correct syntax (especially metacharacters escapes). 0 \ .0 \ .0 3 \ .3 \. [0-9] \ +-
Press
ito enter text entry mode invi. - Type the version number of the firmware you downloaded in the last line:
# List of firmware versions to which to downgrade is allowed # Regexps are basic regular expressions (BRE). See grep (1) manpage on a # linux desktop to get the correct syntax (especially metacharacters escapes). 0 \ .0 \ .0 3 \ .3 \. [0-9] \ + 4.0.6 -
Hit
ESCkey to exit the insert mode. - Save the file by typing
:wq - Hit
ENTER
-
- Start
nautilusor any otherFTPclient and connect to the server with the address192.168.42.1anonymously (Nousernameandpassword). See the image below.
- Copy the downloaded firmware to
/data/ftp/internal_000folder of the Bebop 2 and rename the file tobebop2_update.plf. - Go back to the telnet shell/terminal and enter:
/bin/updater/updater_scan.sh /data/ftp/internal_000 - Bebop should return the following:
[FIRMWARE UPDATER] Boot # 4: Scanning / data / ftp / internal_000 for updates ... [FIRMWARE UPDATER] Boot # 4: searching PLF named files * .plf ... [FIRMWARE UPDATER] Boot # 4: Testing /data/ftp/internal_000/bebop2_update.plf [FIRMWARE UPDATER] Boot # 4: Checking the downgrading whitelist /bin/updater/dgwl.txt ... [FIRMWARE UPDATER] Boot # 4: whitelist: # List of firmware versions to which to downgrade is allowed # Regexps are basic regular expressions (BRE). See grep (1) manpage on a # linux desktop to get the correct syntax (especially metacharacters escapes). 0 \ .0 \ .0 3 \ .3 \. [0-9] \ + 4.0.6 [FIRMWARE UPDATER] Boot # 4: search result: 4.0.6 [FIRMWARE UPDATER] Boot # 4: downgrading allowed by whitelist [FIRMWARE UPDATER] Boot # 4: Sending /data/ftp/internal_000/bebop2_update.plf to the Update partition [FIRMWARE UPDATER] Boot # 4: Move command is <mv> - And finally, reboot the Bebop 2 by entering
rebootin the telnet terminal. Note: Bebop will reboot multiple times for the firmware upgrade/downgrade procedure. Check the version usingFreeFlight Proandroid/iOS app. It will ask you to update the firmware using the mobile application. DO NOT UPGRADE THE FIRMWARE using your phone.
Source: THE DIARY OF ICARUS23