English

FP3: TWRP > Magisk > oem lock > oem unlock: still bricked

Hi,
I am pretty much in the same situation as Jo_na
( I bricked my FP3 and i hated it).
But the solution ( Fairphone 3 unlocking without oem unlocking) does not quite work for me.

with much of research in between the steps I did:

1.) updated to Android 10, in the settings of the preinstalled rom.

2.) installed Magisk and then TWRP apk, because Magisk couldn’t root from the app und I know about the work-around through flashing the Magisk.zip with TWRP

3.)unlock the oem by (/en/bootloader-unlocking-code-for-fairphone-3/) and (/hc/en-us/articles/360048646311-Manage-the-bootloader-of-your-FP3-FP3-) bulletin 1 to 3

4.)use fastboot to boot with TWRP, flash Magisk and then TWRP

5.)worked like a charm

6.)following the warning while booting, I locked the oem again (/en/bootloader-unlocking-code-for-fairphone-3/) and (/hc/en-us/articles/360048646311-Manage-the-bootloader-of-your-FP3-FP3-) point 4:
" fastboot oem lock"

7.)got the corruption warning, and the get stock in fastboot, cannot go to recovery or normal boot.

7.1)send an email to the Fairphone-support

8.) tried myself " fastboot oem unlock" and [Fairphone 3 unlocking without oem unlocking] which both unlocked the oem again BUT still cannot boot to TWRP using fastboot

user@linux$ fastboot boot twrp-3.4.0-0-FP3.img
downloading ‘boot.img’…
OKAY [ 0.793s]
booting…
FAILED (remote: unknown reason)
finished. total time: 2.171s

also tried:

user@linux$ sudo fastboot boot twrp-3.4.0-0-FP3.img
[sudo] password for jan:
downloading ‘boot.img’…
OKAY [ 0.765s]
booting…
FAILED (remote: unknown reason)
finished. total time: 2.165s

and

user@linux$ fastboot flash boot twrp-3.4.0-0-FP3.img
target reported max download size of 534773760 bytes
sending ‘boot’ (29486 KB)…
OKAY [ 0.793s]
writing ‘boot’…
FAILED (remote: partition table doesn’t exist)
finished. total time: 0.810s

I am no Android expert, just want root to run Titanium Backup again and freeze some annoying goggle apps.

:cry: sigh, if I just didn’t lock the oem…

Any help is appreciated.

ps. sorry, as a new user I can only write 2 links in a post, so I deleted the domain so the text isn’t recognized as a link.

EDIT:
I also tried to flash the stock rom with fastboot. [TWRP installable stock firmware packages for Fairphone 3]
using:

user@linux$ fastboot update Fairphone_FP3_8901.2.A.0110.20200109_01092024_user_release-keys_2.zip
archive does not contain ‘android-info.txt’
error: update package ‘Fairphone_FP3_8901.2.A.0110.20200109_01092024_user_release-keys_2.zip’ has no android-info.txt

EDIT2:

user@linux$ fastboot getvar all
(bootloader) version:0.5
(bootloader) hw-chip:SDM632
(bootloader) battery-soc-ok:yes
(bootloader) battery-voltage:4295443
(bootloader) variant:MTP eMMC
(bootloader) unlocked:yes
(bootloader) secure:no
(bootloader) version-baseband:
(bootloader) version-bootloader:
(bootloader) logical-block-size:0x200
(bootloader) erase-block-size:0x200
(bootloader) display-panel:
(bootloader) off-mode-charge:1
(bootloader) adb-enabled:0
(bootloader) charger-screen-enabled:1
(bootloader) max-download-size: 0x1fe00000
(bootloader) slot-count:2
(bootloader) current-slot:INVALID
(bootloader) slot-retry-count:b:0
(bootloader) slot-success:b:No
(bootloader) slot-active:b:No
(bootloader) slot-unbootable:b:Yes
(bootloader) slot-retry-count:a:7
(bootloader) slot-success:a:No
(bootloader) slot-active:a:No
(bootloader) slot-unbootable:a:No
(bootloader) has-slot:userdata: No
(bootloader) has-slot:product: Yes
(bootloader) has-slot:frp: No
(bootloader) has-slot:logdump: No
(bootloader) has-slot:dpo: No
(bootloader) has-slot:msadp: No
(bootloader) has-slot:apdp: No
(bootloader) has-slot:keymaster: Yes
(bootloader) has-slot:cmnlib64: Yes
(bootloader) has-slot:cmnlib: Yes
(bootloader) has-slot:lksecapp: Yes
(bootloader) has-slot:mcfg: No
(bootloader) has-slot:syscfg: No
(bootloader) has-slot:mdtp: Yes
(bootloader) has-slot:dip: No
(bootloader) has-slot:mota: No
(bootloader) has-slot:limits: No
(bootloader) has-slot:oem: No
(bootloader) has-slot:config: No
(bootloader) has-slot:prodinfo: No
(bootloader) has-slot:keystore: No
(bootloader) has-slot:misc: No
(bootloader) has-slot:persist: No
(bootloader) has-slot:vendor: Yes
(bootloader) has-slot:system: Yes
(bootloader) has-slot:devinfo: No
(bootloader) has-slot:boot: Yes
(bootloader) has-slot:vbmeta: Yes
(bootloader) has-slot:dtbo: Yes
(bootloader) has-slot:aboot: Yes
(bootloader) has-slot:splash: No
(bootloader) has-slot:sec: No
(bootloader) has-slot:fsg: No
(bootloader) has-slot:DDR: No
(bootloader) has-slot:modemst2: No
(bootloader) has-slot:modemst1: No
(bootloader) has-slot:dsp: Yes
(bootloader) has-slot:devcfg: Yes
(bootloader) has-slot:tz: Yes
(bootloader) has-slot:rpm: Yes
(bootloader) has-slot:sbl1: Yes
(bootloader) has-slot:ssd: No
(bootloader) has-slot:fsc: No
(bootloader) has-slot:modem: Yes
(bootloader) partition-type:userdata:ext4
(bootloader) partition-size:userdata: 0xc2f6f9e00
(bootloader) partition-type:product_b:raw
(bootloader) partition-size:product_b: 0x8000000
(bootloader) partition-type:product_a:raw
(bootloader) partition-size:product_a: 0x8000000
(bootloader) partition-type:frp:raw
(bootloader) partition-size:frp: 0x80000
(bootloader) partition-type:logdump:raw
(bootloader) partition-size:logdump: 0x4000000
(bootloader) partition-type:dpo:raw
(bootloader) partition-size:dpo: 0x2000
(bootloader) partition-type:msadp:raw
(bootloader) partition-size:msadp: 0x40000
(bootloader) partition-type:apdp:raw
(bootloader) partition-size:apdp: 0x40000
(bootloader) partition-type:keymaster_b:raw
(bootloader) partition-size:keymaster_b: 0x100000
(bootloader) partition-type:keymaster_a:raw
(bootloader) partition-size:keymaster_a: 0x100000
(bootloader) partition-type:cmnlib64_b:raw
(bootloader) partition-size:cmnlib64_b: 0x100000
(bootloader) partition-type:cmnlib64_a:raw
(bootloader) partition-size:cmnlib64_a: 0x100000
(bootloader) partition-type:cmnlib_b:raw
(bootloader) partition-size:cmnlib_b: 0x100000
(bootloader) partition-type:cmnlib_a:raw
(bootloader) partition-size:cmnlib_a: 0x100000
(bootloader) partition-type:lksecapp_b:raw
(bootloader) partition-size:lksecapp_b: 0x20000
(bootloader) partition-type:lksecapp_a:raw
(bootloader) partition-size:lksecapp_a: 0x20000
(bootloader) partition-type:mcfg:raw
(bootloader) partition-size:mcfg: 0x400000
(bootloader) partition-type:syscfg:raw
(bootloader) partition-size:syscfg: 0x80000
(bootloader) partition-type:mdtp_b:raw
(bootloader) partition-size:mdtp_b: 0x2000000
(bootloader) partition-type:mdtp_a:raw
(bootloader) partition-size:mdtp_a: 0x2000000
(bootloader) partition-type:dip:raw
(bootloader) partition-size:dip: 0x100000
(bootloader) partition-type:mota:raw
(bootloader) partition-size:mota: 0x80000
(bootloader) partition-type:limits:raw
(bootloader) partition-size:limits: 0x8000
(bootloader) partition-type:oem:raw
(bootloader) partition-size:oem: 0x10000000
(bootloader) partition-type:config:raw
(bootloader) partition-size:config: 0x8000
(bootloader) partition-type:prodinfo:raw
(bootloader) partition-size:prodinfo: 0x200000
(bootloader) partition-type:keystore:raw
(bootloader) partition-size:keystore: 0x80000
(bootloader) partition-type:misc:raw
(bootloader) partition-size:misc: 0x100000
(bootloader) partition-type:persist:raw
(bootloader) partition-size:persist: 0x2000000
(bootloader) partition-type:vendor_b:raw
(bootloader) partition-size:vendor_b: 0x40000000
(bootloader) partition-type:vendor_a:raw
(bootloader) partition-size:vendor_a: 0x40000000
(bootloader) partition-type:system_b:raw
(bootloader) partition-size:system_b: 0xc0000000
(bootloader) partition-type:system_a:raw
(bootloader) partition-size:system_a: 0xc0000000
(bootloader) partition-type:devinfo:raw
(bootloader) partition-size:devinfo: 0x100000
(bootloader) partition-type:boot_b:raw
(bootloader) partition-size:boot_b: 0x4000000
(bootloader) partition-type:boot_a:raw
(bootloader) partition-size:boot_a: 0x4000000
(bootloader) partition-type:vbmeta_b:raw
(bootloader) partition-size:vbmeta_b: 0x10000
(bootloader) partition-type:vbmeta_a:raw
(bootloader) partition-size:vbmeta_a: 0x10000
(bootloader) partition-type:dtbo_b:raw
(bootloader) partition-size:dtbo_b: 0x800000
(bootloader) partition-type:dtbo_a:raw
(bootloader) partition-size:dtbo_a: 0x800000
(bootloader) partition-type:aboot_b:raw
(bootloader) partition-size:aboot_b: 0x300000
(bootloader) partition-type:aboot_a:raw
(bootloader) partition-size:aboot_a: 0x300000
(bootloader) partition-type:splash:raw
(bootloader) partition-size:splash: 0xb00000
(bootloader) partition-type:sec:raw
(bootloader) partition-size:sec: 0x4000
(bootloader) partition-type:fsg:raw
(bootloader) partition-size:fsg: 0x180000
(bootloader) partition-type:DDR:raw
(bootloader) partition-size:DDR: 0x8000
(bootloader) partition-type:modemst2:raw
(bootloader) partition-size:modemst2: 0x180000
(bootloader) partition-type:modemst1:raw
(bootloader) partition-size:modemst1: 0x180000
(bootloader) partition-type:dsp_b:raw
(bootloader) partition-size:dsp_b: 0x1000000
(bootloader) partition-type:dsp_a:raw
(bootloader) partition-size:dsp_a: 0x1000000
(bootloader) partition-type:devcfg_b:raw
(bootloader) partition-size:devcfg_b: 0x40000
(bootloader) partition-type:devcfg_a:raw
(bootloader) partition-size:devcfg_a: 0x40000
(bootloader) partition-type:tz_b:raw
(bootloader) partition-size:tz_b: 0x200000
(bootloader) partition-type:tz_a:raw
(bootloader) partition-size:tz_a: 0x200000
(bootloader) partition-type:rpm_b:raw
(bootloader) partition-size:rpm_b: 0x80000
(bootloader) partition-type:rpm_a:raw
(bootloader) partition-size:rpm_a: 0x80000
(bootloader) partition-type:sbl1_b:raw
(bootloader) partition-size:sbl1_b: 0x80000
(bootloader) partition-type:sbl1_a:raw
(bootloader) partition-size:sbl1_a: 0x80000
(bootloader) partition-type:ssd:raw
(bootloader) partition-size:ssd: 0x2000
(bootloader) partition-type:fsc:raw
(bootloader) partition-size:fsc: 0x400
(bootloader) partition-type:modem_b:raw
(bootloader) partition-size:modem_b: 0x5800000
(bootloader) partition-type:modem_a:raw
(bootloader) partition-size:modem_a: 0x5800000
(bootloader) hw-revision:10000
(bootloader) serialno:A209JDY40201
(bootloader) kernel:lk
(bootloader) product:FP3
all:
finished. total time: 2.000s

