I’ve had a lot of trouble installing CyanogenMod on my LG Optimus G. The main reason for it was that most “guides” focus only on the ROM installation once the phone is prepared, which is trivial: preparation is the hard part. Quite frankly, some of those guides are so terrible that I suspect their authors didn’t even apply them… So, here is an all-inclusive guide (although maybe some steps aren’t as detailed as they could), from someone who actually did it. More specifically, my exact model is an E975.AFRABL, with stock ROM E97510B_00, quickly upgraded to E97510D_00 because I had to fix a soft brick.
I first thought I’d publish it at once, but since writing it takes longer than expected, I’ll split it in 2 parts. Here’s the first, let’s hope I’ll be able to write the second within a reasonable time frame.
First things first, an overview of what we’ll be doing:
- Number 1, and this is the most important part: installing a custom ROM voids the warranty of your device and may render it useless. This is also referred to as “bricked”. Soft bricked is when you can still access download mode for a chance to fix things (we’ll cover that later). Hard bricked is when nothing at all happens when you push the buttons of your phone, or any combination thereof (in this case, the phone is about as good as lost, although some skilled hardware ninjas might be able to do something to save the day if you manage to find – and pay – some).
Long story short: this is a risky operation, proceed at your own risks. Also, make sure your battery is >90% before “doing stuff”. - First we’ll provide a very brief overview of the phone buttons (like, how to boot in recovery)
- Then we’ll learn how to fix a soft brick, because that’s something quite likely to happen (I had one) if you mess something up at some point
- Then we’ll actually proceed to installing CyanogenMod, which can be described as a 3 steps procedure: 1. root your phone, 2. install a custom recovery (if you’re new to this, you can say it’s a bit like a bootloader or a BIOS), 3. actually install CyanogenMod
We will assume that you are doing this on a brand new phone, as I did, so we won’t take care of creating a backup of the data. However, if you do have valuable data that you want to keep (contacts, Angry Birds highscores – yeah that shocked me too but some people have that as “critical” data -, etc), you SHOULD REALLY REALLY make a backup of them, as a lot of installation/boot issues are fixed by wiping old data that may be incompatible with the newly install ROM.
Also, no matter what you do with your phone, you’ll need to install the USB drivers for the phone (currently LGUnitedMobileDriver S4981MAN38AP22 ML WHQL Ver 3.8.1.exe), which can be found on the LG support site (sorry I can’t link to the page, it’s region-dependent).
Brief overview of the phone buttons for booting
Basically, all revolves around the few “real” buttons, ie the power and volume buttons.
Obviously, power turns on the phone. When the phone is running normally, briefly pressing power locks the screen. Pressing it for a couple of seconds brings the shutdown/reboot screen. Pressing it for like 8 seconds shuts off the phone immediately.
When the phone is off:
– holding volume down + power for around 6-8 seconds should boot into recovery. I say “should” because this is one of the things I found the hardest to achieve. Really, this has been a major PITA to me. Note that on the stock ROM, there isn’t really a recovery: all this combination does is load the factory reset sequence (don’t worry, you’ll need to confirm it twice).
– holding volume up + power for some time should boot into fastboot. I have yet to find a guide explaining what’s the use of this… So as you can guess, I didn’t need to use that function, but if at some point you find a guide telling you to boot into fastboot, now you now how to do it.
– holding volume down + volume up (yes, both at the same time) + power for some time will boot into download mode. That’s actually the special boot mode I found the easiest to reach. Download mode lets you flash the phone with, most notably, a factory ROM.
How to fix a soft brick
I put this here in the tutorial because I believe it’s important to be ready to fix a soft brick before going further. Notably, it’s important to make sure that the tools I present here are still online, and if not, that you can find equivalents. So that if a soft brick happens, you can deal with it in a relaxed and swift way. But, as with the rest of this guide, the call is yours to make.
As far as I understood, soft brick means you can’t boot the phone normally nor in recovery mode. I believe I experienced a soft brick, although it’s possible that I just failed to reach the recovery (as I already mentioned, reaching recovery has always been a PITA to me in this process). Anyway, to fix a soft brick, you need to boot into download mode and reinstall a factory ROM:
- First, get this tool, Original LG Firmware.rar. It will allow you to download the current official factory firmware for your specific phone (for this you’ll have to provide your phone model – E975 -, and CASE-SENSITIVE serial number).
- Download said firmware using said tool. You’ll get a KDZ file (mine is E97510D_00.kdz), which should be around 1 GiB. Warning here : if this file is larger than 1 GiB (1 GiB, not 1 GB – 1GiB = 1024 MiB), some people have reported issues with flashing. I don’t know more about it, as mine is less than 1 GiB (it’s 1,031,733,248 bytes, which is 983 MiB)
- Then (or while the KDZ is downloading), get this package KDZ_FW_UPD_EN.rar. It contains a tool to flash the KDZ to the phone, plus satellite tools to make it work. Extract the rar, then install
msxml.msi
, and launchWindows Enabler.exe
: the latter will add an icon to the Windows taskbar. Click it, and it should read “On” (note that in my own fixing, I forgot to turn it on this way but it still worked…) - Once the KDZ is done downloading, launch your phone in download mode (volume down + up + power), then plug it to USB
- Launch
KDZ_FW_UPD.exe
, and configure it as follow:
Type: 3GQCT
Phone Mode: CS_Emergency
KDZ file: [go select the KDZ file you downloaded] - Then click “Launch Software Update”. It will first unpack the KDZ, then flash it on the phone. It should take about 10 minutes (I don’t remember exactly the time, but it was less than 10 minutes). During the process, you’ll see progress messages ending with IParam = XX, where XX is an incrementing number. When you see IParam = 90, the phone will reboot, but you should not touch it yet. Patiently wait until you see IParam = 1 again. And then maybe wait a bit to be sure it’s over, and you can then close the flashing program and unplug the phone.
The phone should be booted successfully, just like it was when you first bought it, although maybe updated a bit, since the only KDZ you can download, as far as I know, is the latest version. If it doesn’t you may need to wipe your data: to do so, just boot into recovery (holding volume down + power): on the stock ROM, the “recovery” only has the option to reset to factory settings (which wipes all data). If you need some more details on this (you shouldn’t, but just in case), see this post.
And this concludes part 1 (all strongly advised preparations), stay tuned for part 2 (actual installation: rooting, custom recovery, and flashing Cyanogenmod).
Edit: and here is finally part 2 🙂
Quick spoilers for part 2. It’s actually not very complicated, the hardest part was to find how to articulate the steps (since it’s actually rare to find them all in one place) and to find the right tools, since there are many of them but only a few work on the Optimus G.
1) root using Framaroot: http://forum.xda-developers.com/showthread.php?t=2130276 (I used 1.5.3 with gandalf method)
2) install ClockWorkMod using FreeGee: https://play.google.com/store/apps/details?id=edu.shell.freegee_free (unlock using SBL method – NB this is risky, maybe make sure Shelnutt2 is on freenode irc #lg-optimus-g before proceeding if you’re scared). NB: ClockWorkMod or ClockWorkModTouch should both be fine, however the other recovery did NOT work for me (it failed to install Cyanogenmod)
3) download any version of Cyanogenmod (maybe it’s better to just get the latest stable one in the first place, so if it screws up you know it’s not because of a broken nightly), place it in the sdcard folder (yeah, there’s no sdcard but there’s a folder named like this), boot on the recovery, and install Cyanogenmod.