[UNOFFICIAL] Stock ROM Android 4.4.2/4.4.4 Kitkat for FP1 & FP1U

I have not installed it yet because I prefer to build the ROM myself and so far I have not understood what sources/build chain was used. This comes to mind:

  • Bug fixes/security fixes (it’s often the same, not all are “official” published. Also fixes for UX/UI “glitches”/inconsistencies)
  • New APIs (some apps need newer APIs to work)
  • 4.4 was also optimized to make low-end devices look better (so the FP1 will maybe feel a bit faster)
  • Bluetooth (not sure if this is a hardware or software problem with the FP1)
  • Print support (I think, not sure if that will work well)

Definitely software. If this problem was solved it would be a real game changer for a lot of people who’d like to use Bluetooth LE gadgets / Android Wear.

But:

1 Like

To be a bit more precise:

  • this is using MTK’s bluetooth stuff and not CM’s. So this should in theory then work better than my CM port.
  • GPS should also work better as A-GPS is now supported/

Chris

5 Likes

Hi. So it’s based on newer “found” libbluetooth_mtk.so & libbluetoothem_mtk.so bin blobs I assume? Does the 4.4 BT debugging (packet logging) work with those? Thanks!

BT debugging has always worked on stock FP1 but not the standard way. It needs to be enabled via engineer mode.

3 Likes

Hi! Installed yesterday night and got up & running only this morning after several problems with restoring my backups and/or deleting data…some of them my faults to be honest :stuck_out_tongue:
I confirm I have no problems with the following services/devices:

  • dual SIM support (I tried both SIMs and they are able to call and receive voice and SMSes);
  • 3G data + USB tethering (my first SIM is 3G activated and I’m writing this post using my pc with tethered connection :wink: )
  • GPS (great! my first fix after 16 seconds!)

I didn’t try yet WIFI and Bluetooth because had no time to test them, I’ll report something tonight or tomorrow morning.
Again thank you very much @chrmhoffmann for your great work :smile:

5 Likes

I see, I never tried that but I see them in “Secret Codes”.

Regarding the " … what’s in it for them?" question I wanted to clarify if the used BT software in the ROM is newer, so that maybe some of the problems with BT could be fixed. As far as I see it, there are two BT “stacks” the one made by MTK and the one Android is mainly using. Maybe there is some progress in the BT area with the new ROM from chrmhoffmann if it uses newer MTK libs?

1 Like

Does that mean you received blobs from Fairphone after they had licensed everything? Apparently Fairphone itself is currently busy with getting FP2 out of the door so it would be awesome to hear that them having aquired the licenses at least helps community (in this case you) to continue working on builds.

BTW: I had asked ages ago in the CM for FP1 thread over at xda-devs whether there is anything one could help you with. I would be happy to provide my humble debugging and programming experience.

1 Like

Hello Chris,

Testing 4.4.2 so far is a real joy. GPS, Bluetooth, Dialing and 3G all work so there is not much stopping me from trying it for a longer while. In terms of Bluetooth I tested connecting to a headset and connecting to a BT keyboard/mouse combo.

I installed the FairphoneHome apk to get more of the Fairphone feeling and so far things work quite nicely.

The biggest problem so far is visible in the browser where due to a misconfiguration (DPI settings?) I cannot click the accept/reject location sharing when the browser is requesting this.

I also would like the browser startup page to have a little cleanup but this is really details. Next up we will try running CTS/Security tests and compare that to the official FP1 release.

Thanks for the hard work!

9 Likes

@keesj: where did you get the FairphoneHome apk? Did you grab it from the last 1.8.7 OTA zip file?
I ask this because the first time I started the phone after flashing the KK image, it blocked during startup by switching continuously between the “Android” splash animation and the “starting” image of the Fairphone launcher (don’t know why given that I supposed it would be wiped away from system partition), so I thought the launcher was incompatible with KK.
After this I wiped the /data partition and then I was able to start the system, but I ended up with the Launcher3 Android standard launcher. So can you confirm installing the Fairphone Launcher (or recovering from a TB backup) will be feasible?
Thank you very much, bye! :smile:

1 Like

