Tuesday, January 05, 2016

Cyanogenmod Android 6.0.1 stable again [or NOT]

With every new CES pre-show and in-show phone announcement I am so very pleased I have saved my money and kept to Marcus' economical 2 phone strategy.

Note: In Jan/ Feb each year there  is CES and then Mobile World Congress. Either exhibition may have owners of new Xmas Smartphones already being obsoleted.

Marcus current 2 phone strategy

- A 2013 Google Nexus 5 running Android 6.0 stock
- A 2014 OnePlus One smartphone running CyanogenMod 13.0 and Android 6.0.1

It all went Pete Tong
Yes, it all went wrong when recently upgraded OnePlus to Android 6.0.1 and then suddenly one day  (I refresh OS daily)  I started getting random crashes.  And then later builds had the SIM being unrecognised  (so no Phone function either!)

Worse, I had leant the Nexus 5 to darling Agata, because after her iPhone 6 was stolen she was phoneless.

The Internet to the Rescue
NB to Youngsters.  It was less than 15 years ago before the Open Source development model was prevalent, and before significantly useful online Web Forums existed.  Decades prior we had the Usenet and it tooks days to weeks to address and postulate problems, and, if a manufacturer was involved,  longer to fix.

Today I found via Google Plus communities a fix

- the TWRP recovery program has a bug, tentatively fixed at level, which now again allows the radio firmware to be updated

- Because the latest January 2016 nightly Cyanogen builds update the radio code if you run with a late release of the TWRP recovery program e.g  the radio firmware did not update and you lost your SIM

- These later builds  also incorporated a change to stop the random rebooting  (4 hours down to 90 seconds average depending on build!)

Time to Apply some Updates
(to the OnePlus One)

With the OS loaded, check for Cyanogenmod Updates and I downloaded the Jan 05 2016 build.  You will need this later in the TWRP step.

Start phone in fastboot mode: Power + down vol, then let go of vol, then power

Phone plugged in over USB,  check your SDK can see phone

Download of TWRP

 Flash it and then fastboot reboot the phone

 Step by step, because that is the best way
With recent thefts in mind, I encrypted the phone and needs a pattern to unlock

We will install the latest nightly build that I previously downloaded at the booted OS level.

Oh and this version of TWRP looks 100% different to my previous.

 Select the Jan 05 code and install it

Remember, this is simply an unpack of a compressed file overlaying your current filesystem with a new kernel and files

 Now reboot and you don't wipe the caches.

 Keep system partition read only for safety

From my records Nov 25th was when I moved upto Android 6.0  and then in mid December to Android 6.0.1

 Now at Jan 05 nightly and all appears well!

Oh and all those Options
Cyanogen provides a wealth of extra options for layouts, colour schemes, and little additions you rarely notice unless you try /stock/ Android.  

But there is more ...
With Android developer mode enabled there are so many more bits to twiddle

Or help you to test.  All for free!

 And even change the behaviour of the USB connection   (e.g. PTP Drive access to all your photos and screenshots, or some other option)

The internet, well, Google Plus communities came to my rescue and solved the dual problems of Android 6.0.1 Cyanogenmod Beta

- Random reboots
- Loss of access to SIM/ phone function

Now back and stable although beta the winning 2 phone  (stock and development) is happily back again.  (Agata gave me the phone back by untypically spending what I can only describe as a mountain of money on an iPhone).

I am still saving my money for a 20MP+, large camera sensor, laser autofocus, 1920x1080screen, fingerprint sensor, USB-C charging, decent CPU carrying Android Smartphone.  Anybody?

As of 22.18 Jan 06, I'm so sorry to report the rebooting is NOT fixed. After first staying up for almost 24 hours, today I've had 3 reboots in the last12 hours.  Hmm. Obviously like a good citizen I report this behaviour via  Settings-> Developer Options-> Take Bug Report