It’s not a work-around, that’s the standard way of installing Magisk.
If it were possible to get root just by installing an app, that would have quite some security implications.

for fastboot boot to work, a bootable slot must be active.
In your case no slot is selected and b is marked as unbootable, so you should activate slot a:

fastboot --set-active=a

These ZIPs are meant to be installed using TWRP, not fastboot.
You could install a ROM using fastboot, which would probably also fix your phone:


3 Likes

A general remark, as @k4y0z covered the details already:

Please stop throwing random stuff from the internet at your phone, the internet isn’t always right, and not every hint or solution applies to every phone.

Try to find official documentation or documentation from the developer/source of the stuff you try to use, and when found, stick with that (and read it thoroughly).

https://twrp.me/fairphone/fairphone3.html

https://support.fairphone.com/hc/en-us/articles/360048050332-Manually-install-Fairphone-OS-on-FP3-FP3-

If you are uncertain about something, it doesn’t hurt to ask in a forum like this before halfway deliberately trying to brick your phone :wink: .

3 Likes

HI, thanks for the quick response. I did not have time up until now to try.

MMmh, I thought there is the option to download the file and execute it in the app, and then there is an prompt which said something like: “…failed…”. But anyway, as long as it works in the end…

I did that:

user@linux$ fastboot --set-active=a
Setting current slot to ‘a’…
OKAY [ 0.022s]
finished. total time: 0.022s