What I was wondering: Is it really necessary to wipe the data partition? Shouldn’t an Android update only override system files (like a FP OS update)?

thanks @chrmhoffmann!!
As far as I have no idea what’s the meaning of flashing a rom, I will wait a little before trying.
But it seams that I will not need to buy another phone to use an android watch.

1 Like

Would be really interesting if Android Wear indeed works on @chrmhoffmann’s Kitkat ROM.

If you want to get the fairphone home apk I suggest you do the following:

goto https://fairphone.zendesk.com/hc/en-us/articles/201189497-Fairphone-OS-multiple-versions-
Download FP1U and FP1 with upgraded partition layout (1.8.7) and get the FairphoneHome.apk from the system/apps folder of the zip. While the code is open source I did not find a public repository with the most recent code.

4 Likes

This is the same thing I thought, so my first try was simply flashing the image and restart, but it didn’t start the home, looping between the two splash screens as written previously. After this I wiped the /data partition and it started well but after restoring some settings and apps from a TB backup (luckily I backup everything some days ago!) the phone app became crashing cotinuously deregistering both SIMs every 5 seconds (I had to put the phone in flight mode to be able to use it); I don’t remember what caused the crashes, my main suspects are some system settings and xposed framework, but I hadn’t he time to investigate deeper.
Bye :slight_smile:

1 Like

Please, nobody should start flashing any experimental builds like this without having backed up everything that is not replaceable. I even backup everything each time I update using official channels.

1 Like

I absolutely agree :smile:
I have to admit I was a bit brave and risk to loose data trying different beta FPOS installs in the past, but flashing experimental builds is very dif|erent!

As I am a little bit lost in all the disussions about ROMs/MTK/CW/Android 4.2+@FP1;

Can anybody explain to me:

  • why @chrmhoffmann can do bring us Android 4.4.2 to the FP1(U) (THANKS!) while FP are not able to do (at the moment, or dont want to)?
  • Is this in any connection with the FP1 software announcment, FP recently did?
  • What is about the MTK-software part, which is still not available for the public (afaik) - but how the Android 4.4.2 can run at all?
  • If Kitkat 4.4.2 is now running well - where is the difference in bringing recent CM running?
  • If Kitkat 4.4.2 is now running (which already is a big jump from 4.2), where is the difficulty to go even further (5.0 …)?

Thanks for making some points clearer…:confused:
Cheers, Robert

3 Likes

This is my understanding of the issues:

Without wanting to detract in any way from chrmhoffmann’s efforts, this should be seen more as an alfa version. Testing, packaging and supporting a new version for the general user takes a lot more than putting a version out aimed at technical users for testing.

No, as outside of Fairphone nobody has access to the sources mentioned in the announcement. The XDA thread mentions that some of the required information came from places on the web:

This is Android 4.4.2 kitkat compiled from scratch from some other device sources that you find on the web. Adapted to fairphone FP1(U).

Not sure what you’re asking. Could be that the quote above is what you’re looking for. There is no source code for a bunch of the specific hardware in the phone. Occasionally using compiled parts (binary blobs) can help, but sometimes this isn’t compatible with other parts of the system.

The CM ROM used different code to interact with the blobs, which lead to some things not working. For instance:

Which shows that MediaTek changed a lot of things in the system so it works with their hardware.

At least (probably more): More issues with incompatibilities with the blobs and a lot of work to adapt the kernel sources in such a way that they build for this device (a kernel source for mediatek devices for the kernel used in 4.4 is floating around on the web, but not one for the kernel used in higher versions, if I’m not mistaken).

4 Likes

Well put! Also this often quoted LWN article sums it up very nicely. There is more to it (how companies work and make money, selling the same licensed features with different names), but I don’t want to warm up this topic every time … there a already a few topics about this here already.

The Linaro group tried to help in this area, but I guess nobody was really interested in discussing those links :smile: One can also use their build chain to compile the FP1 kernel.

Regarding BT: The MTK’s bluetooth (BT) stack is a blackbox. I only know about the changes in the Android BT stack, the changes in MTK’s BT are not published in google’s android changelog, that’s why I was asking if newer MTK lib versions were used.

2 Likes