FP3 : Fairphone Open OS?

Well, to be fair, the exact wording in

as of today is

4.2 The Fairphone Warranty does not cover damage resulting from:

i. The Product has been rooted or unlocked.

as well as

4.3 The warranty will be void in any of the following events:

a. Any term contained in this Warranty has been altered or modified in any way without prior written consent of Fairphone. The agents, employees, distributors, and dealers of Fairphone Products are not authorized to make modifications to this warranty, or make additional warranties binding Fairphone;

b. Fairphone has not been notified by You of the alleged defect or malfunction of the product during the applicable warranty period.

If you take that literally (and for legal documents, that’s the only way that actually matters) rooting or unlocking the phone will NOT “void” the battery warranty.

But the warranty does not cover damages resulting from rooting/unlocking and/or installing/running 3rd party software.

So if you brick it while trying to root or flash it, that’s not covered by warranty. And if you install drivers that damage the hardware as part of a custom ROM, (brick, overheat, burn in-chip fuses) that would also not be covered.

I’m kind of OK with it. It’s kinda "you can play with it, but its at your own risk. We will still cover manufacturing defects and other stuff that’s not your fault)

Also section 4.2 has a lot of other exclusions, including water damage, improper use, viruses and malware you caught during regular use, …

12 Likes

100% agreement.

Just one funny error (I guess)

(boldface by me) :grin: :rofl:
you meant “warranty” didn’t you.

3 Likes

Hi,
They’ve just updated the support page ^^

https://support.fairphone.com/hc/en-us/articles/360032971751-Operating-systems-OS-for-the-Fairphone-3

We are working towards making available:

  • a factory image (OTA) for download and manual flash
  • the Linux kernel sources (according to GPL) so alternative operating systems can develop a Fairphone version of their system based on this. As parts of this kernel are owned by third parties, we need their permission first
  • software versions once they pass our beta-testing
  • any other software upgrades.
20 Likes

The Kernel source for FP3 has been released. Its available under https://code.fairphone.com/projects/fairphone-3-gpl.html
I hope that anyone could use it to make a rooted kernel, or google-free/custom rom with that :slight_smile:

6 Likes

in a first step, it should be possible to make a very minimal linux, offering a serial console, able to mount partitions, inspect them, test hardware, etc…

the kernel is only half of the equation though, to boot linux from an arm system-on-a-chip you need a hardware-device tree specification for the particular motherboard/device the chip has been soldered on,

on a desktop PC that is not needed, as the BIOS takes care of it with its ACPI tables (which store which hardware can be found at which address/device tree path)
although some laptops have been known to have faulty ACPI tables which cause hardware damgae/bricking when linux was trying to address the hardware according to those wrong descriptors)

on any embedded device including phones, there usually is NO BIOS. There’s a bootloader, but that only loads the kernel, it doesn’t stay in the background and does low level hardware abstraction shit like the BIOS does on a PC historically

instead the kernel needs a binary device tree specification (DTS / DTB) file that tells the kernel drivers which hardware is connected to eachother in which way

systems on a chip can have many multi-purpose pins that could be connected to anything depending on how the board has been designed/soldered by the manufacturer. so for each motherboard a specific CPU is put on, you need the matching DTS

the DTS sources are part of the linux kernel, as such technically the fairphone linux kernel should include DTS files specific to fairphone3.