user@linux$ fastboot getvar current-slot
current-slot: a
finished. total time: 0.020s

BUT

user@linux$ fastboot boot twrp-3.4.0-0-FP3.img
downloading ‘boot.img’…
OKAY [ 0.787s]
booting…
FAILED (remote: unknown reason)
finished. total time: 2.265s

I tried and strangely, it worked

user@linux$ fastboot --set-active=b
Setting current slot to ‘b’…
OKAY [ 0.022s]
finished. total time: 0.022s
user@linux$ fastboot boot twrp-3.4.0-0-FP3.img
downloading ‘boot.img’…
OKAY [ 0.774s]
booting…
OKAY [ 8.600s]
finished. total time: 9.374s

Following your instructions from (TWRP installable stock firmware packages for Fairphone 3 ) I reinstalled the stock rom, did factory reset, ran magisk.zip to root and last flashed twrp, left the oem unlocked for now and ignore the warning during the boot.

(fyi: in the first run i didn’t flash twrp, just booted it and locked oem, with the stock recovery lastly, but came to the same dead-end as in the beginning of the thread)

thought so too, but when you are desperate… :wink:
Yeah I read, when unzipped you can flash every part.
fastboot flash boot boot.img
fastboot flash system system.img
etc.

1 Like

Hi AnotherElk,
I get it seems random what I did, but it wasn’t, I followed the official instructions and read them thoroughly. In an ideal world I would study IT and be an expert myself and perfectly know how to code, but I don’t have the time nor the energy to, and it is hard enough to keep up with the developments.
The official instructions, they sometimes have faults or lag certain points themself, for example the TWRP doc doesn’t mention the oem lock and the article from FP about the oem lock (https://support.fairphone.com/hc/en-us/articles/360048646311-Manage-the-bootloader-of-your-FP3-FP3-) currently, falsely says under point 4 the command to lock the oem again would be

fastboot oem unlock

and it doesn’t warn you, that you brick your phone if you changed the bootloader and then lock the oem.
So in my experience it is best the search and compare multiple instructions.

Well I try to provide much information about what I do and the error-codes, because with a “HELP NOTHING IS WORKING!!!” only get a “rtfm” or “google your problem yourself first”.
And it is impossible to anticipated errors and fails you don’t know about (or find mentioned in the instructions/docs) and therefore impossible to ask about them before they occur.

Have an nice weekend :slight_smile:

1 Like

Well, that option exists for updating Magisk, once already rooted, not for initial installation.

The images there are old, if you use them, you should update to the latest OTA BEFORE installing Magisk.

DON’T LOCK YOUR BOOTLOADER, IF YOU INTEND TO RUN A MODIFIED (I.E. ROOTED) SYSTEM.

3 Likes

Ok

Well, I installed Magisk again, after the OTA update.

Oh yes, learned that the hard way :cry:

and thanks again for your help :grinning:

Hello,

can install newest android update when installes magisk and unkocked system?

If not, how do you go about it?

Steven

I do not know the answer to your question. As a matter of fact, I have issues with the OTA update myself. Perhaps I get an answer, that can help you too, here: Unable to install August security update on FP3

1 Like