Fairphone 4 bricked when going back from iodéOS to FPOS

Hi everyone,

I’ve been having bugs with my FP4 for some time (touch screen, microphone, etc.). As I was on iodeOS, I wanted to switch back to FPOS to see if the bugs persisted. If so, I would’ve sent the FP4 to warranty repair.

So I started by enabling OEM unlocking, did fastboot flashing unlock and fastboot flashing unlock_critical and then flashed FPOS (FP4.SP2J.B.086) with the script provided here : https://support.fairphone.com/hc/en-us/articles/4405858261777-Fairphone-4-OS-Manual-Installation.
I had trouble because the script often freezed during the flash, but after running it several times, it finally worked.

FPOS started, I did the initial configuration, enabled the developer settings, went back into fastboot and did fastboot flashing lock_critical, at which point it restarted and reset itself. I gave it time to reboot, but I didn’t do the initial configuration this time. I restarted the phone directly by keeping “Volume Down” pressed, which made me restart in fastboot mode.

I did fastboot flashing lock, the phone rebooted and immediately displayed “<!> Your device is corrupt. It can’t be trusted and will not boot”.

Now it’s boot-looping to fastboot. I’ve managed to access the EDL mode, but it seems that no way of unbrick has yet been found via EDL.

If you have any information that I missed, and that might help me, please let me know (poke @hirnsushi, as you seem to be the person with the most knowledge of EDL for the FP4).

In the meantime, I’m going to contact support, as I know they’re not very quick to answer :stuck_out_tongue:

Thanks in advance to anyone that will give me any clue to solve my problem.

PS : Here is the error code I encountered (picture found on internet, not a FP4) :
image

I’m sadly not aware of any news regarding EDL either, sorry.
What’s the output of fastboot oem device-info && fastboot flashing get_unlock_ability rn? :thinking:

Here’s where it went wrong, don’t boot into Android after flashing the system, the first boot resets get_unlock_ability.
Always check that value before doing anything bootloader related.

2 Likes
> fastboot oem device-info
(bootloader) Verity mode: true
(bootloader) Device unlocked: false
(bootloader) Device critical unlocked: false
(bootloader) Charger screen enabled: false

> fastboot flashing get_unlock_ability
FAILED (remote: 'unknown command')
fastboot: error: Command failed

Oh, okay… It’s sad that Fairphone does not include any of this information in their docs.

That doesn’t look good :see_no_evil:
Strange that the second command failed, are you in fastbootd by any chance? But if fastboot flashing unlock doesn’t work it doesn’t really matter anyway.

Yeah, given how easy the FP4 is to brick you’d imagine someone would improve the documentation, but here we are over a year later and it’s still lacking.

(Or, you know, implement safeguards right in the installer that checks for that and locks afterwards, like Calyx does)

2 Likes

The worst is that Fairphone just does not seem to know about this problem, seeing recent comments which leaves me puzzled the least

2 Likes

I’ll give it a look tomorrow

That could be an idea… But it seems to be too difficult for the FP Team :confused:

It’s not even written here…

1 Like

Maybe I typed it wrong, or that was an issue with Windows, idk. I don’t think I was in fastbootd, I just started the device and it went to fastboot mode (because bootloop to fastboot mode).

I tried on Linux Mint, and here’s the output :

> fastboot flashing get_unlock_ability
(bootloader) get_unlock_ability: 0
OKAY [  0.001s]
Finished. Total time: 0.001s

What does this zero means?

In computing, “0” usually means “false” and “1” means “true” in the context of some question with a binary answer (“can the phone be unlocked?” in this case).

4 Likes

After one month, I finally have my FP4 back !
I didn’t have to pay anything, fortunately…
One month is quite a long time, especially considering that the phone stayed 2 days at the repair center.
They also changed my screen assembly, for the ghosting problem I had.
I re-installed iodéOS, their script is so nice compared to the Fairphone’s one, and their instructions are simple enough (maybe not enough detailed).
I just saw that Fairphone updated their tutorial, but it seems to be much less complete than it was before, and there seems to be no mention of the fastboot flashing get_unlock_ability command…

Anyway, thanks everyone for your help !

4 Likes

A post was merged into an existing topic: Locking the bootloader on a Fairphone 4 running Ubuntu Touch?