Fairphone Open 16.11.0 release

No, your phone was stuck far before ADB started. The easiest thing (for the next time ;)): Reboot into TWRP and access the SD-Card from there. This works for me on Linux, maybe there are some special drivers needed on Windows (anyone?), but that’s how I always perform my updates (+ root + xposed) :wink:

@freibadschwimmer:
The problem was that I did have the new framework on the PC, but needed to find a way to get it on the microSD. Which is difficult, if the phone has no running OS and is not recognised by the PC. So haveing an old system image, I would have had the same problem.
@retsifp
Are you sure about adb not working yet? In all tutorials etc. I checked, the only way to copy something on the phone (I was lucky to have an SD, a phone without SD would have been a lot bigger pain) was to use adb, when the phone is in TWRP. I can not say, if this is possible, because I failed because of the wrong cable.
In TWRP I can of course access the SD (I have to to flash the framework), but I can not access the PC to copy the latest exposed framework onto it.

For future reference: For using fastboot you neither need the OS running, nor ADB working, nor a working recovery. You just need to boot into the bootloader (turn off phone, then press [vol. down] + [power]) and flash the partitions you want to replace.
As I said, I was stuck in the same situation as you were, and this was how I solved it (since at that time there was no v87 yet, so I had to revert back to 16.10)

I do think though that the boot partition needs to be OK (i.e., Android’s boot.img needs to be installed; but not 100% sure).

I thought @freibadschwimmer talked about adb running from Android, and for that I’m shure that it doesn’t work, Android was stuck far before the daemon could be started. You - however - talk about adb with TWRP, where I don’t see how to use it (and IIRC it doesn’t work with the version I’m currently using).

Inside TWRP, you have two options for exchanging data with your PC:

  • Connect it via USB, as I said it works without drivers on Linux, maybe there are drivers needed on Windows, but shouldn’t be a problem. There you can either access your phone memory or the SD-Card.
  • If you have a USB-OTG-cable, copy the files to a arbitrary USB-Stick and connect it to the phone, IIRC TWRP can mount it (I once tried it and it worked great, but I’m not shure if it was on the FP2 or an other phone…)

The TWRP that comes with FP OS does not work in ADB mode (afaik), however, if the latest TWRP community port is installed, it is possible to use ADB while being in TWRP.

(Comprehension question: 16.11.0rc1 is the same as 16.11.0 release?)

Findings after a few of days:

  • FP Open OS: Clock resets after reboot
    [Status: still there in 16.11.0]

  • Preferred SIM for calls --> Ask every time:
    See also: Two SIM cards - can’t make/receive calls when both are turned on - Workaround: Wait 5 seconds
    [Status: FIXED since 16.11.0]

  • Battery only charging mode: does no longer work on a notebook usb port with max 0.5A.
    [Status: FIXED since 16.11.0]

  • GPS location: Icon is after enable and disable still there.
    [Status: FIXED since 16.11.0]

  • Display auto backlight: changes slow
    [Status: Still there in 16.11.0]

  • Screen flickering after boot up:
    [Status: Still there in 16.11.0]

  • Random reboots:
    [Status: Still there about once a day in 16.11.0]

  • Proximity sensor: brightness changes slow
    [Status: Still there in 16.11.0]

  • Proximity sensor: Battery drain bug
    [Status: Still there in 16.11.0, if Settings -> Display -> Adaptive brightness is enabled]

Summary: Feels more stable - thanks a lot!

4 Likes

For the record: a faulty boot partition usually makes the phone boot on fastboot mode. After some CM-dev tries, I recall that was the FP2 behaviour.

I recall that when I had Sailfish running last time, I was not able to get into the bootloader (at least not with vol.down + power). Since the SF OS installation includes replacing the boot.img, I was assuming that you need to have an Android boot.img working to be able to get into fastboot mode.

I guess we are talking about different behaviours: I’m talking about faulty or erased boot partition and default boot bringing you to fastboot mode, and you are talking about a working boot partition which doesn’t bring you to fastboot mode with the usual key combo.

