Installation Instructions for FP4 did not work for me

So, I’ve decided to do a completely fresh install on an FP4 that was having issues.
I’ve followed the instructions in the installation guide, to the letter, as far as I can tell, and I ran into what looks like the same issue as @tverr before (see his closed thread).

What I did:

  • enable USB debugging, OEM unlock etc.
  • start the bootloader (the text-only interface, no touch)
  • unlock everything from my PC:
> ~/backups_FP4  fastboot flashing unlock                                                                                                                                                                                                   OKAY [  0.040s]
Finished. Total time: 0.040s
> ~/backups_FP4  fastboot flashing unlock_critical                                                                                                                                                                                          OKAY [  0.036s]
Finished. Total time: 0.036s

note that unlock_critical appears to have been successful. I restarted once more, then went back to bootloader (volume down + plug in USB), and executed the script:

> ~/backups_FP4  cd IMG-e-2.8-a14-20250219469961-official-FP4/                                                                                                                                                > ~/backups_FP4/IMG-e-2.8-a14-20250219469961-official-FP4  ./flash_FP4_factory.sh                                                                                                                                                           INFO: You are using a Linux distribution.
INFO: Looking for connected device(s)...
INFO: One Fairphone 4 in fastboot mode found (serial number: xxxx).
Info: Your phone is in regular bootloader mode.
Sending 'bluetooth_a' (940 KB)                     ^C

…and cancelled after about 10 minutes when nothing was happening.
This is when I started looking around the fora and found @tverr 's post, who was having the same issue and was getting lectured about adb and fastboot, and fastbootD – oh, what’s that? the doc did not mention this!

So, I booted into recovery, enabled adb, and tried flashing again. No success, of course, because the script does not work when booted into recovery. Just an error message that no suitable device was found:

INFO: One Fairphone 4 in fastboot mode found (serial number: xxxx).
Info: Your phone is in regular bootloader mode.
Sending 'bluetooth_a' (940 KB)                     FAILED (Status read failed (No such device))
fastboot: error: Command failed

ERROR: Could not flash the bluetooth_a partition on device 3c18139e.

ERROR: Please unplug the phone, take the battery out, boot the device into
ERROR: fastboot mode, and start this script again.
ERROR: (To get to fastboot mode, press Volume-Down and plug in the USB-C)
ERROR: (cable until the fastboot menu appears.)

So, after enabling adb in recovery (no idea if that setting persists…), I rebooted to the (text-only) bootloader (vol-down + USB, as before, and as repeated in the message from the installer script), and tried again, with exactly the same issue as above: bluetooth_a starts flashing and gets stuck.

Some more digging, finding people telling @tverr about forgetting to unlock_critical – so maybe something went wrong there for me? Let’s do that again, to be sure:

> ~/backups_FP4/IMG-e-2.8-a14-20250219469961-official-FP4  fastboot flashing unlock_critical                                                                                                                                  FAILED (remote: '       Device already : unlocked!')
fastboot: error: Command failed

Nope, I definitely did not forget to unlock all the way!

What solved it for me:

  • Rebooting to recovery (either from bootloader, or with Vol up + USB)
  • Turning ADB on there (no idea if that was necessary or helpful)
  • starting fastboot from within the recovery
    This actually puts the phone into “fastbootD” mode, with a graphical screen that uses the /e/ logo, touch-enabled and everything – and in that state, I was able to run the installation command from my PC, and everything started flashing just fine.
> ~/backups_FP4/IMG-e-2.8-a14-20250219469961-official-FP4  ./flash_FP4_factory.sh      
INFO: You are using a Linux distribution.
INFO: Looking for connected device(s)...
INFO: One Fairphone 4 in fastboot mode found (serial number: xxxx).
Info: Your phone is in fastbootD mode.
Sending 'bluetooth_a' (940 KB)                     OKAY [  0.024s]
Writing 'bluetooth_a'                              OKAY [  0.013s]
Finished. Total time: 0.044s
Sending 'bluetooth_b' (940 KB)                     OKAY [  0.024s]
Writing 'bluetooth_b'                              OKAY [  0.012s]
Finished. Total time: 0.040s
Sending 'devcfg_a' (42 KB)                         OKAY [  0.002s]
[... and so forth...]

…within about a minute, everything had flashed.

Conclusion

I believe that the last the “Installing /e/OS” section is missing directions to get to the fastbootD mode. I’m pretty sure that I followed the instructions to the letter, and I have not found a way to flash the system if the phone is on the “plain” bootloader screen, but this is where the documentation directs me to go. I’ve tried multiple times, and have only been able to flash by booting to recovery and then choosing “advanced” → “fastboot” from there.

…This is with the /e/OS recovery, by the way. The phone was already running /e/OS before the process. Maybe I picked the wrong instructions for that case? I am honestly hard pressed to reason about these things, but I know for sure that the instructions take me to the bootloader, and I cannot install the system from there.

Hei and grats! So this issue is not a singleton but could benefit documentation improvement!? Does anyone / you have suggestions how and where to put this? Maybe some more technical background, differences between those two bootloaders and when to use which, and especially some more background on the why?