OTA TT45.A.141 fails to install

When I try to install the OTA update it fails and the updater shows a generic “installation problem” message at the top.

When I plug my device to Android Studio and open logcat it shows the following:

2024-02-08 08:58:16.989 1568-1568/? E/update_engine: [ERROR:verified_source_fd.cc(50)] Unable to open ECC source partition /dev/block/bootdevice/by-name/boot_b: Success (0)
2024-02-08 08:58:16.990 1568-1568/? E/update_engine: [ERROR:partition_writer.cc(317)] 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.
2024-02-08 08:58:16.991 1568-1568/? E/update_engine: [ERROR:partition_writer.cc(322)] Expected:   sha256|hex = 81EA387D5C44DA4E89B2A165677C436E1FEF53B8D80FD2F985253FE2124FD519
2024-02-08 08:58:16.992 1568-1568/? E/update_engine: [ERROR:partition_writer.cc(325)] Calculated: sha256|hex = D757A00529D3F1BFED8B14B7C23FC92BE304BBFF60E88BF28AF73EC70C6FD43B
2024-02-08 08:58:16.993 1568-1568/? E/update_engine: [ERROR:partition_writer.cc(336)] Operation source (offset:size) in blocks: 0:1,13699:1
2024-02-08 08:58:16.994 1568-1568/? E/update_engine: [ERROR:partition_writer.cc(261)] source_fd != nullptr failed.
2024-02-08 08:58:16.995 1568-1568/? E/update_engine: [ERROR:delta_performer.cc(844)] partition_writer_->PerformDiffOperation( operation, error, buffer_.data(), buffer_.size()) failed.
2024-02-08 08:58:16.996 1568-1568/? E/update_engine: [ERROR:delta_performer.cc(199)] Failed to perform BROTLI_BSDIFF operation 3109, which is the operation 0 in partition "boot"
2024-02-08 08:58:16.997 1568-1568/? E/update_engine: [ERROR:download_action.cc(227)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing

I had previously used magisk on my phone but I removed it by restoring the images. This worked for the previous OTAs.

Kinda strnage is that the expected hash cannot be found anywhere. I have all the zips downloaded and checked their SHA256SUMS file and searched for the expected hash. I can’t find it in the previous release I have on my phone (which is FP5.TT3P.A.112 as the following 2 releases were hold back due to 5g issues with Telekom). I also can’t find it in any released zip at all.
Even more strange is that the calculated hash cannot be retrieved manually. I temporarily booted into TWRP and did run sha256sum on each (named) partition. No calculated hash would match the calculated hash which the updater reported.

I would assume that there is maybe an error with that hash itself but there are other users which have installed this update successfully so I’m lost what to do now to get the update installed.

If you are using a firewall, esp. AFWall+, you have to deactivate it while updating.

I use NetGuard and I disabled it beforehand without avail.

Remove the SIM card and try it again. But be careful, don’t reboot the phone if you already uninstalled Magisk.

Otherwise you have to patch the boot.img of this version with Magisk and do the first time reinstall procedure of unrooting.

Or , if you haven’t reboot and uninstalled Magisk install Magisk again.

Magisk isn’t an issue. I did remove it. I can reapply it when the update succeeded. But that still does not work.

Can anyone tell me the download location of the OTA update file? So I can try to reverse engineer the steps that are made during the update process and maybe I can figure out which partition fails the sha256sum check.


1 Like

Ok, I got rid of the problem, but in way other means than intended.

I realized that the given OTA update archive did not contain a human readable script which does the actual installation. I assumed it could be that way because the archive with the full rom contains a script which flashes all the partitions and wipes userdata by default (called flash_fp5_factory.sh).
As the time went by I got the idea to just modify this script and to disable the part which flashes the userdata and metadata partitions. Before that I went for a full backup of my data and thought that maybe giving the updater a last shot wouldn’t be a bad idea, too.

There was a new release since my last update tries. And the updater did not just download a diff archive file (with a small size) but instead downloaded a full archive (around 2GB). And to my surprise the update went smooth and after reboot I had the latest OS version installed.

So long story short: I could not investigate further why the previous version could not be applied correctly. The most recent could and I am happy for now :slight_smile: