[LG Optimus Me P350] dbarrera:
So, I decided to write this guide here as I couldn't find a complete one and had to jump from thread to thread (and sometimes even the sub-forum) for finding the answer.

First I wrote it in my blog and I decided to post it here. Maybe some steps are vague in details but I'm planning to detail it even more (remember, I wrote it in my personal blog first). So, here it is:

AIO LG Optimus Me P350 Guide​

Some Personal History

My experience with Android. UF! Where to start? So, I got my phone from the United States. You have no idea how wonderful it was to have the phone in my hands. Anxiety and curiosity. For some reason I always read that the first thing anyone does is root the phone and then continue doing everyday activities that do not require root, so I tried to live without rooting the phone, but I couldn’t wait for the week to go by. I had to get the best! Small problems, fixes and updates. And since I have my phone on sale, I publish this step by step guide to modify it and not die trying.

Tech Specs

Let’s start from the beginning, know the phone. Mid/low-range phone created by LG for those in a short budget but want to have a good Android experience. It has a 600 MHz processor, 256 MB RAM and ROM capacity of 512 (140 MB available for applications and data). 2.8 inch capacitive screen, 240 × 320 screen resolution. Wi-Fi b/g wireless connection, Bluetooth 2.1 with EDR, and USB 2.0 up to 480 Mbit/s. 3.1 MP camera (no flash) and FM Radio. Not bad for a basic device. Complete specifications can be found here. Enough for a casual user. But if you’re not a casual user (hence a XDA member), read on.

First of all, everything you do on the phone number is on your own. You yourself are responsible for what you do, not do, stop doing, fail, fail to read and/or shortcut you may have taken. These steps are the ones that worked for me. I am not responsible if the phone dies in the process, the cat bites the cable in the middle process, the heavens begins to fall, the 3rd world war starts or if the neighbor has a heart attack … You’ll be calling 911 afterwards… You’ve been warned!

USB Debugging

The first thing you have to learn is to turn on USB debugging. Here is a guide how to do it (If you wanna see a pictorial guide). But essentially you have to go to Settings > Application > Development and check where it says USB Debugging. Pretty easy. What is this good for? Well, for starters. modify the phone however we see fit. But most important USB Debugging allows the phone to communicate verbosely with PC with the Android SDK installed. More on this later.

KDZ Updater

KDZ Updater is an application used by LG for flashing official operating systems themselves. How did this application saw daylight outside the company, I don’t know very well, but apparently a leak appeared on LG India, but not sure. In any case, this application is our last line of salvation and the main tool for our little friend.

To install official KDZs must follow these steps:

Install the updated drivers by following the steps listed on this page.

Connect the phone with USB Debugging activated

IMPORTANT: Disable the Virtual USB Modem device from Windows Device Manager. Omit this step and the device may brick in the upgrade process.

Run the application in Administrator mode (only required on Windows Vista / 7).

In the Type drop-down list select 3GQCT and in PhoneMode, DIAG. Where it says Version, will appear the version that is installed on the phone.

Select the KDZ file to install by clicking on the button with the folder icon. Preferably save the file KDZ in the root of the hard drive as there will be little chance for error when reading the file.

Press the button “Launch Software Update”. The phone will reboot into Emergency Mode. This is normal.

Pray all you know and go for a cup of tea. The process takes about 8 to 10 minutes.

If all went well, the phone will turn off and the program displays a line that says = FINISHED =.

To start, first go into recovery mode by pressing the following buttons: Vol- & Power. This will make any old or unnecessary information to be removed. The phone will reboot into the system normally.

Original Thread

Root (Gingerbreak and SuperOneClick)

Ok, what we came here for. Rooting the phone. How do I do? It’s scary! Says who?! Lets start with the choices we have. Ok, we have the phone, but we have not updated anything, How do I get root? Gingerbreak comes on the scene. Pretty simple process: download, Enable USB Debugging, run, press Root, wait for the restart, confirm. Simple, right? Also read the instructions and warning on the link above in case something I overlooked, but that basically is the process. By the way, install Busybox, very important for future processes.

Stop, stop, stop … And if I upgraded the phone? Gingerbreak seems not to work! What do I do?! Mainly, DO NOT PANIC! First things first. Go to “About phone” and see that version it says; something different than 2.2? Cool, no problem. SuperOneClick comes on scene. Download the application, unzip. I assume you already installed the drivers, right? Otherwise, do it and come back when you have done so. Ready? Continue. Turn on USB Debugging and connect the phone to the computer. Execute the application and press the button that says “Root”. Need more information? Here is a video explaining step by step (its in spanish, but graphics needs no language) and if the antivirus gets all paranoid, read the explanation here.

Recovery (Amon-RA and CWM)

Ok, moving on. Just as clarification: From this step on,

the phone should already be rooted

. Otherwise, you will mourn at the very end because the phone will brick and you’ll end with a very good and expensive paperweight. What is a Recovery? Here the answer.

This is essential before changing the insides of the phone and a step that I believe needs to be forever linked to rooting process. Why? Simple! Installing a Recovery allows full system backup and restore if something goes wrong. That linking to rooting process? Because if you install a root application, modify the system, and damage the system, it can be restored to a previous time and we’re all happy campers. See?

