Update 13 March 2015
Google has released Factory Images of Lollipop 5.1. Part of me wants to rejoin the Google fold, but I will need to be convinced that the performance issues are addressed, and the update does not leave me with too little storage space. And I am really quite pleased with the changes described below so it will take quite a bit of prompting to get me to re-flash.
Original Blog Post 7 March 2015
Like many other owners of the original Nexus 7 tablet I was really looking forward to getting the new version of Android, Lollipop. After all one of the great things about a Nexus device is getting early access to the latest operating system without waiting for OEMs to put their spin on it.
Despite being one of the early generation of 7-inch tablets, the Nexus 7 has been a great tablet. Even with the cheapskate 8GB of RAM we have primarily used it as a widescreen SatNav using the excellent CoPilot software. The reasons CoPilot is our SatNav of choice are two-fold;
Downloadable maps: and frankly how anyone expects to navigate without downloaded maps over any sort of distance baffles me. CoPilot allows you to download maps for individual countries across Europe and even with most of Western Europe on board there was still plenty of breathing room on the tablet
But the principal reason is RV Mode. We don’t have an RV we actually have a caravan, but when navigating the roads of Western Europe the main concern is height, which is admirably covered by RV Mode, and being able to make the manoeuvres required. In RV Mode, not only do you get routed down roads that you can fit through, there is also none of the “make a U-turn” nonsense that would be impossible towing a 7 metre caravan. Instead, when you have missed a turn or need to re-route you get taken on a detour that works you round in loop.
Plugged into the cigarette lighter and with the WiFi off the CoPilot has successfully navigate us around France, Italy, Germany, Slovenia, Austria, The Netherlands and of course the UK. We have only come unstuck (or rather almost stuck) when we have ignored the advice of the nice SatNav lady.
Beyond the SatNav duties we have used the Nexus 7 with BubbleUPnP to stream media from a DLNA server to an XBMC client and to ChromeCast. It has also been a useful Hangouts and Skype device.
My expectation was that the Lollipop update would give the old tablet a new lease of life. The reality was that the upgrade to Android 5.0 made the Nexus 7 (2012) so slow and unresponsive as to be useless; and this experience appears to be the norm.
I had toyed with the idea of spending the £200-ish to get a replacement tablet that would offer more grunt than the current tablet and so would hopefully make better use of the new OS. But there was nothing fundamentally wrong with the Nexus 7 and, as you can tell by my choice of the 8GB version, I am on the look out for a bargain.
There are the factory images from Google at Google Developers and that would have been the absolutely safest choice. My concern was that I would be nagged to upgrade to Lollipop again, which would not work. So I am keeping this as a fall back position.
Flashing the Nexus 7 seemed like a great opportunity to try a new type of ROM. There are quite a few that target the Nexus 7 on Xda Developers, but while I wanted to experiment a bit, I really just wanted the Nexus 7 to work again with the minimum of hassle. Cyanogenmod has always been a well supported distribution and now that Cyanogen is becoming much more mainstream it seemed like this was also a safe choice.
The resources for Cyanogenmod are very well laid out and easy to find once you realise that the device name for the Nexus 7 (2012) is grouper. The version I chose from the Information: Google Nexus 7 (Wi-Fi, 2012 version) (“grouper”) page was the latest in the Release channel, described as stable for daily use. When I did my downgrade this was cm-11.
How to install Cyanogenmod 11 on Nexus 7 (2012)
The instructions provided by Cyanogenmod are very straightforward and complete. The main trick was figuring out that the device name for the Nexus 7 (2012) is grouper. Armed with this information you can get a complete list of all the relevant Cyanogenmod distributions.
In following the step by step instructions, however, there were a few areas where the instructions, which appear to be boilerplate text, did not quite match the reality. I also managed to miss a couple of steps. So I thought it might be worth rehearsing the steps that actually worked here.
From the Cyanogenmod site download
- the version you are installing
- the Clockwork recovery image for the device
- the Google Apps package, there are several options but the Cyanogenmod package is an obvious choice
My installation was made easier, I believe, by having access to a PC running Ubuntu so I could install the adb and fastboot packages (android-tools-adb android-tools-fastboot). There are lots of instructions for installing these on Windows and Mac (Lifehacker also has a summary), but having dedicated packages with a simple installation does help.
The first step was to enable developer settings on the Nexus 7 then connect to the PC using a USB cable. Once connected open the terminal and start the configuration.
sudo adb start-server
sudo adb reboot bootloader
sudo fastboot oem unlock
sudo adb reboot bootloader
sudo fastboot devices
This sequence sets up the connection, unlocks the bootloader, and then confirms that there is a live connection to the rebooted phone. I found that running commands as admin was the simplest way to perform these steps.
The next step was the recovery ROM. I had initially missed this step so make sure you download the recovery ROM.
fastboot flash recovery recovery-clockwork-18.104.22.168-grouper.img
make sure you pick the correct path and name of the recovery image.
Reboot the device into recovery to verify the installation. The Cyanogenmod wiki instructions are
Boot to recovery instructions: Hold Volume Up, Volume Down, & the Power button. Continue to hold all three until the screen flashes, then release all buttons.
I found you had to be alert to release the buttons as soon as the screen flashed. It also seemed to take quite a long time for the button presses to be registered.
Once in the Clockwork recovery the Cyanogenmod wiki instructions were pretty simple
- Use the volume rocker to move between the options and press the power button to select
- I did not want a backup of the current ROM so I skipped this step
- Select wipe data/factory reset
The wiki then offers a couple of options for flashing the ROM. I found only one worked: sideloading.
- Still in Clockwork recovery choose install zip > install zip from sideload
- On the PC (note I renamed the Cyanogenmod ROM zip file for ease)
1sudo adb sideload cm11.zip
- in Clockwork recovery reboot system now
You should now be enjoying the Nexus 7 booting into Cyanogenmod. Rather than linger I proceeded with the Google Apps package, and again the sideload method was the one that worked.
- Reboot into Clockwork recovery
- Choose install zip from sideload
- From the PC: sudo adb sideload gapps.zip
- Restart device
At this point you can start setting up the fresh new operating system.
How is it working out?
For my purposes there is no practical difference working within the Cyanogenmod environment. The things are noticed while setting things up were
- I chose to create and log in with a Cyanogenmod account
- I then added the Google account
- Downloading apps from the Play Store required a little thought so as not to clog up the Nexus again
- The Cyangenmod themes engine was quite diverting, but not all the ones I tried worked well on this device. I ended up with the Android L theme pack by tung91 which gives a pleasing pseudo-Lollipop experience
Performance is now back to KitKat levels. The tablet is responsive(-ish) and pleasant to use for the navigation and media consumption. I have been careful to only install apps that I really do use on the tablet rather than the full gamut.
One application that really seemed to slow things down was Google Chrome. Admittedly it was the Chrome Beta, but this chimed with comments I had seen on forums. The Cyanogenmod Browser would have been an adequate replacement, but in the brief period of use it seemed rather unpolished and old fashioned. Instead I reverted to my old Symbian favourite, Opera. So far it has been a good experience with fast rendering, good tab management and a nice interface. Giving up on the shared browser history and bookmarks might be a bit of a loss, but if it delivers a responsive user experience it is a sacrifice worth making.