[General Questions and Answers] Darkshado:
Hello Cathy,

One big piece of advice I can give you is to try and have a basic understanding of whatever command it is you're typing in an ADB shell.

The "cat" command can take one or many standard inputs (we'll stick to files for now) and output them to a standard output; in our case, the screen or another file.

Its one way of copying a file, or simply seeing its contents depending on where you send it.

With multiple files in the input, you're concatenating them before they get output.

I would not try the method in your last post AT ALL. You already have your code, and I see no reason why your current perso.txt would be of any use. It is a configuration file, it has to do with the various locks, but I wouldn't be able to tell you more. The way yours has been "corrupted" (I'm employing the term loosely here) may be the reason you've seen that CP lock appear. It may also have altered your Network unlock code in unforeseen ways.

I don't remember anyone trying to directly adb pull perso.txt from the /efs partition off a live phone. Do this at your own risk.

The problems we've seen occur are in all likelyhood due to interference between the modem firmware and the higher-level Android OS. That's why even normally "harmless" read commands have caused problems.

The dd command, as well as leaving /efs mounted on normal mode phone shutdown are constants in multiple bricking cases on the Gio and other similar Samsung phones like the Galaxy Ace and Mini.

The lower-level bml5 partition has been deemed safe to read with the dd command so far, even from a live phone.

Completely disable the modem firmware, like in recovery mode, and you can access, and even edit, the /efs partition in a relatively safe manner.

Something interesting happened as I began writing this: I don't know how or when this happened, but I somehow had relocked my phone to Bell!

I decided to try the lock status code you posted above and saw "Network Lock: ON" Slipping another SIM (an unactivated Koodo one) in my Gio prompted for the unlock code, which I typed and got a network unlocked message.

I took another look at the perso.txt file I had modified for you and recognized a number near the beginning: 302610 that's the Bell MNC! I rebooted in recovery, mounted /efs and adb pulled perso.txt again (safe because I was in recovery mode). The file has the exact same length, and a few differences visible in Winmerge or a hex editor of your choosing.

I turns out I can relock and unlock my phone as I see fit! I haven't tried, but I wouldn't be surprised if I could even lock my phone to a network other than Bell.

You also asked about NV items: they're phone settings common to all Qualcomm cellular modem based cellphones. GSM and WCDMA antenna power and gain settings, factory test mode, IMEI, there are thousands.

In the case of the Gio, some are accessible off the EFS (stl5) partition in the /nvm/num/ directory. Others, like the IMEI unfortunately, are stored elsewhere in the phone, I don't know where. We can read all the settings by using two leaked Samsung programs, named QPST and QXDM respectively. We can edit some of them, but unless you know exactly what you're doing, this is an easy way to completely mess up a phone.

One last silly question: did you have a MicroSD memory card in the phone when you tried cat'ing bml5 to /sdcard on your second attempt?

Okay. I think there is a way to solve your unusual lock problems, try the following steps:

Get Odin here

Get the latest Odin-flashable Gio ClockworkMod-based recovery available on XDA.

Download the perso_Cathy.txt attached below.

Flash the CWM-based recovery to your phone.

Reboot in recovery mode and connect the phone to your computer.

In Windows Explorer, go to the directory you've saved perso_Cathy.txt, and shift+right-click on the directory. Open command line from here. (Otherwise, open a command line window and cd to that directory.)

adb shell (notice your shell is already # aka root)

mount -o nosuid,rw,nodev -t vfat /dev/block/stl5 /efs (notice we're mounting rewritable this time)

exit (this will take you back to the regular command line)

adb push perso_Cathy.txt /efs/mits/perso.txt (so we're pushing and renaming at the same time)

adb shell umount /efs (I doubt this is *really* necessary, but better safe than sorry. You can send single commands to the shell this way)

adb reboot

The phone should already be unlocked on reboot.

Good luck,

Darkshado