[LG Optimus 4X HD] Newbleeto:
Up until now, this topic has largely remained in the dark. Not anymore however!

I have figured out how to flash different basebands onto our phone. Unfortunately, at the moment, doing so requires a "factory reset" of sorts, and you will have to re-flash the recovery image and restore your nandroid backup afterwards.

I look forward to finding a better way, but this will suffice, I think, if you, like me, have had terrible GPS problems.

The main use for replacing the baseband is bad GPS signal. Best results have been reported using the ICS basebands for people with trouble getting a signal / finding satellites.

!!DISCLAIMER!!

This is probably not for the uninitiated. It will most likely be fine, but I give no guarantees whatsoever. I paid attention when putting this together, but the only baseband I have tested myself is the V10H - EUR, that is currently running on my phone.

If you end up without IMEI, unable to make phone calls, your phone doesn't boot, I am not responsible and might not be able to help you.

I HIGHLY recommend you have your bootloader unlocked before you try this. I don't know if it will work with a locked one, it might, but I wouldn't try it.

However if you pay attention, are careful and follow instructions, you should be fine.

Pre-requesites:

Hex Editor (I use HxD in windows - http://mh-nexus.de/en/hxd/)

LG Flash Tool with working drivers (please see this great tutorial by SnXo about it: http://xdaforums.com/showthread.php?t=2179126)

Model firmware (See below)

Baseband you mean to flash (See below)

Tutorial:

Download and extract the "Model firmware" and the baseband you mean to flash and place them under a folder named Baseband

Open the Hex Editor

With the Hex Editor, open the baseband file.

You will see a bunch of numbers and letters, nevermind them. Just make sure the first four blocks of the file are numbered 30 12 95 78, they should be, if not STOP and use another baseband. Also warn me so I can correct it,

Now that you have all selected, right click, select all and copy.

DO NOT CLOSE THE HEX EDITOR.

Now open the model firmware file (it ends in .dz)

Open the search dialog box. You want to search for "INSERT" and datatype "text string" - should be in a drop box somewhere.

Now you will see on the left a bunch of Fs with INSERT FLS HERE in the middle. Select everything between and INCLUDING the first and last F on the block. (the first and last block should be addressed 2484 and 24D3, respectively).

Right-click and paste

If it warns you the file size will change, say you're okay with it.

Now save the file and call it "Flash.dz"

MAKE SURE YOUR BATTERY IS WELL ABOVE 50% BEFORE PROCEDING!!

Now flash the .dz file you just created with the X3_v0.0.7.4.dll using the LG Flash Tool as per instructions here: http://xdaforums.com/showthread.php?t=2179126

Congratulations! You are now running the baseband of your choice. Let it boot, root it, flash the recovery, restore your nandroid and presto!

Tools:

Model firmware: https://mega.co.nz/#!kQMG1CSB!GFvbEwDi1ByO2_1B_JRdOhX4pwIb8CVU2s_QUrZ8CmY

ICS Basebands:

V10A - EUR (Europe)

V10B - 262-000 (Europe , Portugal)

V10B - 525-01 (Singapore)

V10B - 714 (Panama)

V10B - AMX (Puerto Rico)

V10C - HKG (Hong Kong)

V10D - EUR (Europe)

V10E - ESA (Thailand)

V10E - TMO (Germany\T-Mobile)

V10F - EUR (Europe)

V10H - EUR (Europe)

JB Basebands:

20A-232-01 (Austria)

20C-232-10 (Austria)

20A-262-000 (UK , Portugal)

20A-525-05 (Singapore)

20A-ESA (Thailand)

20A-EUR (Europe)

20B-EUR (Europe)

20B-466-92 (Taiwan)

20B-BUM (China)

20B-CIS (CIS)

20B-HKG (Hong Kong)

20C-AME (Nigeria)

20D-AME (Turkey)

!!ALTERNATE METHOD FOR JB BASEBANDS!!

The tutorial above is the only method available to flash ICS basebands at the moment. To flash JB basebands, however, if you prefer, you can grab the full roms from here (the corresponding countries are between parentesis above):

http://lg-phone-firmware.com/index.php?id_mod=15

and flash the .kdz file with LG PC Suite hacker or KDZ flasher. You can find more information about that here:

http://xdaforums.com/showthread.php?t=2134192

http://xdaforums.com/showthread.php?t=2069723

Then just proceed to root and flash your nandroid backup as usual, The baseband will be kept.

Thanks to Flying_Bear for reminding me to include this method!

Commentary and what to expect:

Using the 10H baseband did wonders for my GPS. It might do for you to if you had great GPS on ICS but not on JB. Different region basebands might make a difference too, I'm not sure how they differ from each other.

I am not a developer, just a user like you who had a problem and decided to tackle it in the ways he knew. If you want to help or have any relevant input, please don't be shy, I will listen and be greatful for it.

You might have noticed there is a short list on the ICS baseband side. That is because there are many more left to add but I didn't want to delay making this guide any longer.

Also, I will try to make an executable to automate this byte replacing process, but make no promisses. My coding skills are limited and so is my time - if you'd like to do it, feel free to do so. I'll put your work here and give you full credit!

If you're an advanced user or developer, wondering about RILs and whatnot, don't change the RIL. I'm not sure it'll work for every single baseband here, but for the 10H - EUR, the 20A - EUR and the 20B - HKG it works fine. Changing the RIL breaks the phone and you have to restore a backup.

The basebands were extracted from .dz file of stock firmwares downloaded from the LG website. The name is that which is in the .dz file after extraction from the .kdz and the basebands listed differ in md5 checksum from each other. How they are different, I have no idea.

I'll put a FAQ up with the most asked questions, if there are any.

Cheers!