This was quite an adventure and by adventure I mean a humongous painstaking pain in the ass. The actual process is EASY, but the hard part was getting my phone to actually enter debug mode and stay there. I have the LG C800 T-Mobile myTouch Q and the hardware is wonderful, but the OS is crap; no thanks to T-Mobile. The damn thing locks up on me at least 2-3 times a week and trust me when I say I didn’t install any odd programs on it. It locked up on me when I just got the phone and I thought it was a fluke, possibly a one time thing, but the phone proved to me I was dead wrong.
The LG C800 T-Mobile myTouch Q would be an excellent phone if it didn’t have all this unnecessary crappy bloatware running on it that T-Mobile put there. All the trash on the phone is what makes it crash consistently. I can’t tell you how many times I have tried to make a phone call and just watch my phone die as it says “The Process com.android.phone has stopped unexpectedly”. It is enough to make you want to throw your phone out of a moving car into a ditch, but of course you remind yourself that you spent $320 on it and that throwing it out of the window would be silly (?)…
Here is a list of issues I have had with my phone:
- It locks up when I use it like a phone. This may seem like a pretty simplistic statement, but no seriously I want to make a phone call and it locks up…
- When I am on Bluetooth and I want to make a call while music is playing, it will lock up.
- If I press the “Genius” button, after the first use, the phone locks up later.
- If I use Google Maps or Google Navigation, the phone will either lockup and die or do me the favor of restarting itself for me so I don’t have to.
- The phone will start to
sporadically drain its battery for reasons I can’t begin to explain. Sometimes it will go on for about a week. This is the most baffling problem of them all. The phone will literally do a Mana burn on its battery for no apparent reason. I can turn of WiFi and Bluetooth, but it will still drain its battery even while it is sitting idle. I have to have the phone plugged in while it is going through this bout of stupidity otherwise the battery goes dead.
Rooting 101 Gotcha
I won’t have any major difference in instructions on how to do this process except a one very important and very stupid gotcha which was the inspiration for this post and that is:
IF YOU ARE DOING THIS ON A PC then make absolutely 100% sure that you have plugged in your phone’s USB cable to the BACK of your PC directly to the motherboard and NOT to the front bezel. This caused me 3 hours of pointless head scratching, screaming and googling for why my phone would NOT stay online. My phone kept going offline. It would be alive for about 1 minute then just disappear… This was because I had my cable plugged into the FRONT of my PC as opposed to the BACK of my PC. WHY DOES THIS MATTER? I DON’T KNOOOOWWWWWWW!?$&*(@#$*(&
|How I felt when I found out from my friend that plugging the cable into the front bezel doesn’t usually work.|
I have a vague understanding as to why this matters, but needless to say it does. I can guess that the USB extensions on the front bezel have to travel through a multiplexer of some kind and that can cause the problem (I had some experience working with data and a switching IC, it never worked. I blame the resistance of the IC for that. Same can be said about a multiplexer IC). Either way it is a huge problem and goddamn it – it is annoying. You have been warned.
Basic Instructions on how to Root the LG C800 T-Mobile myTouch Q
Here are the articles I used to figure this out:
Article A over simplifies this process to the point where I became paranoid and worried that I might have been missing some important detail.
Article B doesn’t do any of what Article A does exactly…
I pretty much did a combination of what both Articles say to do. Since I plan on actually attempting Android development again I went the extra mile and installed everything I would need for that already. According to Article B you require the Android SDK, notice it makes zero mention of that in Article A and I think this is because SuperOneClick (the rooting software) comes with the ADB server already. The SDK just happens to come with the latest ADB server as well.
WTF is an ADB Server?
In short the ADB Server is the process that speaks to your phone, this is crucial for anything to work whether you are rooting, debugging an Android application directly on your phone or debugging your phone period. Think of it as a mediator.
Steps I Took
I strongly recommend reading both articles before proceeding with these steps because a lot of detail is already in those articles and there is no reason for me to repeat it here. These steps are more geared towards developers as it assumes you can figure out the stuff I don’t mention or gloss over and these steps prepare you for Android development simultaneously. There are just too many small details, so I am skipping a lot of them because otherwise this would be over 30 steps. If you are not a developer and just want to root your phone straight out, follow Article A and you can still use my post as a guide.
- Download SuperOneClick here, but don’t run it yet. This is a link to Download.com, the reason is that the official site’s link is busted which is silly and I would rather download it from a place like Download.com as opposed to any shady site. You don’t want your computer to get a virus or your phone to become a paper weight. After downloading it, unzip it so you can use it later.
- Install Java JRE and JDK – if you have a 64 bit system, install both JRE 32 bit and 64bit. Why? Click here for more info. At one point you will need to anyhow because an application may require one versus the other, might as well get it over with now.
- Install IntelliJ – I prefer this over Eclipse because it doesn’t suck and it now has support for Android, yay.
- Install Android SDK
- After the SDK is installed, make sure to install all necessary plugins/packages that you think you will need, not necessarily for the rooting of your phone, just in general. Check Article B for more info.
- Get the drivers for your LG C800, unfortunately LG screwed up good and now has three different versions of the LG C800 on their website. I don’t understand when this happened, but it did and it is really annoying because NO WHERE on their site will you just find plain old LG C800. There are three versions LGC800DG, LGC800VL and LGC800G. You can ignore the G version, I tried the VL first, but then I ended up using the DG. You only require the drivers and I think, but I am not sure that the drivers should be the same for the DG and VL. In any case I used the DG version. I emailed the fine people over at LG about this problem with my serial number & IMEI number and I asked them which model I had. The fine representative informed me that I had the LGC800… I wanted to hurt the rep very badly…
- Backup your phone if you fear for the worst – I did.
- Remove your SD Card if you are paranoid – I did.
- Enable debug mode and enable the option to keep your screen lit (I am paranoid). Read through Article B for more info.
- Plug your phone into the BACK of your PC, laptops should be fine no matter where you plug it in.
- Start up IntelliJ.
- I could write a whole other post on how to do this, but I won’t because it is pretty simple. Create a new project and make sure to set the debugger to point to your phone. Just go through the motions of locating your JDK and Android SDK for IntelliJ to point to. You just want a blank project so you can see the debug output, so don’t get hung up on what to call it and where to put it, this is just for the output window. This output will let you know if your phone is alive.
- After creating a project. Make sure the ADB Service is running by click on Tools > Android > Enable ADB Service. Why are you making me do this? You are doing this because you want to see all of the un-intelligible debug output in the Logcat window (Actually the output does make sense, it’s just that there is a lot of it flying out which makes it cumbersome).
Enable the ADB Server/Service Your phone saying a lot of nonsense…
- Let your phone sit for about 5 minutes, if it is still blabbering on and on then you should be good, it doesn’t seem like your phone is going to just go offline all of a sudden.
- Make sure your phone is charged, even though this process takes like 4 minutes and chances are it is being charged while it is plugged in.
- Like mentioned in Article A you want to disable your antivirus on your PC and your phone (I will get to the phone in a moment). I use Microsoft Security Essentials because I am cheap and too lazy to get anything better, not to mention MSE is actually highly regarded as good, so I haven’t bothered to get anything better. What am I talking about?
- If you are paranoid like me, disable your windows Firewall. I can’t explain why, I just did it just because it seemed like one of those things that windows would obstruct at the wrong moment which could destroy my phone. Phone a la Brick.
- Supposedly you are supposed to uninstall any Antivirus from your phone… well that is one of the reasons I was rooting my phone, that was not an option for me. Just make sure that any antivirus that you have on your phone is not running as a Device Administrator. To check go to Settings > Location & Security Settings > Select device administrators > Deselect your Antivirus. At this point supposedly you can uninstall it. I tried and it didn’t happen. I even tried registering the software and that just made it more annoying by being up on my task bar all of the time. So try, if you can’t then meh… didn’t seem to matter anyhow. Just make sure it isn’t active – as in Actively Protecting your system, disable it if it is running.
- Okay… here is where I get a little confused. I don’t think this step is necessary, but I did it anyhow. According to Article A you need to:
C:adb> adb shell$ echo 1 > /data/local/lge_adb.conf
- After doing this Run SuperOneClick 2.2 and root your device
So what I did was, instead of using the ADB server that comes with SuperOneClick, I used the server that comes with the Android SDK because it should already be running. So point a command (cmd) window to: C:Program Files (x86)Androidandroid-sdkplatform-tools and do those instructions listed above there. Honestly I don’t know what this does (it’s just an echo command???), but I did it anyhow because I am paranoid.
- Okay so if you did not receive any annoying messages about your phone being offline or the blather from the debug window did not stop and it continues you are good to go to the next step. If your phone did not respond, then you need to figure that out. Use Google because that is what I would do.
- Open up SuperOneClick and like Article A and B both say, just click the big ol’ “Root” button. Don’t do anything while this is happening, just sit and wait. The SuperOneClick window will blurt out a bunch of stuff, seriously just don’t touch anything while this is happening. Eventually SuperOneClick will need your attention and tell you everything went smoothly and something about issuing a “su” command (super user). If your phone is still in the process of rebooting, sending that command won’t make a different so say yes/no it won’t matter if your phone is still in the process of rebooting because it won’t receive the command. A point of interest is look at your debugger window while your phone is booting up and watch all of the crap that is loading as it does this. You will/should recognize different program names and other stuff as it starts.
- If everything has gone well by this point your phone is rebooting and you can see your phone’s desktop again. Congrats the scary part is done.
- Turn your computer’s Firewall back on and turn your Anti-Virus back on.
- Download and install the Pro Version of Titanium Backup on your phone. This is what will allow you to excuse my expletive “un-fuck” your phone with all of the crap that T-Mobile put on there for you as a favor. Thank’s T-Mobile. Make sure to do what the program tells you, backup before you freeze or uninstall programs etc…
- Use the following links for more help:
- Now you know as much as I do about this spooky process. Wow… this was actually kind of tough.
Great, my phone is rooted. Soooo now what?
Don’t worry, this is a common question that even I had. I wrote a whole post on it, just click on this link: