Official LineageOS 17.1 for Fairphone 3/Fairphone 3+

Hi everybody,

I have been using /e/ OS for a while now. I am pretty happy with it. The only issue which i face is that I can not disable one sim card. The setting does not appear. Seems to be a bug in /e/ OS. I just wanted to ask here if someone who has two sim cards could just test that and confirm if you can deactivate one sim card.
I would like to deactivate my work sim card during the weekend.
If it works, i would probably give Lineage OS a try over this weekend.
Thanks for your help in advance. :slight_smile:

1 Like

@HolosericaCaligo : thanks! About the issues:

  • we are aware of the Night Light issue, that is on the to-do list.
  • about the complete crashing and reboot during calls - to me that sounds a lot like the never-ending horror issue affecting stock and /e/ users as well.

I will check if 0077 release blobs fix some of the problems. I am pretty busy right now since I started a new job beginning of January, so things will be a bit slower for a while.

8 Likes

Sure, good idea. I have been wanting that too, especially for things like the crash-reboot-during-phone-call problem.

1 Like

I really wish you best luck, starting a new job in not the easiest times… Take your time!

3 Likes

Investigation an other issue that doesn’t happen (always the same when you look ;-)) I at least got a logcat fromt he reboot-issue. Screen is going dark, this messages are the last ones and then adb logcat gets disconnected:

