Fairphone Open 16.09.0 is now available

Fairphone Open 16.09.0 release

Fairphone Open 16.09.0 has been released. You can get it through the updater or by downloading from the website http://code.fairphone.com/projects/fp-osos/user/fairphone-open-source-os-downloads.html


Fairphone Open 16.09.0 includes all the relevant fixes found in Fairphone OS 1.7.1.

The “manual update image” no longer wipes userdata.
When using the “manual update image” to switch from Fairphone OS to Fairphone Open, the user must run “fastboot -w” manually.


  • Improved proximity sensor calibration
  • Security fixes (*) (Android public security buletin from September, including full QuadRooter fix)


(*)Security fixes:

CVE-2013-7446, CVE-2013-7446, CVE-2014-4655, CVE-2014-9529, CVE-2015-3843, CVE-2015-3843, CVE-2015-3843, CVE-2016-0774, CVE-2016-2427, CVE-2016-2427, CVE-2016-2495, CVE-2016-2495, CVE-2016-3134, CVE-2016-3822, CVE-2016-3824, CVE-2016-3826, CVE-2016-3859, CVE-2016-3861, CVE-2016-3861, CVE-2016-3861, CVE-2016-3861, CVE-2016-3862, CVE-2016-3863, CVE-2016-3863, CVE-2016-3865, CVE-2016-3867, CVE-2016-3870, CVE-2016-3870, CVE-2016-3871, CVE-2016-3871, CVE-2016-3872, CVE-2016-3872, CVE-2016-3879, CVE-2016-3880, CVE-2016-3880, CVE-2016-3881, CVE-2016-3883, CVE-2016-3885, CVE-2016-3888, CVE-2016-3890, CVE-2016-3892, CVE-2016-3893, CVE-2016-3896, CVE-2016-3897, CVE-2016-3898, CVE-2016-3899, CVE-2016-3899, CVE-2016-4470, CVE-2016-4805, CVE-2016-4998, CVE-2016-5340


does that mean it no longer drains the battery with apps like “WaveUp” ?

The 16.09.0 blobs are listed as 16.08.0 in code.fairphone.com: http://code.fairphone.com/projects/fp-osos/dev/fp2-blobs-download-page.html

They fixed it, :wink:

1 Like

Update went very smoothly.

1 Like

Yep update went very smoothly for me too via the updater…

1 Like

Great! :wink:

Updating right now…

Edit: Perfect, :ok_hand:


Update went “smoothly” in many stepps (with OpenGAPS and XPosed) on my encrypted phone:

  1. Backup with recovery mode and restart
  2. Download Update via OTA & and hit reboot
  3. update will be installed in recovery mode, once finished phone will restart
  4. kill the restart (Volume UP + Power) and reboot to recovery mode again
  5. reinstall OpenGAPS and XPosed Framework from files on external sd card
  6. restart and enter your decryption passphrase
  7. wait for updating apps
  8. finished :slight_smile:

Thanks for the Update :thumbsup:
Hope the reboots are gone now…


Update was very smooth for me too. Fingers crossed for no more reboots!

1 Like

Sad to see the Updater app still creates a storage/emulated/0/updater on top of the already existing /storage/emulated/0/ (the absolute path being /storage/emulated/0/storage/emulated/0/updater/)

For everything else, update was a success.


The update went smooth on my encrypted phone via TWRP, too.

1 Like

Yeahy! Phone’s charging normally when turned off!

Great guys! Thumbs up!


Updated without problem.
Did see a glitch in the lockscreen when drawing my pattern: the screen was split in multiple squares that were all flickering randomly as I was moving my finger. Did it twice and then went back to normal :slight_smile:

1 Like

After a very quick scan of the updater source code, I didn’t find any reference to that path… But I can see the same behavior on my device…
So now I have tried deleting the folder and as soon as I have opened the Updater app, the folder was recreated.
Also a funny thing is, that the are creating storage/emulated/0/updater/ AND updater/ in the internal storage :wink:
Debugging the updater is hard because it’s install as a system app that not even TitaniumBackup can uninstall apparently :rolling_eyes:
Okay, I finally uninstalled the updater with (in the phone shell): mv /system/priv-app/FairphoneUpdater/FairphoneUpdater.apk /system/priv-app/FairphoneUpdater/FairphoneUpdater.apk.bak; sync; reboot
I think I found something… The line final File externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder)); gets the path /storage/emulated/0/storage/emulated/0/updater
I think the programmer didn’t quite understand the method getExternalStoragePublicDirectory (see here for documentation about that method), basically you give it a constant pre-defined like Environment.DIRECTORY_PICTURES and not your own string…
So apparently I fixed it (at least that folder doesn’t get created but I am not 100% the OTA is still working…^^) (btw why am I fixing bugs for Fairphone in my freetime? :nerd:)


Worked smoothly, thanks!

Because you are a good guy, :wink:

I thought the problem would be something similar, but didn’t have the spare time (nor I was in the mood, honestly) to dive into the Java (ugh) code myself. Thank you so much!

Hope they fix it in the next release, now that they have your contribution, :slight_smile:

PD: you could had change the package signature in build.gradle to avoid the need of uninstalling the original one, :wink:


Just make sure the devs learn about this fix :wink:

1 Like

Today I actually tried for the first time to follow and thus test the FPOOS update guide.

Basically it worked fine, except for that I didn’t manage to use ADB in TWRP:

At some point during the EFCT16 I also ran into this. I wrote a post on authorising from within TWRP - though this will likely only work if the phone isn’t encrypted. It could be that if your device is encrypted that the file with the authorisation signatures isn’t readable when in TWRP, causing no authorisations to be available. Sorry if seems a stupid explanation - I’m not that aware of how this whole Android thing is designed to work.


Possible. My phone is encrypted and TWRP (in the version/modification FP uses) indeed cannot handle encrypted /data partitions.

Just changing the package id didn’t work, the app just crashed on startup… And my custom built Updater (also without changes) also doesn’t work because it fails with some error message, that /cache/fp_update_.zip is not found. Maybe that happens because the app is installed as a normal user app instead of a system-privileged app (dunno how to actually properly develop system-privileged apps on Android…)