So this is where we get our hands dirty. Initially, I ask again, have you installed the drivers? (From this point on I shouldn’t ask) Have you rooted the phone? Responded twice yes? Perfect. Now, download the Android SDK or only the .zip attached here (unzip preferably in C:\ADB\) to continue this process. Also download the Recovery that you will install, we have Amon-RA and ClockworkMod (CWM) v5, v5 touch, and v6, extract the recovery.img file to the folder where adb.exe is (If you used the SDK installer, should be at C:\Program Files\Android\android-sdk\platform-tools\; if you used the .zip, and extracted as recommended, C:\ADB\). Which to choose? My recommendation, CWM v5 (either one). Connect the phone to the computer in with USB Debugging activated. By the way, how do you feel using command line in Windows? Moving on…

Open a command window, go to where adb.exe is and run the following commands:

adb push recovery.img /sdcard/
adb push flash_image /sdcard/

With this we have copied what we need into the phone’s SD card. Just to clarify: 1) the flash_image file can only be found in the recovery Amon-RA zip (not sure if it is generic or modified exclusively for the P350, then I’d rather play it safe) and 2) CWM recovery v5 and v5 touch files come in zip-installable, but you can open the file and use recovery.img in it. In CWM v6 there is an installable zip and another to follow this same process. Lets continue…

adb shell
$ su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock1 /system
# cat /sdcard/flash_image > /system/bin/flash_image
# chmod 755 /system/bin/flash_image
# sync

Up to this we have only prepared the area to install the Recovery. It it recommended to reboot the phone in this step, in case you run out of virtual memory but is not really so necessary (If you see an error message, then reboot). That’s yours decision. Continue…

adb shell
$ su
# flash_image recovery /sdcard/recovery.img
# sync

To confirm that everything is installed without issues it must happen one thing and do another thing. What must happen is when you execute the flash_image command, no errors should appear, if otherwise reboot and repeat the last block of commands. What must be done is execute the command reboot recovery and if everything is alright, you should go into Recovery menu, if not then all the information has been erased and back to square 1 (it happened to me the first time).

Kernel

Just for safety: are drivers installed? Root acquired? Recovery installed? Already made a backup of the ROM in use at the moment (so far should be the LG ROM)? Do it!!

So, what’s a kernel? Here’s the answer. What choices do we have? Well not too many, it depends. Are we still on the LG Stock ROM or a Froyo-based ROM (oh, getting ahead aren’t we?!)? Well, the truth, with this ROMs there are not many: Team Pecan Kernel would be my recommendation, RoQ Kernel which also works quite well. CM7 ROM or any other Gingerbread-based? Ron's RM CAF Kernel (updated weekly), pax0r kernel (discontinued), Vivek Kernel (also discontinued but higher than pax0r). Read how to use Recovery for the installation of installable zip files from Recovery. This is also applicable for the installation of ROMs.

ROM

Still with me? Still no cardiac arrest? Relax, breathe! As we reach the last modification process of the phone. After surviving this, you will have the full capacity to recover the phone from any eventuality. Dictionary, which is a ROM? Here the answer.

ROM, What options do we have? Well, although it may seems, there are many options to choose from! We have some created from source code, based-on and others that have been “ported” to work with the device. Among those created from the source we have: CyanogenMod 7.2, Pure CM Invasion and CyanogenMod 9 (Work in Progress, not quite stable), based-on: Androm x4.2 (CM7) Arc XP (CM7), Gingerbread Optimus UI (CM7) Gingerblur (CM7) and MIUI v4 (based on CM7, Arc XP with a theme very close to the real MIUI, Japanese ROM). Ports: JoyOS, ICS (Discontinued unstable), BeautySense (Decent and functional).

Further Development/Tweaks

At the moment a new tool has been released called LG P350 Pecan Toolkit, developed by antdking. Its in early development and so far it roots, unroots and installs recovery. Saves some the hassle of the command line but if we haven’t gone through all the problems and commands, what have we learned? Anyways, here’s the original thread where you can follow the development and post ideas or bugs.

If you wanna go all-in into ROM cracking and research, we have also the LGExtract tool, which unpacks the KDZ file into bits and pieces. DZ Extract Tool extracts the files within a DZ package very much into source code. I've used these tools but as my experience with coding and android development is very close to none all I've done is extract the files and read them. Antdking reminded me of a simple yet powerful tool to continue decompiling the LG filesystem called unyaffsmbn. I came across it when we were trying to decompile baseband (amss.mbn) for CM9 without success, just lo later know that the tool just decompiled system.mbn. Oh well. Antdking compiled unyaffsmbn into a nice little tool ready to work, here it is.

The volume on this phone, as many may know, is low. But there is a way to elevate it. Execute the phone app and press: 3845#*350#. This will bring up a Hidden Menu. Go to: Device Test > Sound Test > Audio CAL Tool > Subsystem Calibration. In the Gain Type dropdown list, select Speaker Gain. Set Data textbox gets focus, input the number 90 and press OK button. In Gain Type, select Input1 Gain, and we press Ok button again. Exit the Hidden Menu. This will elevate the speaker volume but just temporary, it will be restored to default values when rebooted. So either don't reboot or repeat this process everytime you reboot.

And that would be all. Happy hacking!

Great kudos to the real developers here:

drapalyuk: For the first ever recovery for P350, Amon-RA

pax0r: Started it all, Kernel, ROM

ron gokhle: ROMs, Kernel and Recovery builds

vivekkalady: Kernel, Touch Recovery, first ICS port, and some other fix work

nikhil4186: For the KDZ Guide (although written originally for LG P500

antdking: For a great-to-be toolkit