I know I flashed at least five faulty CM boot.imgs and could get somehow to the bootloader without sweating. However, I probably had a working recovery (which is a bootable partition, too), so maybe it rebooted into that and then I rebooted to the bootloader, or it just rebooted into the bootloader directly. I don’t remember. I just have the impression that your FP2 won’t be made into a paperweight because of a faulty boot partition. I won’t test any of that voluntarily, though, x)

Now I have booted into Safe Mode: Very surprisingly: The issues are still there!
On the other side I can’t imagine, that this issues are caused by hardware defects. What else could it be?

Does anyone self-compile the image and get the same error as me?

I have exactly the same problem when compiling FP Open OS 16.11.

@Dabuh @jnsp Can’t launch a build right now, but seems that that variable was introduced with the last OS version, in fact.

┌─╼[g6]╾─╼[~/android/sibon/frameworks/av/media/libeffects/visualizer] ((FP2-open-16.10.0)) 
└╼ $ git diff FP2-open-16.10.0 FP2-open-16.11.0 EffectVisualizer.cpp
diff --git a/media/libeffects/visualizer/EffectVisualizer.cpp b/media/libeffects/visualizer/Ef
index 0c310c5..91f9fc7 100644
--- a/media/libeffects/visualizer/EffectVisualizer.cpp
+++ b/media/libeffects/visualizer/EffectVisualizer.cpp
@@ -25,6 +25,7 @@
 #include <time.h>
 #include <math.h>
 #include <audio_effects/effect_visualizer.h>
+#include <cutils/log.h>
 
 
 extern "C" {
@@ -599,6 +600,14 @@ int Visualizer_command(effect_handle_t self, uint32_t cmdCode, uint32_t c
         } break;
 
     case VISUALIZER_CMD_MEASURE: {
+        if (pReplyData == NULL || replySize == NULL ||
+                *replySize < (sizeof(int32_t) * MEASUREMENT_COUNT)) {
+            ALOGV("VISUALIZER_CMD_MEASURE() error *replySize %" PRIu32
+                    " < (sizeof(int32_t) * MEASUREMENT_COUNT) %" PRIu32, *replySize,
+                    sizeof(int32_t) * MEASUREMENT_COUNT);
+            android_errorWriteLog(0x534e4554, "30229821");
+            return -EINVAL;
+        }
         uint16_t peakU16 = 0;
         float sumRmsSquared = 0.0f;
         uint8_t nbValidMeasurements = 0;
(END)

You can try to revert latest changes for the file and try to build again:
git reset FP2-open-16.10.0 EffectVisualizer.cpp

Got it after some tries with update-guide from freibadschwimmer:

Thanks a lot to all developers! It’s a super phone!

Thank you @Roboe,

this worked, but the build now fails with the following message:

frameworks/base/core/jni/com_android_internal_os_Zygote.cpp: In function 'pid_t {anonymous}::ForkAndSpecializeCommon(JNIEnv*, uid_t, gid_t, jintArray, jint, jobjectArray, jlong, jlong, jint, jstring, jstring, bool, jintArray, jstring, jstring)':
frameworks/base/core/jni/com_android_internal_os_Zygote.cpp:451:23: error: '__android_log_close' was not declared in this scope
   __android_log_close();
                       ^

Seems like someone at Fairphone team has messed up some commits…

[quote=“explit, post:4, topic:24005”]
fp2-sibon-16.11.0-manual-userdebug.zip
[/quote]Can I use this file to flash in recovery?
Instead of pressing update? Would be nice to flash the update and xposed / gapps together without the sudden Vol up + power stunt.

I don’t understand, what you want to do.

I if you want to flash the TWRP Recovery instead of stock recovery, you need to extract this file, boot the FP2 into fastboot mode (Vol- and Power) and run this command:
fastboot flash recovery recovery.img

Afterwards you can boot your phone into TWRP Recovery
(Vol+ and Power)

16.12 is now available