TWRP for Fairphone 3

I have uploaded an installable ZIP-file for Stock-ROM here:

If anyone wants to give that a try.


Can’t try it now, but I love the subtle change in filename compared to the earlier one :slight_smile: :+1: .

is this a way to get a full ota download url?
i still havent updated to 105 maybe i can try it

1 Like

Sure, give it a try.
If the incremental update fails, it should try a full update (if there is one available)

Did you root your phone? I guess, if you have a different boot :grin:
It might be a good idea to MITM the requests in the same time :slight_smile: (to be able to check for update without the phone)

The public key (for the website or the update ?) is here :
G**gles certs are here :

Some relevant strings in /system/bin/update_engine

Booted in dev mode.
Booted non-official build.

So it doesn’t want to install in case of modified boot. (We’ll pass thru TWRP flashable zip)


Yes that’s the behavior I know from the Pixel2XL. It never did a full system update for me there, it immediately stopped the update procedure once it detects a modification. As mentioned earlier, the safest option is to restore a previously backed up boot.img (or if you know which version you have - from a factory image), then reboot and update as usual. Finally redo the boot modifications on the the updated boot.img. Of cause this must also be done with system if that was modified as well.

I tried that, and it didn’t work … not with my own A.0105 boot.img from a backup, and not with the boot.img from the A.0105 stock image … the Updater doesn’t update and only says “installation problem”.

Did you flash magisk? Because it also mount system and vendor partition to do something (I didn’t look) *


1 Like

Install this using TWRP
It will restore your phone to 105 stock completely.

It won’t touch userdata, so that should be safe, wouldn’t hurt to make a backup using TWRP though.


Are you sure about this? I don’t think so. It should only touch the boot partition.

I am not sure at all. It is what I though until I viewed that it mounts system and vendor (but it might be to read)

If there is an addons.d in the ROM, it would put it’s retention-script there.
Not sure if it would touch a stock-ROM though.
However mounting system or vendor as RW in TWRP would be enough for invalidating the checksums.

Well, I think it mount them in read-only (due to what I read in the next link.)
Here is a tuto to update a device with magisk.

(thx @grumpy)

Thanks, that would most probably help, but when I have some time again I’ll start from scratch with GSI anyway, so I’ll just not update now.

So these partitions are enough to get a full snapshot of the phone?
Meaning I don’t need to make a nand backup for each and every partitions, but just for these (and EFS once for all)?

My goal is to have a easy way to try new buggy ROM (to start porting Lineage). Flashing a buggy rom → crash → restore nand backup → everything is back where it was.

I have installed TWRP as the recoery and rooted the phone with Magisk, additionally I removed some google system apps with the TWRP file manager.
The ota update tutorial doesn’t work for me.
I’d like to understand now if it’s because of TWRP or deleting the systems apps? Or both?
Am I right, that updating with disabling Magisk only works if I didn’t install/flash TWRP, but only booted it from fastboot and installed Magisk?

What’s necessary now to successfully update my FP? Will it work if I flash the boot and recovery partition, or is the system partition also necessary?
And for the future: will removing system apps with the twrp filemanager always result in an invalid check for the ota updater?


You can do it manually for the moment, thanks to the awesome work on payload_dumper done by @corvuscorax .

You need stock A0105, with the non-corrupted dsp.img here, and use his version of payload_dumper here.

Stock A0110 img/flashable zip are coming soon.

1 Like

I have uploaded a new TWRP-release to my github.
Installable ZIP for 110 is also currently uploading.

ZIPs available here:


I’m sorry, but I cannot run the payload dumper. I tried with my windows 10 computer and with windows itself and the ubuntu subsystem it’s not possible to get all the dependencies for the python2.7 script.
I’d rather try to install LOS with the GSI image now.

Edit: I just flashed the from k4y0s and it worked :+1: