Official LineageOS 17.1 for Fairphone 3/Fairphone 3+

I tried around there, but I do not seem to get any other option than SBC enabled any longer than until leaving the Developer Options menu :flushed:

The SBC ‘XQ’ options in /e/ Pie were available as ‘HD audio: SBC’ (much like here) in my Bluetooth headset’s settings.

If I can help by testing or supplying logs, please let me know.

The update today breaks something. The message was the filesystem is corrupt and I can try to reboot or make a factory reset or something. I pushed the power button + volume down to boot in fastboot mode and changed the active slot with " fastboot --set-active=a". The active slot is shown in the error message and when it says b. Then you have to change it to a for example.


same here. It had just finished installation on my FP as I read your post… :slight_smile:


Edit: nvm, confirmed the problem. :frowning:


I have the same problem after the new update. I switched the active slot, but get the same error message on the second slot. After another reboot, the second slot booted properly.

1 Like

To switch regardless of the active slot: fastboot set_active other


Life never gets boring with Android. :sweat:
Please don’t do what the message says about wiping data. Something broke on the LineageOS side, and I will find the problem and maybe block the update so nobody installs it.



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.


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 The one from the week before is 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.


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!


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?


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

About the broken “Chernobyl” update
I examined it in detail, found four missing files, namely


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.



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

Yes, they should be:

$ ls out/target/product/FP3/vendor/lib64/ 

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=\\\"\\\" -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"