[Galaxy S I9000 General] ilusi0n:
Hello,

I`ve made my "official" update to Froyo JP6 and I wanted to SIM unlock my phone. Since last unlock application did not worked (basically because SIM lock number was removed from nv_data.bin)

So this is how I did it.

My phone specs:

Model number: GT-I9000

Firmware version: 2.2

Baseband version: I9000XXJPM

Kernel version: 2.6.32.9

Build number: FROYO.XWJP6

Locked network: Orange Romania

Prerequisites:

- phone must be rooted

- adb application (you can find it in "Generate Unlock Windows.zip " from this /showthread.php?t=761045 post)

* first backup your /efs folder

change /efs permisions:

chmod 775 /efs && chmod 775 /efs/.*

get all files within /efs folder:

adb pull /efs bk2/

(where bk2 is a folder where adb resides)

* edit nv_data.bin with a hex editor

copy nv_data.bin from your backup folder and open it with a hex editor

move to Offset 18146E and change those 8 Fs(FFFFFFFF) to 00000000 (this should change your SIM unlock code to 00000000)

(I didn't do this step) move to Offset 188021 and change whatever is from that cursor (ex. GT-I9000HKDXEE) to XEF

save your binary file

* clean your /efs partition (you must have some free space for your phone to generate and work with your nv_data.bin file - If you don't have enough space it will write until it gets full and your phone will probably end up not seeing any SIM card (that's what happened to me, /efs was 100% used and I could not use any SIM. message: no sim card. or insert a sim card)

1. connect from your PC to phone's shell

adb shell

2. obtain root access

su -

3. list partition usage - it would be most of it used ~ 6Mb

df /efs

4. list the content of /efs/ filesystem

ls -l -a /efs/

5. remove most of the content

rm /efs/nv_data.bin.md5
rm /efs/nv_data.bin
rm /efs/.nv2.bak
rm /efs/.nv2.bak.md5
rm /efs/.nv_data.bak
rm /efs/.nv_data.bak.md5

6. check filesystem usage again. it should be ~ 3Mb

df /efs/

* copy your altered nv_data.bin file

from another prompt do:

adb push nv_data.bin /efs

(altered nv_data.bin which was edited in second step)

from your first shell where you connected earlier as root create the md5 file:

md5sum /efs/nv_data.bin | tr '\n' 'X' | sed 's/ .*//' > /efs/nv_data.bin.md5

change permissions/owner on nv_data files:

chmod 775 /efs/nv_data.bin && chmod 775 /efs/nv_data.bin.md5
chown radio.radio /efs/nv_data.bin && chown radio.radio /efs/nv_data.bin.md5

* now let`s unlock your phone

disconnect from your adb shell (exit, exit) and remove your USB cable

remove your phone's battery (without powering it off) and put another operator's SIM card

!!! When you'll be asked about unlock code enter: 00000000. It might say its unlocked or it might not. It may hang on searching network provider or it may not. After couple of minutes power off your phone and start it again with that SIM card in it. Pray that it will actually work ( For me it happened not to be able to "slide to unlock". It worked to power off the screen and power on, I could see animation but I could not do anything with my touchscreen)

!!! Your IMEI will be screwed (at least mine was), that's why it will be ok to keep your backup files on your PC so you can restore at any time if you need it

* restore

proceed like in previews mode but now you have to copy ALL your backed up files to your phone and you have to change ownership/rights to all copied files

adb push bkp_folder/ /efs/

(all files/folders within bkp_folder will be restored on /efs)

!!! pay attention on /efs rights (

ls -l -d /efs

you may change write permissions to all users

chmod 777 /efs

I`ve gathered all the info from other posts (mainly from this /showpost.php?p=8681529&postcount=806 one ), i haven't invented the wheel you know..

Please post if it`s working for you...