LG G2 stuck at 49% flash and other fun things...
I'm writing this post to give back to the community...
I spent about collectively 9 hours trying to get my D803 to work. Was on 4.2 rooted, then went factory fresh using the LG Support Tool. Then updated to 4.4.2 using the same. Great, things work except in the stupid Bell D803 ROM the "I-won't-remember-your-wifi-settings" bug still exists (!!). I went to great lengths to try and edit the build.prop and finally was able to push.
Reboot, then all heck broke loose. Apparently it didn't like my modified build.prop.
TOP TIP: when you have a stable phone, install a custom recovery and do a backup (yes, requires root)
The phone would boot past the LG logo then a black screen with blinking green and blue. I tried many, many things like factory reset, flashing this and that. If you're reading this you'll probably be familiar... load the HTTP fake server, modify HOSTS file, run window enabler... etc. Ultimately these things either lead to a 4% fail or the usual 49% fail.
After 9 hours of futzing around I gave it to my buddy as he said "it can't be that stupid, the stock consumer tools should work". He spent about 3 hours messing about and gave up. In the meantime, I built a physical Windows XP 32-bit machine just in case the fault lies in my trying to use a VMware Fusion XP box on my Mac to do this.
I'm only going to list the tools/items I used, not link them as I have no idea where they came from now. I'm sure you can Google each and see where and what they are required for.
MegaLock.dll (to, uh, "unlock" the tool above)
BIN_LGD803AT-00-V10c-RGS-CA-SEP-04-2013-32G.zip (this file is SPECIFIC for the D803 variant !!)
BELL_D803B10D_00.kdz (this file is SPECIFIC for my Bell D803 variant !!)
LGUP_8974.dll (this is EXTRACTED from the KDZ file)
1. Install the LG Flash Tool
2. Overwrite megalock.dll
3. Download YOUR correct TOT (zipped up) file from (remove spaces): downloads. codefi.re/autoprime/LG/LG_G2
4. Unzip the TOT file from the zip and put it someplace you remember
5. Download YOUR correct KDZ file. There are various places but the EASIEST is to get it DIRECTLY from LG. There is a way to use your IMEI and plug it into a csmg.lgmobile.com URL in order to download it. Please search it.
6. EXTRACT the DZ and DLL file from the KDZ you downloaded. Please search this. I believe it was using a Python script.
7. Install the LG G2 drivers, I used: LGUnitedMobileDriver_S4981MAN38AP22_ML_WHQL_Ver_3. 8.1-2.exe
8. Boot the phone into factory reset mode and wipe it. Search this.
9. Boot the phone into DOWNLOAD (or UPDATE FIRMWARE) mode. Search this.
10. In DEVICE MANAGER, change the LG device (under PORTS) to use port 41, then unplug and plug the phone back in.
The good part...
11. Launch the LG Flash Tool, click MANUAL, then put in the location of the DLL and TOT file from above in the right places.
12. The upper left corner box labelled COM41 should now say "READY!!".
13. Unplug the phone, wait 5 seconds, it should say waiting for connection
14. Plug it back in.
15. Should be flashing now, just wait.
Why am I writing this? It took far too long for me to figure this out. Unknowns or stumbles:
1. No one clearly said when to plug in the phone at the FlashTool screen. I tried having it plugged in to launch the tool, I tried waiting for READY!! then plugging it in then. It always just sat a 0%. I HAD to have it plugged in, get to READY!!, then replug. Maybe you need to do this as well.
2. Skip using the LG Mobile Support Tool doing the HTTP hacks etc. Just use the LG FlashTool and cut to the chase. Wasted SO much time trying different KDZ, support tools, etc.
3. MAYBE it was the VMware guest causing issues but unlikely because I got to the same stages as the physical machine... all I did different was replug it in.
4. Only ONE KDZ file got to 49%, all the others dumped me at 4% (probably citing incompatibility?). You MIGHT need to extract the DLL file from a known KDZ that works for you OR maybe the DLL file is the same across the identical hardware models (ie. Bell D803)? I don't know.
I think those are the only lessons learned but if there are any more, I'll drop them in later. I have to go install a custom recovery and find out how to modify that build.prop properly on 4.4.2...