TWRP installable stock firmware packages for Fairphone 3

I will give 110 a new try tomorrow.

How? It doesn’t seem to work. The IMG can’t be fastboot booted, and the ZIP seems corrupt or is not for unzipping?


Doesn’t work, still freezes at “Fairphone”.
And it gives the notorius “Your device is corrupt” routine, at least I didn’t have this before attempting to install A.0110 this way.


It seems I went straight for the update problem …

I came from a stock A.0105 with an unlocked bootloader.
Installed twrp-3.3.1-0_k4y0z-20200124-02-fp3.img, which worked fine.
Installed Magisk, which worked fine, too.

Along came A.0110 … and wouldn’t install, the updater always gives “Installation problem”.

I tried to restore the TWRP backup I made before I changed anything.
I tried to flash and TWRP-install the stock A.0105 packages given here in the forum.

But it doesn’t help, this way I apparently don’t get back to a stock A.0105 which can update itself.
Before trying the GSI stuff, I at least wanted to get the “real” stock state back.

So … logcat …

02-01 01:41:13.137   733   733 I update_engine: [0201/014113.137048:INFO:delta_performer.cc(386)] Applying 25 operations to partition "dsp"
02-01 01:41:13.140   733   733 E update_engine: [0201/014113.140342:ERROR:delta_performer.cc(990)] The hash of the source data on disk for this operation doesn't match the expected value. This could mean that the delta update payload was targeted for another version, or that the source partition was modified after it was installed, for example, by mounting a filesystem.
02-01 01:41:13.140   733   733 E update_engine: [0201/014113.140504:ERROR:delta_performer.cc(995)] Expected:   sha256|hex = 2CF4CC1F349D4F27622AFD18DCFFBF5524A7BE034A2CDEEA5C37B043C8C7D10B
02-01 01:41:13.140   733   733 E update_engine: [0201/014113.140548:ERROR:delta_performer.cc(998)] Calculated: sha256|hex = BA89F38FC449A7DE9C3A9BB210F2F65C3C8A0A17D2AD83BB391F09DCD838AB5F
02-01 01:41:13.140   733   733 E update_engine: [0201/014113.140590:ERROR:delta_performer.cc(1009)] Operation source (offset:size) in blocks: 0:2
02-01 01:41:13.140   733   733 W update_engine: [0201/014113.140677:WARNING:mount_history.cc(66)] Device was remounted R/W 2 times. Last remount happened on 1970-01-01 00:00:49.000 UTC.
02-01 01:41:13.140   733   733 E update_engine: [0201/014113.140734:ERROR:delta_performer.cc(1038)] ValidateSourceHash(source_hash, operation, source_fd_, error) failed.
02-01 01:41:13.140   733   733 E update_engine: [0201/014113.140780:ERROR:delta_performer.cc(298)] Failed to perform SOURCE_COPY operation 1385, which is the operation 0 in partition "dsp"
02-01 01:41:13.140   733   733 E update_engine: [0201/014113.140823:ERROR:download_action.cc(337)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing

For a start there’s something wrong with the dsp partition.
Can something be done about this?

I have previously uploaded the img with the wrong file extension.
the zip is actually an img.
I have since uploaded it with correct filename.

Please make sure to install using the current version of TWRP.

The problem with the dsp-partition is known, and I have uploaded a new version of the 105 ZIP that includes the correct dsp partition.
It is linked at the top of this thread.

I have the same problem like AnotherElk. Now I can still boot into fastboot, but from there I cannot fastboot flash system {gsi_image}, I always get the “Your system is corrupt”-error.
So I would probably need a stock image that I can flash via fastboot and not the TWRP installable stock that is provided here. Where can I find that?

Which firmware did you install?
Did you use the TWRP build from today?
Can you still fastboot boot TWRP?
Can you not confirm the corruption message?
Did you try to factory-reset using stock recovery?

I tried to install the A.0110 firmware via TWRP with the TWRP build from today.
I cannot fastboot boot TWRP.
When I get the corruption message and do no nothing, the phone just switches off after 30 seconds.
When I try to boot into the stock recovery I also get the corruption message.

Should I just try this with the dump-image?: TWRP for Fairphone 3

When the corruption message comes up, you need to press the power button, so it doesn’t shut down.
if you cannot fastboot boot TWRP you probably need to set the current slot active using fastboot to reset the retry-counts:

fastboot getvar current-slot
fastboot -set-active=

I tried setting active the current slot, which is b in my case, but I still cannot boot twrp via fastboot

Can you boot the old TWRP?
What error are you getting?

If that doesn’t work either try setting both slots active (your current slot last)

fastboot -set-active=a
fastboot -set-active=b

Setting active both slot didn’t work either and I also cannot boot into the old twrp. I don’t get any specific error, I only always end up in the “Your device is corrupt”-message.

You need to press the power button, when this message comes up, as I’ve said previously.

1 Like

Thanks, the new TWRP works.
My failed try was with the IMG file already, but I think fastboot boot didn’t work momentarily (saw this mentioned here now, too).

“OOPS! no mirrors found.”@Martin_Mattausch-Wie mentioned this, too. Is this a temporary thing with Android File Host? The file has 0 downloads so far. Hmmm …

Doesn’t work, still freezes at “Fairphone”.
I formatted data and wiped system and tried again, same result.

I also flashed the A.0110 and have the same problem with freezing at “Fairphone”.
I also wiped system/cache with no effect.

@k4y0z: Is there an A.0110 dump available for fastboot?

I’m really having trouble now getting back to a booting A.0105.

I got this working yesterday, even if not straightforward.
I had to randomly throw fastboot flashing the A.0105 partition dump, TWRP-installing the A.0105 ZIP file, recovering my A.0105 backup and factory resetting from the stock recovery at the phone, and somehow a combination of this worked in the end.
There was no reproducible, clear path for me to get back, because nothing of this all worked on the first try.

Today … no such luck.

As it stands …

  • I unlocked the bootloader … got a boot message, no big deal.
  • I used TWRP from January 24 … this apparently breaks OTA updates.
    Not nice, but no big deal, I’m an early adopter, this should somehow work out over time.
  • I installed Magisk and rooted, and uninstalled Magisk again … which works like intended, but I take it this doesn’t help matters when I want to revert back to clean stock somewhen.
  • I tried to TWRP January 24-install the A.0110 ZIP … got the additional “Your device is corrupt” message.
    Kind of annoying, but ok, just one more press of a button when booting. I somehow got back to A.0105.
  • I used TWRP from January 31 … which didn’t result in a booting A.0110, too, and now everything I try to get back to A.0105 fails.
    (Which could be coincidence and not the new TWRP’s fault, but I don’t know how to determine that.)

I’m stuck, and a little worried by now because I seem to descent into unworkable step by step.
I could use a reproducible, fail-safe way to install any version of the stock OS.

To get rid of the corrupt message you can do this :

But probably, before that, you’ll have to flash back to the A.0105 stock ROM.

In order to do so, you should download the full stock dump here and follow the instructions to flash it here. Do not forget to flash both slots and to:

If you are working in a shell environment (*nix or Windows) you can run all the instructions as a bash script like this (don’t forget to change the active slot when necessary: current is “a”):

1 Like

Not sure what’s up with that, I tried yesterday and it showed me mirrors.
I’ll see if I can reupload the file.

Did you try booting the stock recovery and doing a factory reset from there?
I’ll recheck the file, though I am sure I uploaded the correct version :confused:

You can use the full-stock dump to revert back to 105 stock using fastboot.
You will have to replace the dsp.img with the one @corvuscorax uploaded here:

@corvuscorax Could you maybe do me the favor and double check the 110 file, that all the partitions it contains are indeed correct?

1 Like

Ok, that’s the file I used.

Ok, I used these instructions.

Ok, I did that, as instructed.

Works fine with copy and paste (with a sanitizing copy and paste detour via Notepad :slight_smile: ). I checked that every command was executed, and without error messages.

I did exactly that.
Thanks for pointing to that post, I had downloaded the dsp.img, but I somehow didn’t find the post again where it was from, so I feared it got retracted and I shouldn’t use it :slight_smile: .

Good question. I’ll retry.
Edit: Same result, still freezes at “Fairphone”.

Thanks for these two posts already, all these files and instructions spreaded over various topics, I always think I missed something … I feel a bit better now :slight_smile: .

I tried to flash the stock image via fastboot as @lost_geographer suggested. However, I got errors before flashing the vendor and the system images:

Sending 'mdtp' (32768 KB)                          OKAY [  1.814s]
Writing 'mdtp'                                     OKAY [  0.163s]
Finished. Total time: 2.008s
Invalid sparse file format at header magic
Sending sparse 'vendor' 1/2 (519509 KB)            OKAY [ 17.564s]
Writing 'vendor'                                   OKAY [ 33.889s]
Sending sparse 'vendor' 2/2 (16364 KB)             OKAY [  0.485s]
Writing 'vendor'                                   OKAY [  0.112s]
Finished. Total time: 52.584s
Invalid sparse file format at header magic
Sending sparse 'system' 1/5 (522235 KB)            OKAY [ 16.643s]
Writing 'system'                                   OKAY [  4.859s]
Sending sparse 'system' 2/5 (512754 KB)            OKAY [ 17.763s]
Writing 'system'                                   OKAY [  2.498s]
Sending sparse 'system' 3/5 (514480 KB)            OKAY [ 15.394s]
Writing 'system'                                   OKAY [  2.401s]
Sending sparse 'system' 4/5 (505663 KB)            OKAY [ 15.370s]
Writing 'system'                                   OKAY [  3.772s]
Sending sparse 'system' 5/5 (445921 KB)            OKAY [ 13.504s]
Writing 'system'                                   OKAY [ 39.322s]
Finished. Total time: 169.187s

Does that matter?
It still doesn’t boot, when I try it boots into stock recovery and says “Can’t load Android system. Your data may be corrupted”.

It offers me to do a factory data reset, but I didn’t dare to do that.

These errors are fine, you need to flash the dsp.img uploaded by @corvuscorax if you want to be able to OTA afterwards.
If it offers factory-reset, do it.

About the 110 ZIP linked above.
I think I have found what was causing the issue.
I have used the truncated files instead of the zero-padded files in the ZIP.
This may have resulted in the checksums not matching.
I’ll reupload the file with the full partitions

4 Likes