Documentation error? With Stock OS running Installer Script while entering fastboot mode for fairphone4 does not work as stated

Error in Documentation:
Install /e/OS on a Fairphone FP4

It must be “Volume Up Button”, (not Down), it is the button nearer to the camera than to the usb-c port.

(I frustrated over pressing down button, until I read https://droidrecovery.com/fairphone-4-recovery-mode/ “volume Up + power button” )

Here is the wrong part of Documentation. Hope someone can fix this. (maybe that bug is also somewhere else in that documentation, please have a look)


Before install

How to Boot into bootloader mode

  1. Press and hold the Volume Down button.
  2. Release the Volume Down button as soon you boot into bootloader mode

Here is the info from the flash script itself, it mentions “Volume DOWN Button”, which does NOT enter fastboot mode. And removing battery while connecting to PC won’t work, only a “no battery” symbol is shown. Maybe my USB-3.X port is not providing sufficient power?

 ./flash_FP4_factory.sh 

*** Fairphone 4 flashing script ***

INFO: The procedure will start soon. Please wait...
Note that this will detect and flash only on FP4 device.
INFO: You are using a Linux distribution.
INFO: Looking for connected device(s)...
INFO: One Fairphone 4 in fastboot mode found (serial number: XXX).
Sending 'bluetooth_a' (940 KB)                     FAILED (remote: 'Download is not allowed on locked devices')
fastboot: error: Command failed

ERROR: Could not flash the bluetooth_a partition on device XXX.

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.)

ERROR: Aborting now (press Enter to terminate).

SO now I am a bit stuck. While my Fairfphone 4 is waiting in fastbootd menu, connected to th e USB-3.1 port of my laptop, the script only repoert with above error message. Whould I need to run it as root??? (using Debian linux).

I have a Fairphone 4 here and just tried it myself. Power + Volume DOWN definitely boots into fastboot/bootloader mode. It was always the DOWN button with all Fairphones.

2 Likes

to… Boot Fairphone 4 into Recovery Mode

… then

Boot Fairphone 4 Bootloader Mode/Fastboot Mode using Hardware Buttons

  1. Power off your Phone.
  2. Now, press and hold the Volume Down and Power button together for a few seconds.
1 Like

When I do this, with the down button + power button, I land in a menu wher I can select items via up/down/power:

  • START
  • Restart Bootloader
  • Recovery Mode
  • Power Off

When I select one of those and press power Button, I get that done.

Actually there are ome lines showing some information I dont relate.

Whe nI just run the script when that menu is shown, this is reported on my laptop:

  • FAILED (remote: ‘Flashing is not allowed in Lock State’)
    I am sure to have (fetched unlock code from ff site etc.) done unlocking my phone inside stock OS. :thinking:

It seems you haven’t done the unlock step yet.

You need to do that first from fastboot mode, which is the one that shows START, Restart Bootloader, Recovery Mode and Power Off (i.e. you need to stay on that screen during the unlock step)

2 Likes

No, you did not unlock, you only allowed to unlock.

2 Likes

OK I review what I did. Inside stock OS.

Then I have to go console and do

adb devices

  List of devices attached
  XXX        unauthorized

adb reboot bootloader 
   error: device unauthorized.
   This adb server's $ADB_VENDOR_KEYS is not set
   Try 'adb kill-server' if that seems wrong.
   Otherwise check for a confirmation dialog on your device.

Is that already showing a problem?


reading this here
https://forum.xda-developers.com/t/fairphone-4-unlock-bootloader-official.4397253/

Ok if I reboot into Stock OS, ther is “usb debugginh is enabled” and when I enter sim-pin and unlock-pin and THEN do another try, that is different now:

adb devices 
List of devices attached
285dc5d3        device

adb reboot bootloader
...

There on the phone now is in the “fastboot mode” (i think at least) som einfo, one says: DEVICE STATE - locked

So I have to unlock it. Try on console via faast boot … one moment please…

fastboot flashing unlock
OKAY [ 0.035s]
Finished. Total time: 0.035s

And on the Phone comes plenty of TEXTWALL and there I read at the bottom how to unlock, I actually unlocked it now !

Still I wonder WHAT exactly I was again missing in the whole documentation that I read. I feel stupid, folks!

./flash_FP4_factory.sh 

*** Fairphone 4 flashing script ***

INFO: The procedure will start soon. Please wait...
Note that this will detect and flash only on FP4 device.
INFO: You are using a Linux distribution.
INFO: Looking for connected device(s)...
INFO: One Fairphone 4 in fastboot mode found (serial number: xxx).
Sending 'bluetooth_a' (940 KB)                     OKAY [  0.010s]
Writing 'bluetooth_a'                              OKAY [  0.004s]
Finished. Total time: 0.021s
Sending 'bluetooth_b' (940 KB)                     OKAY [  0.014s]
Writing 'bluetooth_b'                              OKAY [  0.004s]
Finished. Total time: 0.025s
Sending 'devcfg_a' (42 KB)                         OKAY [  0.002s]
Writing 'devcfg_a'                                 FAILED (remote: 'Flashing is not allowed for Critical Partitions
')
fastboot: error: Command failed

ERROR: Could not flash the devcfg_a partition on device xxx.

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.)

ERROR: Aborting now (press Enter to terminate).
  • Ask for unlock with fastboot flashing unlock
  • Approve with volume + then power
  • The device proceed with a factory reset, and automatically reboots
  • Reboot again into bootloader
  • Unlock critical with fastboot flashing unlock_critical
  • Approve with volume + then power
  • The device proceeds with a factory reset, and automatically reboots
2 Likes

OK here was another try:

  1. have bootloader actually unlocked :face_with_spiral_eyes:

  2. Shutoff Phone

  3. hold volume UP + power → get into some boot menu :warning:

  4. choose fast boot + power to boot into fastboot.

  5. THERE same choices of items, but screen looks very different (font etc) from the vol-down booting into fastboot. Someone can explain me what the difference is?

  6. there from laptop run installer-script

./flash_FP4_factory.sh 

*** Fairphone 4 flashing script ***