(lots of those “died” messages"
01-31 11:00:31.831 459 459 I ServiceManager: service ‘device_identifiers’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘uri_grants’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘activity_task’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘batterystats’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘appops’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘power’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘thermalservice’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘recovery’ died
01-31 11:00:31.831 459 459 I ServiceManager: service ‘display’ died
01-31 11:00:31.870 459 459 I ServiceManager: service ‘sip’ died
01-31 11:00:31.870 459 459 I ServiceManager: service ‘simphonebook’ died
01-31 11:00:31.870 459 459 I ServiceManager: service ‘iphonesubinfo’ died
01-31 11:00:31.870 459 459 I ServiceManager: service ‘isms’ died
01-31 11:00:31.870 459 459 I ServiceManager: service ‘phone’ died
01-31 11:00:31.870 459 459 I ServiceManager: service ‘carrier_config’ died
01-31 11:00:31.871 459 459 I ServiceManager: service ‘isub’ died
01-31 11:00:31.871 459 459 I ServiceManager: service ‘ions’ died
01-31 11:00:31.871 459 459 I ServiceManager: service ‘ircs’ died
01-31 11:00:31.892 497 20312 W libc : Unable to set property “ctl.start” to “bootanim”: error code: 0x20
01-31 11:00:32.003 459 459 I ServiceManager: service ‘storaged’ died
01-31 11:00:32.003 459 459 I ServiceManager: service ‘storaged_pri’ died
01-31 11:00:32.613 459 459 I ServiceManager: service ‘vold’ died
(here adb gets disconnected)

Then only a long power button press does a reboot

Just opened an issue on the LOS issue tracker for a hang when on video conference. Looks like something in the media system just crashes and does not recover

Next one will be trying to get logs from the not working reboot:
And:
So, I created another issue. Problem is the reboot loop if the phone crashes and the SD cards needs to be checked, at some point (either “restarting the phone” being displayed, or even done with this step) LOS warm reboots (i.e. does not need the SIM pin)

@dk1978 if that helps… I still have the full logcat

Which, in the meantime, is attached to the issue because of a bot issue :slight_smile:

1 Like

A big thank you to all the devs and contributors who made this possible, I flashed it and it’s working perfectly!

One thing I noticed on top of the night light feature not working, which has already been reported: “Reading Mode” doesn’t do anything either, i.e. the black/white mode that you can enable by pulling down the notifications and clicking on the corresponding quick settings tile. If I understand correctly, reading mode is just a shortcut for Settings > System > Developer options > Simulate color space > Monochromatic. None of the other color space options work either, which suggests it’s probably an issue with the display driver that extends beyond night light not working.
Please forgive me for not opening an issue, I don’t have a GitLab account, maybe somebody else can copy/paste it over there.

1 Like

No worries about the graphics issue. I am aware that it is a general graphics problem. My best guess is that the LineageOS CAF-provided graphics HAL is too old for the Fairphone stock blobs we are using.

1 Like

Hi there,

Long time I don’t follow this thread. I saw that 17.1 is ready and I see that name of this thread reflects that. I tried to find relevant commentaries, but I was not able to find anything useful, so I decided to ask.

Can you tell me the most important features of Lineage 17.1 (MicroG version in particular which respect to 16? Bugs I should care about? Does the new version deserves (for you) the time to backup the data and do a clean install?

Thanks.

For me the best improvement is the improved split-screen allowing to really run two apps in parallel :smiley:

My top feature of Android 10 - and therefore LOS 17.1 - is the “button-less” navigation bar (“gesture navigation”).

2 Likes

OK guys, an update from my side. I have been short on time due to new job and preparations for moving.
I also decided to go for it and use your generous cash donations to buy a used FP3 for better testing, rather than having to use my day-to-day phone and risk loss of data. I got the new phone and then the fun started.

The person I bought the phone from did not unregister from their Google account before wiping the phone. Most of you will know about Google’s Factory Reset Protection (FRP). To keep it short - I was locked out of the phone and could not even do the OEM unlock steps I have advertised on LineageOS.
So what to do? I started hacking on the phone seriously, meaning I accessed Qualcomm’s Emergency Download Mode. Details on how to do that are documented by other community members. I read out the application boot loader (aboot), analyzed where it looks for for the OEM unlock permission and used this tool to overwrite a single bit of the config partition - and the device was unlocked. I then flashed LineageOS successfully per normal fastboot procedures. LineageOS does not care about FRP.

To make the long story short: FRP and OEM lock can be bypassed on any Fairphone 3. If you ever buy a used phone like I did and run into the same problem, feel free to PM me and we can try to sort things out.

22 Likes

Since you linked to my unbricking thread, I also documented how to do the unlock you did here.
And since fastboot allows flashing critical partitions (even in locked state), it doesn’t even require the use of EDL.
As for FRP, wiping the frp partition should get rid of it :wink:

5 Likes

Good points. I did not know you could always flash “critical” partitions. Are you sure overwriting the devinfo partition is sufficient in all cases? I found that the bootloader code that came with release 110 appears to check the config partition first, and then devinfo only as a fallback. Second, are you sure it is safe to give people a generic, non-device specific version of devinfo? Feel free to reply per PM if things get too detailed, so that we don’t spam this thread.

1 Like

Hi,
I’m new to using smartphone, because I wanted one on which I could install a Linux OS.
But well, I was given the opportunity to have a FairPhone 3+.
So, I wanted to change from stock Android to LineageOS.

First, I’d like to thanks @dk1978 and everybody who has been working hard to port LineageOS 17.1 to the FairPhone.

My problem is that the install process does not seem to work for me.
But since I have no experience, I can’t be sure if I have done things right.

I followed the guide given here : ✏ [ALPHA] FP3/FP3+: Complete guide for installing LineageOS which sums up every step to install LineageOS.
So, I did the following parts :

  • OEM Unlock
  • Bootloader Unlock
  • Download lineage-17.1-20210201-nightly-FP3-signed

I then tried 2 things :

  • fastboot boot lineage-17.1-20210201-nightly-FP3-signed.zip
    creating boot image…
    creating boot image - 668729344 bytes
    downloading ‘boot.img’…
    FAILED (remote: data too large)
    finished. total time: 0.113s
  • adb sideload lineage-17.1-20210201-nightly-FP3-signed.zip
    serving: ‘lineage-17.1-20210201-nightly-FP3-signed.zip’ (~47%) adb: failed to read command: Success

But on the Fairphone side :
Verifying update package
E: failed tp verify while-file signature
Update package verification took 52.2 s (result 1).
E:Signature verification failed
E:error : 21

Install from ADB completed with status 2
Installation aborted.

I’m at a loss of option.
Did I do something wrong ?
Do I really need TWRP like I could read from other posts ?

Best regards.

The command fastboot boot is meant for booting the LineageOS-recovery file from where you can install LineageOS. In your case, you have to download the recovery file lineage-17.1-20210201-recovery-FP3.img from the LineageOS website.
Then, you can install LineageOS with the command adb sideoad. See point 5 on the tutorial :slight_smile:
PS. I wrote this tutorial for Windows. There might be some differences when making those steps with Linux…

4 Likes

Did you boot into the recovery (with the .img-file) before you tried to sideload the lineage-.zip-file from there?

I can recommend this step-by-step guide.
It worked fine for me. I wouldn’t use TWRP, better use the recovery image-file from this site:

Good luck :wink:

2 Likes

There is actually also a bit for disabling flashing “critical” partitions in devinfo, however it is enabled by default.
I haven’t looked at it in a while, but at the time I did compare a full firmware dump (taken using EDL) before and after unlocking and there was only the bit in devinfo.
It’s possible that changed since then.

Also there is really nothing device-specific in there, actually there is not much in there at all:

devinfo-unlocked
00000000  41 4e 44 52 4f 49 44 2d  42 4f 4f 54 21 00 00 00  |ANDROID-BOOT!...|
00000010  01 00 00 00 00 00 00 00  01 00 00 00 01 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000000e0  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000009f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00000a00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00100000
devinfo-locked
00000000  41 4e 44 52 4f 49 44 2d  42 4f 4f 54 21 00 00 00  |ANDROID-BOOT!...|
00000010  00 00 00 00 00 00 00 00  01 00 00 00 01 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000000e0  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000009f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00000a00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00100000

Feel free to PM me, if you want to discuss this further.

Thank you @dk1978 for reporting the state of your work! By reading your post about the unlocking of your used device i am getting horrified! So can we consider FP3 as not that secure it’s supposed to be? And furthermore @anyone: will it be possible to re-implement FDE (full device encryption) into LOS 17.1, although google dropped the support for it starting from android 10? Most of my fear was relying on the “your boot loader is locked, you are safe!” -strategy. Having FDE running, even the recovery is encrypted. That was a real security point for me.

I would say the current FBE strategy is better. The same security, plus added advantages such as not having to encrypt all data on the partition.

My opinion on the security topic in general: theoretically, the data on your device is never safe, if someone has physical access to it, such as after stealing it - or would you ask users to type in a 2048bit AES key as password? :smiley:
Practically, all security measures in computing end up making life harder for legitimate users. All I can hope for is to find a decent compromise between these two extremes, and make it hard enough to crack my data to discourage casual attempts.

2 Likes