Fairphone stuck in fastboot mode - bootloader unlocked

If you are in bootloader
you can boot to recovery by VOL+/- keys and power button.
I think this is what you#re trying, right?

But you can also try to reboot in recovery with the command:
fastboot reboot recovery

Works also for me. Phone is rebooting and starts in recovery instead of bootloader

Give it a try

The current slot was a, I change it to b and it worked

1 Like

OK, then in recovery and going on…

Yes, I actually tried both, same result…

Working? Or problems?

AFAIK you can also do a factory reset in fastboot mode:
fastboot erase userdata
fastboot erase metadata

nope, sadly still stuck in there…

I just did it, the command works but still no recovery mode or normal boot…

As there was no additional information, I assume you finally did try manual FPOS installation and it neither worked?

Nope, as someone told earlier that I shouldn’t because he/she tried it and it got the phone blocked in bootloop, I thought
it was not a good solution for me :slight_smile:

As long as you don’t lock the bootloader at some point you should generally be fine :slightly_smiling_face:

So your current state is a new phone that’s been bootloader unlocked, flashed with the iode recovery / keys and now with wiped userdata / metadata, or did you get further at some point? :thinking:

Have you tried one of the other ways to get into recovery, like turning it off, unplugging USB, holding Vol. Up and plugging it back in? (Don’t release Vol. Up before you end up in recovery)

1 Like

I’d try it.
As far as I understand it you’re now in some kind of bootloop, too. So it might only help.


So you say that there’s currently no way back from iodéOS to FPOS? :thinking:

No, that’s not what I meant to say.

It’s just not easy and, above all, not feasible out of the box.

If you simply start as described, it doesn’t work. You are stuck in a bootloop.

The “flash_fp4_factory.command” script does not run. It aborts when deleting the factory partitions.
misc, modemst1, modemst2 are not deleted and the active slot is not set to a.

  flash_image_or_abort "${sn}" uefisecapp_b "${IMAGES_DIR}/uefi_sec.mbn"
  flash_image_or_abort "${sn}" vbmeta_a "${IMAGES_DIR}/vbmeta.img"
  flash_image_or_abort "${sn}" vbmeta_b "${IMAGES_DIR}/vbmeta.img"
  flash_image_or_abort "${sn}" vbmeta_system_a "${IMAGES_DIR}/vbmeta_system.img"
  flash_image_or_abort "${sn}" vbmeta_system_b "${IMAGES_DIR}/vbmeta_system.img"
  flash_image_or_abort "${sn}" xbl_a "${IMAGES_DIR}/xbl.elf"
  flash_image_or_abort "${sn}" xbl_b "${IMAGES_DIR}/xbl.elf"
  flash_image_or_abort "${sn}" xbl_config_a "${IMAGES_DIR}/xbl_config.elf"
  flash_image_or_abort "${sn}" xbl_config_b "${IMAGES_DIR}/xbl_config.elf"

  # Process partitions that must be handled for a full wipe
  if [ "${DATA_WIPE}" = "true" ]; then
    echo "INFO: Deleting user data"
    flash_image_or_abort "${sn}" userdata "${IMAGES_DIR}/userdata.img"
    flash_image_or_abort "${sn}" metadata "${IMAGES_DIR}/metadata.img"

  # Process partitions with FRP-related data
  if [ "${FRP_WIPE}" = "true" ]; then
    echo "INFO: Deleting factory reset partition"
    flash_image_or_abort "${sn}" frp "${IMAGES_DIR}/frp_for_factory.img"
    flash_image_or_abort "${sn}" devinfo "${IMAGES_DIR}/devinfo_for_factory.img"


  echo "INFO: Erasing some partitions"
  ${FASTBOOT_BIN} erase misc
  ${FASTBOOT_BIN} erase modemst1
  ${FASTBOOT_BIN} erase modemst2

  echo "INFO: Activating partition slot A"
  fastboot --set-active=a

The own avb_custom_key of iode must be deleted.
The active slot must be set to a manually.
I had also executed “fastboot --disable-verity --disable-verification”. I don’t know if this is really necessary.
Additionally unlock the critical partitions
Then run the “flash_fp4_factory.command” script. Still aborts again. But the reboot in FPOS works then.

That’s how I made it work. No assumption of warranty :wink:

As long as you do NOT lock the bootloader and check again and again whether the unlock_availibility is still given, nothing can happen. You just have to keep trying.
Costs NErven and drives the adrenaline high, but nothing can happen…

1 Like

Yep you summerized it perfectly. As soon as the steps needs me to go to recovery mode I’m stuck. And anyway, I can’t even turn the phone on of off at this point, it just stays on the bootloader start screen all day, I had to remove the battery.
Yes, I used all the methods I found to enter recovery mode (someone gave me an advice on reddit which didn’t work either).
! reddit bootloader|685x186

Thank you very much for taking all this time to help me :slight_smile:

So selecting Power off in the bootloader doesn’t turn the phone off? Have you tried unplugging it from USB before turning it off?
If that’s the case then something might be wrong with your bootloader :thinking:

I agree with what the others have said before, this calls for a fresh start. Try reinstalling stock FPOS and pay close attention if you get any errors during installation (and obviously don’t lock the bootloader). Afterwards let’s take it from there. :slightly_smiling_face:

1 Like

If you’re going to install FPOS as a clean install and you are running in the same problems then me, do two things:

before you begin with the FP script in bootloader
fastboot erase avb_custom_key
fastboot --disable-verity --disable-verification

Then modify the flash_fp4_factory.command script:

# Toggles
AUTO_REBOOT="true"                 # Control reboot behavior. Default is "true"
DATA_WIPE="true"                   # User data wipe. Default is "true"
DRY_RUN="false"                    # No-flash run. Default value is "false"
FRP_WIPE="true"                    # frp wipe. Default is "true"
INTEGRITY_CHECK="true"             # Checksum run. default value is "true"
REBOOT_TO_BOOTLOADER="false"       # default value is "false"

→ set the FRP_WIPE varaible to false

Then the script should run trough and FPOS should boot.

Else, your bootloader is damaged, as @hirnsushi already mentioned.


Does the install process run successfully without changing that variable and only applying those two commands you mentioned? :thinking:
Because if you skip FRP_WIPE you’ll skip…
flash_image_or_abort "${sn}" devinfo "${IMAGES_DIR}/devinfo_for_factory.img"
…as well. That’s the partition responsible for storing OEM unlock information and they specifically added that step after people kept bricking. Not sure I’d skip that one… :man_shrugging::smirk:

For the having to manually change the slot part, that could be the reason:

Hasn’t been fixed so far :roll_eyes:

correct, it hasn’t been fixed yet. Still fastboot command instead of FASTBOOT_BIN variable.

All I can say finally:
The script didn’t finished for me because of the frp things.
And I didn’t do it manually after.
FPOS reboots then. I installed LeOS, tested it, and flashed back iode.
I never lost the unlock_availibility all the time.
After installing iodé I could lock the bootloader again, without bricking my phone
And yes, somewhere in the whole process I unlock the criticals and locked the again, and nevertheless, I could lock the bootloader…

But it’s damn important to know your stuff, know what you’re doing, understand the whole Android, bootloader, fastboot and system at least somewhat.
So that you know how to proceed if there are problems.
For absolute laymen, this can quickly become hell.

1 Like