INFO: The procedure will start soon. Please wait...
Note that this will detect and flash only on FP4 device.
INFO: You are using a Linux distribution.
INFO: Looking for connected device(s)...
INFO: One Fairphone 4 in fastboot mode found (serial number: xxx).
Sending 'bluetooth_a' (940 KB)                     OKAY [  0.007s]
Writing 'bluetooth_a'                              OKAY [  0.012s]
Finished. Total time: 0.026s
Sending 'bluetooth_b' (940 KB)                     OKAY [  0.005s]
Writing 'bluetooth_b'                              OKAY [  0.011s]
Finished. Total time: 0.020s
Sending 'devcfg_a' (42 KB)                         OKAY [  0.001s]
Writing 'devcfg_a'                                 OKAY [  0.006s]
Finished. Total time: 0.011s
Sending 'devcfg_b' (42 KB)                         OKAY [  0.001s]
Writing 'devcfg_b'                                 OKAY [  0.006s]
Finished. Total time: 0.011s
Sending 'dsp_a' (65536 KB)                         OKAY [  0.314s]
Writing 'dsp_a'                                    OKAY [  0.286s]
Finished. Total time: 0.604s
Sending 'dsp_b' (65536 KB)                         OKAY [  0.298s]
Writing 'dsp_b'                                    OKAY [  0.213s]
Finished. Total time: 0.516s
Sending 'modem_a' (149596 KB)                      OKAY [  0.640s]
Writing 'modem_a'                                  OKAY [  0.508s]
Finished. Total time: 1.153s
Sending 'modem_b' (149596 KB)                      OKAY [  0.639s]
Writing 'modem_b'                                  OKAY [  0.515s]
Finished. Total time: 1.158s
Sending 'xbl_a' (3298 KB)                          OKAY [  0.017s]
Writing 'xbl_a'                                    OKAY [  0.018s]
Finished. Total time: 0.038s
Sending 'xbl_b' (3298 KB)                          OKAY [  0.016s]
Writing 'xbl_b'                                    OKAY [  0.023s]
Finished. Total time: 0.044s
Sending 'tz_a' (2944 KB)                           OKAY [  0.018s]
Writing 'tz_a'                                     OKAY [  0.018s]
Finished. Total time: 0.041s
Sending 'tz_b' (2944 KB)                           OKAY [  0.019s]
Writing 'tz_b'                                     OKAY [  0.018s]
Finished. Total time: 0.041s
Sending 'hyp_a' (399 KB)                           OKAY [  0.004s]
Writing 'hyp_a'                                    OKAY [  0.008s]
Finished. Total time: 0.016s
Sending 'hyp_b' (399 KB)                           OKAY [  0.003s]
Writing 'hyp_b'                                    OKAY [  0.007s]
Finished. Total time: 0.015s
Sending 'keymaster_a' (257 KB)                     OKAY [  0.003s]
Writing 'keymaster_a'                              OKAY [  0.007s]
Finished. Total time: 0.014s
Sending 'keymaster_b' (257 KB)                     OKAY [  0.002s]
Writing 'keymaster_b'                              OKAY [  0.006s]
Finished. Total time: 0.012s
Sending 'abl_a' (148 KB)                           OKAY [  0.002s]
Writing 'abl_a'                                    OKAY [  0.006s]
Finished. Total time: 0.011s
Sending 'abl_b' (148 KB)                           OKAY [  0.001s]
Writing 'abl_b'                                    OKAY [  0.006s]
Finished. Total time: 0.011s
Sending 'boot_a' (98304 KB)                        OKAY [  0.443s]
Writing 'boot_a'                                   OKAY [  0.373s]
Finished. Total time: 0.822s
Sending 'boot_b' (98304 KB)                        OKAY [  0.437s]
Writing 'boot_b'                                   OKAY [  1.393s]
Finished. Total time: 1.836s
Sending 'recovery_a' (98304 KB)                    OKAY [  0.547s]
Writing 'recovery_a'                               OKAY [  0.405s]
Finished. Total time: 0.955s
Sending 'recovery_b' (98304 KB)                    OKAY [  0.552s]
Writing 'recovery_b'                               OKAY [  0.363s]
Finished. Total time: 0.917s
Sending 'dtbo_a' (24576 KB)                        OKAY [  0.142s]
Writing 'dtbo_a'                                   OKAY [  0.088s]
Finished. Total time: 0.233s
Sending 'dtbo_b' (24576 KB)                        OKAY [  0.144s]
Writing 'dtbo_b'                                   OKAY [  0.094s]
Finished. Total time: 0.242s
Sending 'vbmeta_system_a' (4 KB)                   OKAY [  0.001s]
Writing 'vbmeta_system_a'                          OKAY [  0.005s]
Finished. Total time: 0.010s
Sending 'vbmeta_system_b' (4 KB)                   OKAY [  0.001s]
Writing 'vbmeta_system_b'                          OKAY [  0.005s]
Finished. Total time: 0.009s
Sending 'vbmeta_a' (8 KB)                          OKAY [  0.001s]
Writing 'vbmeta_a'                                 OKAY [  0.005s]
Finished. Total time: 0.010s
Sending 'vbmeta_b' (8 KB)                          OKAY [  0.001s]
Writing 'vbmeta_b'                                 OKAY [  0.005s]
Finished. Total time: 0.010s
Sending sparse 'super' 1/11 (262140 KB)            OKAY [  1.352s]
Writing 'super'                                    OKAY [  1.480s]
Sending sparse 'super' 2/11 (258052 KB)            OKAY [  1.173s]
Writing 'super'                                    OKAY [  1.447s]
Sending sparse 'super' 3/11 (262142 KB)            OKAY [  1.291s]
Writing 'super'                                    OKAY [  0.810s]
Sending sparse 'super' 4/11 (262143 KB)            OKAY [  1.144s]
Writing 'super'                                    OKAY [  0.894s]
Sending sparse 'super' 5/11 (251179 KB)            OKAY [  1.489s]
Writing 'super'                                    OKAY [  0.829s]
Sending sparse 'super' 6/11 (261236 KB)            OKAY [  1.249s]
Writing 'super'                                    OKAY [  0.814s]
Sending sparse 'super' 7/11 (259644 KB)            OKAY [  1.467s]
Writing 'super'                                    OKAY [  0.831s]
Sending sparse 'super' 8/11 (259076 KB)            OKAY [  1.423s]
Writing 'super'                                    OKAY [  1.459s]
Sending sparse 'super' 9/11 (257971 KB)            OKAY [  1.458s]
Writing 'super'                                    OKAY [  1.462s]
Sending sparse 'super' 10/11 (255484 KB)           OKAY [  1.384s]
Writing 'super'                                    OKAY [  0.853s]
Sending sparse 'super' 11/11 (93552 KB)            OKAY [  0.407s]
Writing 'super'                                    OKAY [  1.001s]
Finished. Total time: 25.777s
Sending 'aop_a' (174 KB)                           OKAY [  0.003s]
Writing 'aop_a'                                    OKAY [  0.004s]
Finished. Total time: 0.011s
Sending 'aop_b' (174 KB)                           OKAY [  0.002s]
Writing 'aop_b'                                    OKAY [  0.003s]
Finished. Total time: 0.009s
Sending 'featenabler_a' (84 KB)                    OKAY [  0.002s]
Writing 'featenabler_a'                            OKAY [  0.003s]
Finished. Total time: 0.007s
Sending 'featenabler_b' (84 KB)                    OKAY [  0.001s]
Writing 'featenabler_b'                            OKAY [  0.003s]
Finished. Total time: 0.007s
Sending 'imagefv_a' (524 KB)                       OKAY [  0.004s]
Writing 'imagefv_a'                                OKAY [  0.004s]
Finished. Total time: 0.011s
Sending 'imagefv_b' (524 KB)                       OKAY [  0.004s]
Writing 'imagefv_b'                                OKAY [  0.008s]
Finished. Total time: 0.015s
Sending 'multiimgoem_a' (13 KB)                    OKAY [  0.001s]
Writing 'multiimgoem_a'                            OKAY [  0.005s]
Finished. Total time: 0.010s
Sending 'multiimgoem_b' (13 KB)                    OKAY [  0.001s]
Writing 'multiimgoem_b'                            OKAY [  0.006s]
Finished. Total time: 0.011s
Sending 'qupfw_a' (53 KB)                          OKAY [  0.001s]
Writing 'qupfw_a'                                  OKAY [  0.006s]
Finished. Total time: 0.011s
Sending 'qupfw_b' (53 KB)                          OKAY [  0.001s]
Writing 'qupfw_b'                                  OKAY [  0.006s]
Finished. Total time: 0.010s
Sending 'uefisecapp_a' (121 KB)                    OKAY [  0.002s]
Writing 'uefisecapp_a'                             OKAY [  0.006s]
Finished. Total time: 0.012s
Sending 'uefisecapp_b' (121 KB)                    OKAY [  0.002s]
Writing 'uefisecapp_b'                             OKAY [  0.006s]
Finished. Total time: 0.012s
Sending 'xbl_config_a' (94 KB)                     OKAY [  0.001s]
Writing 'xbl_config_a'                             OKAY [  0.007s]
Finished. Total time: 0.013s
Sending 'xbl_config_b' (94 KB)                     OKAY [  0.001s]
Writing 'xbl_config_b'                             OKAY [  0.007s]
Finished. Total time: 0.012s
Sending 'core_nhlos_a' (111884 KB)                 OKAY [  0.561s]
Writing 'core_nhlos_a'                             OKAY [  0.405s]
Finished. Total time: 0.971s
Sending 'core_nhlos_b' (111884 KB)                 OKAY [  0.653s]
Writing 'core_nhlos_b'                             OKAY [  0.419s]
Finished. Total time: 1.076s
Erasing 'userdata'                                 OKAY [  0.709s]
Finished. Total time: 0.711s
Erasing 'metadata'                                 OKAY [  0.004s]
Finished. Total time: 0.007s
Setting current slot to 'a'                        OKAY [  0.036s]
Finished. Total time: 0.037s
-----------

INFO: Done. The device will reboot now.
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.804s

INFO: You can unplug the USB cable now.

It now boots into /e/os. WTF? MAgiC?

What have I done differently? Trying to understand… someone… Ingo_FP_Angel?

adb and fastboot only recognize my mobile when that is fully bootet, sim pin entered and when I am not at 1st setup stage of e/os, adb devices shows no devices . I now have to setup to some point until the phone is serving USB again? (my guess is: I have to re-activate USB-Debugging?) * sorry when I am experimenting around without much understanding, which makes me feel miserable*

The link you posted …

… already explained the difference, please read the whole page.
One mode is recovery mode, the other mode is fastboot mode (aka bootloader).

1 Like

See. But why is “X-> recovery mode → fastboot mode” different from “X-> fastboot mode”?
former shown different screenlayout and font, and it allowed the installer script to perform, latter gave only installer-errors.

ADB (Android Debug Bridge) and Fastboot are 2 different things. They just usually come together in the same set of tools.
Accordingly, there’s an adb devices command and a fastboot devices command for device detection.

Yupp. Inside /e/os now activated dev-mode and usb-debugging, now adb devices lists my mobile again. One microthing more understood.