[G3 General] GuestK00280:
Always make a backup before changing / on your device!

Q. What is this?

A. A way to change your region. More manufacturers in QRemote, Russian/Greek/etc T9 in dialer, working 4G, no wifi frequency restrictions and more.

Q. Will it get me OTA's of the region i changed to?

A. No.

Q. Is there any easier method, one that does not require root, perhaps?

A. I don't know one.

Boring technical details:

Latest firmwares do not "belong" to region. Instead, they adapt to phone's own region. The check is done at each boot, settings are applied after build.prop.

The detection uses combination of operator code and country code (2 bytes, numbering convention unknown. In LG's documents it's referred to as "BUYER").

LG determines phone's region by looking into the "misc" partition, at addresses 0000A000-0000A020.

Information at them looks like this:

"1","FFF,FFF,FFFFFFFF,FFFFFFFF,12"

, where "12" is country code.

We can change it ourselves by using hex editor on a dumped image.

The regional parameters reside in /cust/ folder. The file "/cust/cust_path_mapping.cfg" maps "{operator_code},{country_code}" to a folder where it's parameters reside.

Note:

some countries (FRA, for example) or some operators don't have their own folder in /cust/. They use 11 (OPEN_EU) as NT code, and identify themselves based on some other info I've yet to find.

Example of cust_path_mapping.cfg content:

20810,FF=/cust/VDF_COM/FR
20810,01=/cust/VDF_COM/LPM

Explanation: Vodafone in any country but 01 will use "/cust/VDF_COM/FR", while Vodafone in "01" country will use "/cust/VDF_COM/LPM". Notice theirs relative positions. This means that only the most exact match is used, and creating "FFFFFF,FF=/cust/XDA" key won't point the phone towards XDA folder.

By changing this file - or changing the contents of the folder your "operator,country" combo is pointing to - you can change your phone's region to anything you want.

There is also a "/cust/cust.prop" file. It contains fallback to defaults, if phone was unable to determine needed folder, or it didn't exist, it uses "/cust/SUPERSET/".

! In 5.0 firmwares, annoying message stating that "current version not avaliable for user" shows up if the above happens.

The folders in /cust/ hold operator/country settings. LG named them this way: "OPERATOR_COUNTRY". There are 2 special values - OPEN for operator - which means any operator, COM for country - which means any country.

OPEN_XXX hold parameters for specific country. These folders may contain subfolders with parameters for smaller operators which operate only inside this country.

Example: OPEN_ZA, which contains folders for MTN and VDC operators.

XXX_COM contain parameters for specific operator. These folders may contain subfolders with parameters for specific countries.

Example: /VDF_COM is intended for Vodafone. It contains folders FR and LPM, which are intended for France and LPM (?).

{OPERATOR_COUNTRY} folders are intended for 1 combination of operator and country, they should not contain subfolders with settings for other operators/countries.

Example: PCL_IL, contains settings for one of Israel operators.

The method itself:

1) Install Busybox.

1) Look at /cust/cust_path_mapping.cfg and choose some region's code. The folder names are usually self-explanatory, and you can always look into /cust/{folder}/cust.prop to see to what ro.build.target_operator, ro.build.target_country and ro.build.target_region variables are set.

2) Execute the below code, replacing "\x31\x32" in "echo -n '\x31\x32'" with your chosen code. Examples: "\x35\x36" is 56 region, "\x37\x33" is 73 region and so on.

First line backs up your "misc" partition to /sdcard/misc.bin, you should copy this file to safe storage.

dd if=/dev/block/platform/msm_sdcc.1/by-name/misc of=/sdcard/misc.bin
echo -n '\x31\x32' | /system/xbin/dd of=/dev/block/platform/msm_sdcc.1/by-name/misc bs=1 seek=40991 count=2 conv=notrunc
reboot

Why did i use busybox's dd? Because in LG's 5.0 default dd was compiled without conv option...

Enjoy your new region!

Other methods:

Method 1: substitution.

Step 1: Find out which country your phone was meant to use ("Settings->About Phone-> Software" ). Find your current operator code. Using these, find currently used folder in /cust/. You can get to know folder's region by looking on it's name, or opening the {folder}/cust.prop file and looking at these keys:

ro.build.target_operator
ro.build.target_country
ro.build.target_region

They are pretty self-explanatory.

Step 2: Replace the folder's content with content from the region you want to change to.

Step 3: Reboot and be happy!

Method 2: via editing "misc" partition.

Be extra careful with "misc". This partition is unique for every phone. If it's damaged or wiped, things may get ugly.

I do not know a way of regenerating "misc", since it contains your bluetooth/wifi mac's and IMEI. AFAIK, It is only used for displaying that info in Android and for LG's updates - so you won't lose bluetooth/wifi/mobile data, but still...

Since it's also used for updates, PC suite and "ota updater" won't be able to update your phone anymore if this partition is damaged.

It may also have uses which we don't know about. Make a backup, save it to several clouds and 2-3 offline storages.

Do not proceed if you don't know what "hex editor", "backup" and "partition dump" are.

1) Grab misc with "dd if=/dev/block/platform/msm_sdcc.1/by-name/misc of=/sdcard/misc.bin".

2) Open misc.bin in any hex editor, go to address "0000A000" and look for this:

"1","FFF,FFF,FFFFFFFF,FFFFFFFF,12"

Change "12" or whatever number you have there to the one that you need. You can look into cust_path_mapping.cfg to determine it. Save the result to a new file, name it "misc_edited.bin".

3) Replace your misc with edited one: "dd if=/sdcard/misc_edited.bin of=/dev/block/platform/msm_sdcc.1/by-name/misc".

4) Reboot.

I have no idea about how PC suite and others will react to IMEI and country code mismatch. They probably won't care, but we don't know it for sure.

Method 3:

Warning, in 5.0 this will cause the annoying "Current version not avaliable for user!" message to show up at each boot.

1) Backup your rom and /cust/ folder.

2) In /cust/cust_path_mapping.cfg delete all lines except

999999,99=/cust/SUPERSET

.

3) Copy everything from /cust/{Your_desired_region} to /cust/SUPERSET.

4) Reboot.

Big thanks to my Russian comrades rxu, KestL and Beerukoff for pointing out important details!