Official LineageOS 17.1 for Fairphone 3/Fairphone 3+

Hello,

is it possible to update from @dk1978 's alpha image from December to official LOS17.1 while keeping data ? Do I just flash the official rom over the alpha ?

About the flakey update (which I downloaded & installed just before getting here :neutral_face:): seems that rebooting [& failing to load Android] 3 times in a row, causes LOS (recovery?) to switch the slot. My FP3 is up again (sigh :grinning:)

1 Like

@dk1978 I guess it’s something with April security update that is causing this issue. Do you see any other reports confirmed by other maintainers?

There were reports that some devices, e.g. mata refused to boot after CAF changes. The last (broken) update was removed from the servers just now.

3 Likes

Could you let me know the affected version’s release date so that I can see what were the commits that went in prior to that? Let me see if I can get something out of that.

1 Like

The affected broken release is called lineage-17.1-20210426-nightly-FP3-signed.zip. The one from the week before is lineage-17.1-20210419-nightly-FP3-signed.zip. I already confirmed that the latter one boots. However, I am not sure that is the whole story. LineageOS had some trouble with the infrastructure, with broken builds coming out due to server/signing misconfiguration or rate limiting at some points.

Even more strange - my own local build works as well… Go figure.

2 Likes

Same for me but with a bunch more reboots with and without sd and sim cards and looking around in recovery mode, i don’t think anything i did helped.

Anyway, now i’ve created an account here to ask for help that i no longer need, let me just take the opportunity of my first post to thank everyone here for the work to bring Lineage os to the Fairphone, keeping it running and sharing tips!

2 Likes

I think the bootloader or something similarly low-level takes care of that, should be standard behaviour of A/B devices, as it’s mentioned at A/B (seamless) system updates  |  Android Open Source Project

"If an OTA update is applied but fails to boot, the device will reboot back into the old partition and remains usable. The client is free to re-attempt the update. "

1 Like

My phone now offers the update 3.A.00101
I have LOS. Why did this happen?

2 Likes

I got this message also. Some “hidden” updater component maybe. Waiting for the “real” update :slight_smile:

About the broken “Chernobyl” update lineage-17.1-20210426-nightly-FP3-signed.zip:
I examined it in detail, found four missing files, namely

vendor/lib/libbson.so
vendor/lib64/libbson.so
vendor/lib/libqsap_sdk.so
vendor/lib64/libqsap_sdk.so

as well as other inconsistencies on the vendor partitions, such as an outdated build fingerprint in vendor/build.prop. I can only assume that the LineageOS build system produced a spuriously broken build.

For better debugging of possible future boot failures I have activated the kernel ramoops feature. My advice for all users is: don’t immediately install the next update on coming Monday, let us wait and I will check if things are in working order again.

Another thing: if an update like this breaks again, there is no need to use manual fastboot commands to change slots back to the last working state, especially if you are on the run and can’t access another machine with adb or fastboot commands. When you land in the LineageOS recovery menu saying Can't load Android system at the top, simply press the menu option Try again. Do this several times. The bootloader logic will automatically switch slots after several attempts, and you will end up on the other slot with LineageOS booted up again normally.

16 Likes

Thanks!

When compiling a local build, are the missing files included again?

Yes, they should be:

$ ls out/target/product/FP3/vendor/lib64/libqsap_sdk.so 
out/target/product/FP3/vendor/lib64/libqsap_sdk.so

Source code for this particular artifact is this module folder: system/qcom. You can also check that it is actually compiled (and not some vendor blob) by looking at these lines in out/verbose.log.*.gz:

/bin/bash -c "PWD=/proc/self/cwd  prebuilts/clang/host/linux-x86/clang-r353983c1/bin/clang 	-I ./hardware/libhardware_legacy/wifi -I ./external/libnl/include -I ./external/wpa_supplicant_8/wpa_supplicant/src/drivers -I system/qcom/softap/sdk -I out/target/product/FP3/obj/SHARED_LIBRARIES/libqsap_sdk_intermediates -I out/target/product/FP3/gen/SHARED_LIBRARIES/libqsap_sdk_intermediates \$(cat out/target/product/FP3/obj/SHARED_LIBRARIES/libqsap_sdk_intermediates/import_includes)   -isystem out/target/product/FP3/obj/include -c  -Werror=implicit-function-declaration -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -faddrsig -Wimplicit-fallthrough -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-zero-as-null-pointer-constant -Wno-sign-compare -Wno-defaulted-function-deleted -Wno-inconsistent-missing-override -ffunction-sections -fdata-sections -fno-short-enums -funwind-tables -fstack-protector-strong -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=date-time -Werror=format-security -nostdlibinc -march=armv8-a  -target aarch64-linux-android -Bprebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin   -std=gnu99    -DSDK_VERSION=\\\"0.0.1.0\\\" -Wall -Werror -Wno-unused-variable -Wno-unused-value -Wno-format -Wno-sometimes-uninitialized -Wno-enum-conversion -Wno-unused-parameter -Wno-implicit-function-declaration -D__ANDROID_API__=29 -D__ANDROID_VNDK__ -fPIC -D_USING_LIBCXX -DANDROID_STRICT   -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-tautological-type-limit-compare -Wno-tautological-unsigned-enum-zero-compare -Wno-tautological-unsigned-zero-compare -Wno-c++98-compat-extra-semi -Wno-return-std-move-in-c++11 -MD -MF out/target/product/FP3/obj/SHARED_LIBRARIES/libqsap_sdk_intermediates/qsap.d -o out/target/product/FP3/obj/SHARED_LIBRARIES/libqsap_sdk_intermediates/qsap.o system/qcom/softap/sdk/qsap.c"

Just updated smoothly using the May 3 update. The only strangeness was that after tapping ‘Reboot’, nothing seemed to happen. I then pressed the Power button for 10 s to force a reboot - et voilà, it worked out nicely :grinning:

2 Likes

Had installed the update and everythings seems to be ok.

So I made my own Lineagos, compiling went without a hitch but I have a very laggy rom. Scrolling is lagging inside apps, browsers and app menu. Is there anything I missed?

Edit: I am on the 3 may update. It happens on this one also. If I set the profile on performance in battery settings the problem is gone.

Anyone too with this issue?

1 Like

I use dk1978’s ROM and compared with the stock FP3 OS it seems laggy. I don’t have any clue though what causes this.

1 Like

I didn’t notice the lagging until I started with my own Rom building. Is it possible that my Rom flashing somehow made it worse? Can’t remember that the early april LineageOS builds had this.

Laggy scrolling was mentioned here before in januari, post 381. I’m using the performance profile workaround since then.

So you can conform a clear difference with stock?

1 Like

Thanks for the response. I am checking that out this afternoon.

@dk1978 I noticed LineageOS uses the firmware blobs from the 0077-20201221.12400 release. Is that correct? Do you think it affects the performance of the LineageOS builds?

I am on the newest official build later today. Is it possible to extract them from my phone and if so, how to do that?