Guide to bootloader and bricking [2025]

Intro to Unbrick

If you cannot boot into your OS and you cannot flash new system images, you are now in unbrick territory…
The tools at our disposal vary depending in the device, from low-hanging up:

  • unlock flashing before flashing (All)
  • ignore flashing ability and flashing regardless (FP5)
  • use firehose in EDL mode (FP2/FP3(+) for now)
  • get the device back to Fairphone (All, for a fee)
  • use your phone as a paperweight, it’s really a brick (for now…)

In a brick situation, in a situation where user data is unimportant or backed up, it might be possible to try to “nuke” everything and start from scratch.
Our goal here is to navigate the hurdles to manually install Android OS directly from Fairphone. Once in “safe” waters, you can go and do whatever you want.

Fastboot solutions

In this situation, your phone does not boot to OS and you cannot flash new images. The flashing command or script fails. However, you can still access dic:fastboot.

First and foremost, get into fastboot mode and see where you stand :
fastboot oem device-info

The output tells your if your bootloader is unlocked or not:
(bootloader) Device unlocked: false (this means it’s locked)
(bootloader) Device critical unlocked: false

Check the output of fastboot flashing get_unlock_ability, it should return 0or 1.
If it’s 0, then it’s most probably game over. Contact the support and pay to get it unlocked by Fairphone.
FP5 Android 14(+): Try fastboot oem allow-flashing and run the script after having modified the integrity check and the lock check: see relevant post.

If it’s 1, continue on:
The easiest would be to try to unlock the bootloader $ fastboot flashing unlock.

If it works, then fastboot oem device-info should be returning
(bootloader) Device unlocked: true (this means it’s unlocked)
Try the flashing/script again.

EDL mode

A security firm has done a deep dive on this little known flashing tool, which is sort of a industrial secret. The broader Android user community owe them a lot of this info.

EDL stands for Emergency DownLoad, and is a Qualcomm feature used by phone manufacturers to unbrick devices.
Since it’s very low level (close to the hardware), it depends on a specific file called loader, also called firehose, that works with only one model (sometimes all the models that have a specific chip).
Also, those loaders are not for public access, so the ones we have, are leaked to us by industry insiders.

At this stage, we have EDL loaders for the fairphone 2 and fairphone 3.
Thus this technique, where all else has failed, cannot be used for the other models until a loader appears in the wild.

The first step would be accessing the “secret” EDL mode on the phone:
EDL mode is entered by creating a short-circuit between two specific points.
EDL mode can be triggered by an adb command (which is ironic since we only need it when out of system), or by fastboot fastboot oem edlor fastboot reboot-edl, or some funny business.
Lastly, EDL mode can be triggered by an EDL cable or with a modified usb cable.
When in EDL mode, the phone identifies itself to the computer as a specific device and not as fairphone (qdloader 9008)

On the computer side, we need bkerler’s edl tool or some similar software.

TBC

The Cordon connection

Cordon Electronics is a third-party company that partners with Fairphone to operate as its official service center. https://support.fairphone.com/hc/en-us/articles/17750098804370-Fairphone-5-Repair-Price-list-and-FAQ-Cordon-Repair-Center

On its website, Cordon Group provides links to both its own “SAV Cordon Group” service and the “My Repair by SBE” platform. In fact, both services are operated under the leadership of Olivier Goullet de Rugy, who serves as General Manager within the Cordon Group.

Apparently we can pay “Cordon” to unbrick our devices, in the 30-50€ range.

Contact Fairphone support to arrange for an unbrick. “Cordon” will take care of it.

6 Likes