There are indeed DTS-includes for various fairphone specific subcomponts in the source (for example for various batteries
in
arm64/boot/dts/qcom/qg-batterydata-Fuji-3000mah-Jan22th2019-pmi632.dtsi
/arm64/boot/dts/qcom/qg-batterydata-Kayo-3000mah-Jan22th2019-pmi632.dtsi
arm64/boot/dts/qcom/qg-batterydata-mlp356477-2800mah.dtsi
GPIO pin control
arm64/boot/dts/qcom/msm8953-pinctrl.dtsi
audio:
arm64/boot/dts/qcom/msm8953-audio.dtsi
touch driver:
arm64/boot/dts/qcom/sdm450-pmi632.dtsi

the problem is, none of these actually specify exactly for which phone they are. Instead of making specific master device descriptors for fairphone3, it looks like existing descriptors have been patched to include fairphone3 specifics - but these are included by quite a number of board DTS files.

considering the fairphone3 has a Qualcomm Snapdragon SDM632 CPU, I would assume the correct device tree root file is either one of

arch/arm64/boot/dts/qcom/sdm632-cdp-s2.dts
arch/arm64/boot/dts/qcom/sdm632-rumi.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-rcm.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-qrd.dts
arch/arm64/boot/dts/qcom/sda632.dtsi
arch/arm64/boot/dts/qcom/sdm632-pm8004-cdp-s2.dts
arch/arm64/boot/dts/qcom/sdm632.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-ext-codec-mtp-s4.dts
arch/arm64/boot/dts/qcom/sdm632-mtp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-ext-codec-cdp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-rcm.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-mtp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-ext-codec-cdp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-qrd.dts
arch/arm64/boot/dts/qcom/sdm632-qrd-sku4.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-qrd-sku4.dts
arch/arm64/boot/dts/qcom/sdm632-ext-codec-mtp-s4.dts

or neither and fairphone forgot to include it

the device tree specifications (.dts) are all compiled into a binary device descriptors (.dtb) when compiling the kernel

the correct one for a specific hardware is then stored either as part of the kernel binary (bzimage) or stored separately in the boot partition and given to the kernel by the bootloader. that way the same generic binary kernel can be used on multiple ARM devices, but on each it would need the correct device tree to work

on android this works like this:

https://source.android.com/devices/architecture/dto

loading the wrong one might misconfigure vital components and could brick the phone or make it go up in smoke (especially if hardware responsible for charging/discharging the battery is configured wrongly)

now on the phone there is already a compiled device tree file and a kernel, so maybe one can use this binary device tree spec to load a different kernel (compiled from the same sources) and use that to inspect it further to find out how exactly the hardware is configured.

but a bit of extra information along with the kernel sources (for example which device tree matches which fairphone3 build revision) would be really helpful.

12 Likes

Fairphone Open OS is the Google free Android that Fairphone provided for the FP2 and people are now asking for for the FP3 as well. And that’s what this topic is about.

I think you should continue your discussion in one of the topics around community efforts of porting other OSes to the FP3 like

I doubt you need to tell the company where they released their source code or how to port something to their own device :wink:

2 Likes

Just coming back here regularly to check if Fairphone OpenOS has arrived on FP3. I understand it’s still not the case :worried:
As @AnotherElk mentioned, on the FP2 the interval was between Dec. '15 and Apr. '16, 4 months.
In our case, Sept. '19 may leave me dream of arelease around January…
Too late for Xmas gifts but not too far away?

1 Like

hello, first post here.
Given all the talk of lineageOS I’m curious, while I’m on Linux (manjaro) and I’m a FOSS enthusiast (and open source python coder), I’m sticking to Android for two reasons only:

  1. I need google products for work
  2. I use Android apps from the play store for banking and credit card
    So, with lineageOS, is it possible to do both of those things?
    If not, or frankly if it’s a pain to do, then I’ll just stick to Android.
    That said I’ve ordered a FP3 anyway for the hardware.
1 Like

Well, it’s certainly allowed to dream, and that for now is the realm where something like Fairphone Open OS for the Fairphone 3 is staying, as long as Fairphone don’t definitely announce it or surprisingly just release it.

2 Likes

Generally speaking it should be possible. Lineage comes without Google apps and services by default, but you can install those additionally. That’s what I do, because I also want the Play Store and Google Services for apps that don’t work without them.

3 Likes

OK that’s encouraging, do you know of or have a link to tutorials or FP docs on how to do that?
Thanks for your time and answer :+1:

All I needed was the official documentation at https://wiki.lineageos.org/devices/FP2/install

Only in the "Installing a custom recovery using fastboot" section you need to pay attention to step 6

Now reboot into recovery to verify the installation:
 * With the device powered off, hold Volume Up + Power. Release when boot logo appears.

When I did this for the first time I was probably a little clumsy with pressing those buttons during boot. I ended up booting the normal Android instead of the recovery. If that happens, you need to start over from step 5 of flashing the recovery.
The recovery is only persisted if you boot to it immediately after flashing.

4 Likes

ok awesome thank you. I’ll read it through before trying it out (RTFabulousM) :slight_smile: and again, thank you for your time and the info, much appreciated, :kudos: to you :bookmark:

2 Likes

Just to be safe, looking at this topic’s category:
Please be aware that LineageOS isn’t available on the Fairphone 3 yet, even a custom recovery program with which to install it isn’t available yet.

Everything we might say right now and here in this regard is just how LineageOS works in practice on the Fairphone 2 (where it works awesome).

8 Likes

OK thanks for the info :+1: I’m happy with Android for now but am just asking out of curiosity.

1 Like

LineageOS is Android, too :wink: .
Android is just the base for all vendor-specific or community-specific adaptations, see Android (operating system) - Wikipedia.

2 Likes

yes I know :slight_smile: I just meant Google Android vs Foss OS but good point :+1:

1 Like

I pre-ordered my FP3 when I read on the fairphone site that they want to bring out an open OS for FP3, too. Got my FP3 finally in the beginning of November. Since then I am waiting for the open OS. I feel a bit cheated now to hear there will be no FP3 OS.
I’m no dev, so I can’t support working forward to an open OS for FP3.
But there are some articles concerning open source licencing in the present c’t (german IT journal). They say if the Android Open Source Project is based on GPL and FP3 OS is based on Android FP3 OS kernel sources must be released for FP3 customers.

I think this might address your point :slight_smile: :

And welcome to the Fairphone Community! :+1:

4 Likes

I moved your post here because you refer to Fairphone Open OS.
This would not be LineageOS, which is a community effort aside from official smartphone vendor OSes.

The site says for a while now
“We are currently investigating the possibility of making Fairphone Open available on Fairphone 3.”

Where do you “hear” that there definitively will be no Fairphone Open OS on the Fairphone 3?

5 Likes