Successful IMEI repair on i9300 without backup. - Galaxy S III Q&A, Help & Troubleshooting

Just to share a successful restoration of a damaged /efs partition on a i9300 without any backup. Maybe this will help someone save their phone or avoid having to send it in for repair. This appears to be the usual advice when the efs partition is damaged and you don't have a backup. You're fsck'ed. However, you might get lucky, like I did. Read on.
The story: I was running the phone with a custom built cm-10.1 and playing Candy Crush when the battery died. After that the phone wouldn't boot. After booting into recovery it appeared /efs wouldn't mount. That puts the phone in a boot loop. Desperation...
The key to the provided solution is that eventhough your parition is damaged, the relevant data (nv_data.bin) may still exist.
Here's what I did. Not all steps may be necessary, but this is what happened to work for me. The steps I think are crucial are highlighted.
!!!AS USUAL, TRY ANY OF THIS AT YOUR OWN RISK!!! In any case, only do this when your efs partition is damaged and won't mount, not when only files in it are missing or something else.
1. Create an image of /dev/block/mmcblk0p3. mmcblk0p3 is the device file for the partition that is mounted as /efs
I did this by logging into the phone while it is in recovery with adb:
Code:
linux# adb root
linux# adb shell
phone# dd if=/dev/block/mmcblk0p3 of=/data/efs.img
phone# exit
linux# adb pull /data/efs.img .
You now have an image of the efs partition. To verify that it is indeed broken, I did a filecheck on the image:
Code:
linux# losetup /dev/loop0 efs.img
linux# fsck /dev/loop0
That gave an "Invalid Superblock" message. The partition is indeed b0rked. No (obvious) way to rescue the filesystem.
2. I still didn't know what to do so I flashed a stock ROM (G4) using Odin. Still boot looping. Since I wasn't sure the partition table wasn't damaged and the efs partition was lost anyway, I decided to check "Repartition", which is generally discouraged, using a pit file downloaded from the forum.
3. I re-rooted using CF-Root. This time using Heimdal from linux. Stock didn't fix things and you need root to access the partitions.
4. Format the efs! It's unusable and I made a backup, so in recovery:
Code:
linux# adb root
linux# adb shell
phone# mke2fs /dev/block/mmcblk0p3
Reboot the phone and voila! A booting phone, but obviously without serial number and a default IMEI. And some screen came up which I think means I was in factory mode. The data in the /efs partition has been rebuilt with a set of default files.
5. I edited some files in /efs/FactoryApp
Code:
linux# adb root
linux# adb shell
phone# cd /efs/FactoryApp
phone# echo -n ON > factorymode
phone# echo -n ON > keystr
phone# echo -n <xxxxxxx> > serial_no
Where <xxxxxxx> is your serial number, found under the battery. Not sure if this did anything useful, but the serial number no longer indicated 0000000 after that.
6. I flashed cm-10.1 again from recovery, because I was experimenting with EFSPro, which requires busybox on the phone. EFSPro doesn't do much for you in this case. So I don't think this is important.
7. Try to recreate an nv_data.bin from the damaged partition! In order to do this I pulled the rebuilt default nv_data.bin from the phone and compared it to efs.img created in step 1.
Code:
linux# adb root
linux# adb pull /efs/nv_data.bin .
linux# xxd nv_data.bin > nv_data.hex
linux# xxd efs.img > efs.hex
Now inspecting the nv_data.hex, it started out like:
Code:
0000000: cccc cccc cccc cccc cccc cccc cccc cccc ................
0000010: cccc cccc cccc cccc cccc cccc cccc cccc ................
0000020: 4d21 5317 00a0 a2f7 1435 5799 529d 129b M!S......5W.R...
0000030: 48bd ca0e 6249 1367 37a5 96c3 39da 19ea H...bI.g7...9...
0000040: 0000 0000 e000 0000 0200 7400 6c00 0000 ..........t.l...
0000050: 0000 0000 0000 8130 0100 0000 0000 0000 .......0........
0000060: ffff ffff ffff ffff ffff ffff ffff ffff ................
0000070: ffff ffff 0200 0000 333a 3476 2020 2020 ........3:4v
0000080: 5350 3632 3630 5f4d 305f 4d4f 4445 4d5f SP6260_M0_MODEM_
0000090: 3033 2e31 3332 375f 4442 3133 3037 3032 03.1327_DB130702
00000a0: 2032 3031 332d 4a75 6c2d 3136 2032 303a 2013-Jul-16 20:
00000b0: 3035 3a33 3020 0a20 2020 2050 4442 5f4e 05:30 . PDB_N
00000c0: 4f54 5f41 5641 494c 4142 4c45 200a 0000 OT_AVAILABLE ...
I then searched for "MODEM" in efs.hex and found several similar entries. So for the next step, you might have to try a few times. I found one at address 0600000:
Code:
0600080: 5350 3632 3630 5f4d 305f 4d4f 4445 4d5f SP6260_M0_MODEM_
0600090: 3033 2e31 3234 315f 4442 3132 3130 3038 03.1241_DB121008
06000a0: 2032 3031 322d 4e6f 762d 3136 2031 343a 2012-Nov-16 14:
06000b0: 3030 3a34 3920 0a20 2020 2050 4442 5f4e 00:49 . PDB_N
06000c0: 4f54 5f41 5641 494c 4142 4c45 200a 0000 OT_AVAILABLE ...
I then extracted a block of data with the size of nv_data.bin from efs.img starting at this address:
Code:
linux# dd if=efs.img of=new_nv_data.bin skip=12288 count=4096
"skip" indicates the offset (0x0600000) and "count" the filesize (0x0200000). I now had a recreated old nv_data.bin.
8. Put the recreated nv_data.bin on the phone and delete backups.
Code:
linux# adb root
linux# adb shell
phone# cd /efs
phone# rm nv_data.bin
phone# rm .nv_data.bak
phone# rm .nv_core.bak
phone# adb push new_nv_data.bin /efs/nv_data.bin
I rebooted the phone and miracle oh miracle. I had my original IMEI back! Not sure if the phone is in optimal condition, but I can make calls and I have mobile data.
Hope any of this may be of any help to anyone. It took me quite a while to figure things out !!

If this works, you have made an excellent work and i think this has to be stickied :sly:
Inviato dal mio GT-I9300 utilizzando Tapatalk

Well done fella, good work!
Sent from my GT-I9300 using xda premium

Hi SlashV,
Very interesting approach of one of the most frequent issues for I9300!
My case is as follows: I have recovered IMEI with more common methods: kTool,and..
- in 4.3 ROM's my IMEI and serial are ok ... and I have network ,but
- in CM11 or OMNI 4.4 my IMEI is correct but the serial number is wrong !
(and therefore I have no network)
Could you suggest, please, a way to read and/or repair the Serial number in CM11 ?!
( using Terminal Emulator would be also possible?)
Thanks in advance!

serial number in cm
stefan.slavici said:
Hi SlashV,
Very interesting approach of one of the most frequent issues for I9300!
Click to expand...
Click to collapse
Thanks.
stefan.slavici said:
My case is as follows: I have recovered IMEI with more common methods: kTool,and..
- in 4.3 ROM's my IMEI and serial are ok ... and I have network ,but
- in CM11 or OMNI 4.4 my IMEI is correct but the serial number is wrong !
(and therefore I have no network)
Could you suggest, please, a way to read and/or repair the Serial number in CM11 ?!
( using Terminal Emulator would be also possible?)
Thanks in advance!
Click to expand...
Click to collapse
I think my serial number got restored by step 5 of what I did even before I restored my original nv_data.bin, so you might try that. It's easy from the terminal and I'm fairly sure it won't hurt. Make a backup of you efs first!
However, I am somewhat surprised by your issue. How can the serial number change? I did notice CM shows a different serial for me than is on the sticker, so maybe I have the same issue, or CM just shows a different representation of the same number. Anyway, I have no network issues because of it. Maybe your network issues have to do with something else than the serial no?

SlashV said:
Thanks.
I think my serial number got restored by step 5 of what I did even before I restored my original nv_data.bin, so you might try that. It's easy from the terminal and I'm fairly sure it won't hurt. Make a backup of you efs first!
However, I am somewhat surprised by your issue. How can the serial number change? I did notice CM shows a different serial for me than is on the sticker, so maybe I have the same issue, or CM just shows a different representation of the same number. Anyway, I have no network issues because of it. Maybe your network issues have to do with something else than the serial no?
Click to expand...
Click to collapse
no! the serial number changed when i flashed CM11 but no network problem. and then it is back to the previous serial number when i flashed s4 evolution rom!

OMG
You are a genius
This Thread should be moved to General

Glad that the op got his imei & serial back, also that he's posted such detailed instructions (although I think a couple of them won't be necessary for most). For the majority of those who arrive at xda, after breaking their phone by flashing random things they didn't understand it will read like diy brain surgery.
Best option, as always, is to backup the efs -unfortunately it's usually far too late by the time they get to xda.
Sent from my GT-I9300 using Tapatalk

I also had a similar problem. I had IMEI but not valid serial (000000). I solved temporaly using Ariza Patch. But if I can restore the serial using your method.... then I MUST BUY YOU A BEER MY FRIEND!

Some news. In my case I have a correct IMEI but a wrong serial (000000). Resulting in a no network conenctivity.
I've tried modifing the efs.img directly by hand and adding the serial to the serial_no file (it's in plain text). Then I restored using ktool. And nothing. It still says 0000000.
So. Then I tried over adb as you did. echo -n <serial> > serial_no. The operation went succesfully but when I rebooted my phone it still shows 000000.
So I'm guessing (as excepted) these things have protection against tampered serials/imei. Maybe a hash somewhere... But I'm not willing to reverse engineer that (I don't even have the knowledge!).
So....I don't know how you did it. But that step alone doesn't restore the serial number.
---------- Post added at 02:45 PM ---------- Previous post was at 01:56 PM ----------
So I decided to took my investigation a little further.
I had an efs back up so I reproduced all your steps but only on linux.
The offsets of my nv_data.bin are the same as yours. I extracted my new_nv_data.bin from my efs.img (using dd). Then I compared the nv_data.bin extracted mounting the efs.img. They are the same. Not a single bit difference.
I guess it was expected. I just wanted to make sure there wasn't anything wrong with my efs backup.
So. This method really works if you lost you efs partition (corrupted). But In my case (efs not corrupted, IMEI ok, serial 0000), it didn't help.
I bet there's a solution floating around. But there's also a business behind this (all those boxes). So, I don't know if I will be ever be available to fix this by myself.

I'm starting to think that maybe the trick is to format efs (having a backup of course). But I don't know. I'm not that brave haha.
Changing the serial_no file does nothing. That doesn't work for sure. I've tried one more time using root browser and it didn't change from 00000.
Everything is inside nv_data.bin I think. Even the serial. But I guess nobody will tell me here how to correct that so I have network connectivity again without patching.
Anyway, I don't know why so secretive about all this info. I mean, all the boxes out there let you change you IMEI. I bet all the burglers out there already know how to do it. The only ones that still don't know how to do it are the honest people haha. Kind of ironic.

Because it's illegal and gets you five years. Follow the guides on how to restore your efs backup. Discussing imei changing will get the thread locked.
If you don't have backup then pay for a repair.
Sent from my GT-I9300 using Tapatalk

boomboomer said:
Because it's illegal and gets you five years. Follow the guides on how to restore your efs backup. Discussing imei changing will get the thread locked.
If you don't have backup then pay for a repair.
Sent from my GT-I9300 using Tapatalk
Click to expand...
Click to collapse
In my case my phone came like this. I can't return it because I bought it abroad.
I have a backup of my efs. I did restored it. But serial is still 0000. IMEI is FINE. I don't want to change IMEI. Just fix my EFS to have a proper serial. Only way of having connectivity back is ariza patch. But I would love to return my phone to factory state. That is not illegal.

Always wonder how the repair shops are able to restore. Still OP post is informational.

hyperorb said:
Always wonder how the repair shops are able to restore. Still OP post is informational.
Click to expand...
Click to collapse
Yes. Maybe formatting the EFS is the key. Because the phone will regerate a dummy one without errors. And then restore the files individually insted of the whole partition.
But... that's is just a guess. And I'm not willing to try it either. I will start worrying when Samsung releases a decent 4.3 version of the stock firmware. Until then I will stay on 4.1.2 with Ariza Patch.

Boxes
hyperorb said:
Always wonder how the repair shops are able to restore. Still OP post is informational.
Click to expand...
Click to collapse
I think they use tools like the SmartSamBox. I contacted the manufacturer and they claim that you can restore imei and serial with it. A box like that isn't even that expensive. I considered buying one before I tried my final "I must get lucky" shot described in this thread.

lost serial
Gonzakpo said:
I'm starting to think that maybe the trick is to format efs (having a backup of course). But I don't know. I'm not that brave haha.
Click to expand...
Click to collapse
If you dumped an image of it, it can't really hurt you imho.
Gonzakpo said:
Changing the serial_no file does nothing. That doesn't work for sure. I've tried one more time using root browser and it didn't change from 00000.
Everything is inside nv_data.bin I think. Even the serial. But I guess nobody will tell me here how to correct that so I have network connectivity again without patching.
Click to expand...
Click to collapse
Yeah, everything is in nv_data.bin. It's a pity I am not a 100% sure, but I really think I got the serial back though before restoring my original nv_data.bin. Changing the serial_no file now, doesn't do anything, like you say, but I added it to an /efs that was created from scratch after a format. Like you, I am a bit reluctant to try and reformat it again, just to see if that would work, but maybe I will. It won't help you though, because starting out with an /efs from scratch is not an option for you. You won't have an imei in that case.
Gonzakpo said:
Anyway, I don't know why so secretive about all this info. I mean, all the boxes out there let you change you IMEI. I bet all the burglers out there already know how to do it. The only ones that still don't know how to do it are the honest people haha. Kind of ironic.
Click to expand...
Click to collapse
Welcome to the World my Friend

Formatting /efs in fact results in automatic regeneration of file structure, just with a null (but still valid) data. By replacing important files with a working backup you can actually revive your phone, as long as you have valid core files.
Anyway, hats off for the solution. May help someone .
You could also try to mke2fs -n /dev/loop0 (with mounted efs.img), and then read superblocks and restore them with e2fsck -b block_number /dev/loop0.

Wow. Thank you for the answers. For a moment I though I was talking alone hahaha
Well. I made the jump and formatted the efs to see what happens. I was on stock 4.1.2 (the old EFS one == I9300XXELLC_I9300XEFELL1_I9300XXELKB)
Surprisingly, after a reboot the EFS wasn't restored for a dummy one. It was empty. I even tried a wipe from the recovery and it didn't work either.
Then I freaked out (haha) and restored my EFS backup and everything was back to normal.
Conclusion. 4.1.2 is no good for this method? Maybe I should try with stock 4.0.4?
SlashV, what firmware do you refere when you say "G4". Latest Android 4.1.2 (mg4 modem)?
I hope I can reproduce your method. So we can at least help the community with a more tested solution.

SlashV said:
Just to share a successful restoration of a damaged /efs partition on a i9300 without any backup. Maybe this will help someone save their phone or avoid having to send it in for repair. This appears to be the usual advice when the efs partition is damaged and you don't have a backup. You're fsck'ed. However, you might get lucky, like I did. Read on.
The story: I was running the phone with a custom built cm-10.1 and playing Candy Crush when the battery died. After that the phone wouldn't boot. After booting into recovery it appeared /efs wouldn't mount. That puts the phone in a boot loop. Desperation...
The key to the provided solution is that eventhough your parition is damaged, the relevant data (nv_data.bin) may still exist.
Here's what I did. Not all steps may be necessary, but this is what happened to work for me. The steps I think are crucial are highlighted.
!!!AS USUAL, TRY ANY OF THIS AT YOUR OWN RISK!!! In any case, only do this when your efs partition is damaged and won't mount, not when only files in it are missing or something else.
1. Create an image of /dev/block/mmcblk0p3. mmcblk0p3 is the device file for the partition that is mounted as /efs
I did this by logging into the phone while it is in recovery with adb:
Code:
linux# adb root
linux# adb shell
phone# dd if=/dev/block/mmcblk0p3 of=/data/efs.img
phone# exit
linux# adb pull /data/efs.img .
You now have an image of the efs partition. To verify that it is indeed broken, I did a filecheck on the image:
Code:
linux# losetup /dev/loop0 efs.img
linux# fsck /dev/loop0
That gave an "Invalid Superblock" message. The partition is indeed b0rked. No (obvious) way to rescue the filesystem.
2. I still didn't know what to do so I flashed a stock ROM (G4) using Odin. Still boot looping. Since I wasn't sure the partition table wasn't damaged and the efs partition was lost anyway, I decided to check "Repartition", which is generally discouraged, using a pit file downloaded from the forum.
3. I re-rooted using CF-Root. This time using Heimdal from linux. Stock didn't fix things and you need root to access the partitions.
4. Format the efs! It's unusable and I made a backup, so in recovery:
Code:
linux# adb root
linux# adb shell
phone# mke2fs /dev/block/mmcblk0p3
Reboot the phone and voila! A booting phone, but obviously without serial number and a default IMEI. And some screen came up which I think means I was in factory mode. The data in the /efs partition has been rebuilt with a set of default files.
5. I edited some files in /efs/FactoryApp
Code:
linux# adb root
linux# adb shell
phone# cd /efs/FactoryApp
phone# echo -n ON > factorymode
phone# echo -n ON > keystr
phone# echo -n <xxxxxxx> > serial_no
Where <xxxxxxx> is your serial number, found under the battery. Not sure if this did anything useful, but the serial number no longer indicated 0000000 after that.
6. I flashed cm-10.1 again from recovery, because I was experimenting with EFSPro, which requires busybox on the phone. EFSPro doesn't do much for you in this case. So I don't think this is important.
7. Try to recreate an nv_data.bin from the damaged partition! In order to do this I pulled the rebuilt default nv_data.bin from the phone and compared it to efs.img created in step 1.
Code:
linux# adb root
linux# adb pull /efs/nv_data.bin .
linux# xxd nv_data.bin > nv_data.hex
linux# xxd efs.img > efs.hex
Now inspecting the nv_data.hex, it started out like:
Code:
0000000: cccc cccc cccc cccc cccc cccc cccc cccc ................
0000010: cccc cccc cccc cccc cccc cccc cccc cccc ................
0000020: 4d21 5317 00a0 a2f7 1435 5799 529d 129b M!S......5W.R...
0000030: 48bd ca0e 6249 1367 37a5 96c3 39da 19ea H...bI.g7...9...
0000040: 0000 0000 e000 0000 0200 7400 6c00 0000 ..........t.l...
0000050: 0000 0000 0000 8130 0100 0000 0000 0000 .......0........
0000060: ffff ffff ffff ffff ffff ffff ffff ffff ................
0000070: ffff ffff 0200 0000 333a 3476 2020 2020 ........3:4v
0000080: 5350 3632 3630 5f4d 305f 4d4f 4445 4d5f SP6260_M0_MODEM_
0000090: 3033 2e31 3332 375f 4442 3133 3037 3032 03.1327_DB130702
00000a0: 2032 3031 332d 4a75 6c2d 3136 2032 303a 2013-Jul-16 20:
00000b0: 3035 3a33 3020 0a20 2020 2050 4442 5f4e 05:30 . PDB_N
00000c0: 4f54 5f41 5641 494c 4142 4c45 200a 0000 OT_AVAILABLE ...
I then searched for "MODEM" in efs.hex and found several similar entries. So for the next step, you might have to try a few times. I found one at address 0600000:
Code:
0600080: 5350 3632 3630 5f4d 305f 4d4f 4445 4d5f SP6260_M0_MODEM_
0600090: 3033 2e31 3234 315f 4442 3132 3130 3038 03.1241_DB121008
06000a0: 2032 3031 322d 4e6f 762d 3136 2031 343a 2012-Nov-16 14:
06000b0: 3030 3a34 3920 0a20 2020 2050 4442 5f4e 00:49 . PDB_N
06000c0: 4f54 5f41 5641 494c 4142 4c45 200a 0000 OT_AVAILABLE ...
I then extracted a block of data with the size of nv_data.bin from efs.img starting at this address:
Code:
linux# dd if=efs.img of=new_nv_data.bin skip=12288 count=4096
"skip" indicates the offset (0x0600000) and "count" the filesize (0x0200000). I now had a recreated old nv_data.bin.
8. Put the recreated nv_data.bin on the phone and delete backups.
Code:
linux# adb root
linux# adb shell
phone# cd /efs
phone# rm nv_data.bin
phone# rm .nv_data.bak
phone# rm .nv_core.bak
phone# adb push new_nv_data.bin /efs/nv_data.bin
I rebooted the phone and miracle oh miracle. I had my original IMEI back! Not sure if the phone is in optimal condition, but I can make calls and I have mobile data.
Hope any of this may be of any help to anyone. It took me quite a while to figure things out !!
Click to expand...
Click to collapse
dont work on my galaxy s3

Related

[Q] /efs recovery

Very bad news.
I appear to have had an accident with /efs. Not 100% sure what I did but suspect it related to a product code change.
My SGS2 now will not show an IMEI or connect to the cell network.
I connected with /adb and saw a number of files were updated earlier today
drwxrwxr-x 5 root root 4096 Jan 1 2000 .files
drwxrwxr-x 2 radio radio 4096 Jan 1 2000 imei
-rw-rw-rw- 1 radio radio 832 Jan 1 2011 nv.log
-rw-rw-rw- 1 radio radio 1 Jan 1 2011 .nv_state
-rwx------ 1 radio radio 32 Jan 1 2011 .nv_data.bak.md5
-rwx------ 1 radio radio 2097152 Jan 1 2011 .nv_data.bak
-rwx------ 1 radio radio 32 Jan 1 2011 .nv_core.bak.md5
-rwx------ 1 radio radio 1048576 Jan 1 2011 .nv_core.bak
-rw-r--r-- 1 root root 1 Jan 1 2011 cryptprop_rebootMode
drwx------ 3 system system 4096 Jan 1 2011 dmp
-rw-r--r-- 1 system system 14 Jan 1 2011 cryptprop_persist.sys.timezone
-rw-r--r-- 1 system system 9 Jan 1 2011 cryptprop_applied_result
-rwxrwxr-- 1 radio radio 880 Jan 1 2011 redata.bin
-rw-rw-rw- 1 system system 6 Aug 12 22:43 calibration_data
-rw-rw-rw- 1 system system 256 Oct 4 15:55 edk_p
-rw-r--r-- 1 system system 3 Nov 2 01:27 cryptprop_persist.sys.language
-rw-r--r-- 1 system system 5 Nov 2 15:21 cryptprop_lockscreen.patterneverchosen
-rw-r--r-- 1 system system 6 Nov 2 15:21 cryptprop_lockscreen.password_type
-rw-r--r-- 1 system system 5 Nov 2 15:21 cryptprop_lock_pattern_visible_pattern
-rw-r--r-- 1 system system 6 Nov 2 15:21 cryptprop_lock_pattern_tactile_feedback_ena
bled
-rw-r--r-- 1 system system 5 Nov 2 15:21 cryptprop_lock_pattern_autolock
-rw-r--r-- 1 root root 3 Nov 2 21:08 cryptprop_securewipedata
-rwx------ 1 radio radio 32 Nov 3 17:44 nv_data.bin.md5
-rwx------ 1 radio radio 2097152 Nov 3 17:44 nv_data.bin
-rw-r--r-- 1 system system 0 Nov 3 18:02 cryptprop_onetimeboot
drwxrwx--x 5 radio system 4096 Nov 3 21:23 .
drwxr-xr-x 21 root root 0 Nov 3 21:58 ..
You can see the changes to nv_data.bin.md5 and nv_data.bin -- I have no idea what crptprop_onetimeboot is but it looks a little suspicious.
Firstly I have a copy of the above as
- a directory on my sdcard
- a dd'd image on my sdcard
- a file copy on my PC (!)
I also see I still have backup files, so with a lot of difficulty (fs kept going read only when trying to copy files, so I ended up renaming the old name to the new name)
ie
.nv_data.bak -> nv_data.bin
.nv_data.bak.md5 -> nv_data.bin.md5
This didn't work (still no service/no imei), so I removed(renamed) the .md5 file -- but it still doesn't work
so it now looks like
# ls -latr
ls -latr
drwxrwxr-x 5 root root 4096 Jan 1 2000 .files
drwxrwxr-x 2 radio radio 4096 Jan 1 2000 imei
-rwx------ 1 radio radio 32 Jan 1 2011 nv_data.bin.md5.orig
-rwx------ 1 radio radio 2097152 Jan 1 2011 nv_data.bin
-rw-rw-rw- 1 radio radio 832 Jan 1 2011 nv.log
-rw-rw-rw- 1 radio radio 1 Jan 1 2011 .nv_state
-rwx------ 1 radio radio 32 Jan 1 2011 .nv_core.bak.md5
-rwx------ 1 radio radio 1048576 Jan 1 2011 .nv_core.bak
-rw-r--r-- 1 root root 1 Jan 1 2011 cryptprop_rebootMode
drwx------ 3 system system 4096 Jan 1 2011 dmp
-rw-r--r-- 1 system system 14 Jan 1 2011 cryptprop_persist.sys.timezone
-rw-r--r-- 1 system system 9 Jan 1 2011 cryptprop_applied_result
-rwxrwxr-- 1 radio radio 880 Jan 1 2011 redata.bin
-rw-rw-rw- 1 system system 6 Aug 12 22:43 calibration_data
-rw-rw-rw- 1 system system 256 Oct 4 15:55 edk_p
-rw-r--r-- 1 system system 3 Nov 2 01:27 cryptprop_persist.sys.language
-rw-r--r-- 1 system system 5 Nov 2 15:21 cryptprop_lockscreen.patterneverchosen
-rw-r--r-- 1 system system 6 Nov 2 15:21 cryptprop_lockscreen.password_type
-rw-r--r-- 1 system system 5 Nov 2 15:21 cryptprop_lock_pattern_visible_pattern
-rw-r--r-- 1 system system 6 Nov 2 15:21 cryptprop_lock_pattern_tactile_feedback_ena
bled
-rw-r--r-- 1 system system 5 Nov 2 15:21 cryptprop_lock_pattern_autolock
-rw-r--r-- 1 root root 3 Nov 2 21:08 cryptprop_securewipedata
-rwx------ 1 radio radio 32 Nov 3 17:44 nv_data.bin.md5.bk
-rwx------ 1 radio radio 2097152 Nov 3 17:44 nv_data.bin.bk
-rw-rw-rw- 1 root root 0 Nov 3 20:55 p
drwxrwx--x 5 radio system 4096 Nov 3 21:48 .
-rw-r--r-- 1 system system 0 Nov 3 21:52 cryptprop_onetimeboot
drwxr-xr-x 21 root root 0 Nov 3 21:58 ..
#
[/FONT]
I DID NOT BACKUP EFS beforehand (only just learnt I need to) and know this may now be screwed, but I'm still hopeful I have the original file and just made a silly error.
I could also
- try recreating the whole fs and copying files back
- checking the prod code within the rom (but why?)
- flashing original firmware
- modifying the dd'd image *offline*, swapping the files, and dd'ing the image back
Any advice. PLEASE....
if you have a backup the easiest way I have found is to use root explorer.
go in to the /efs folder, set to read/write, mark everything and delete (not scrictly necessary simply copying over will work) but if you have been tinkering probably better.
then paste all the back up files and folders in
finally reboot (in my experience when something has gone wrong even this is not necessary)
Root explorer is worth every penny
and keep multiple backup's of your /efs on different drives
If this does not work you are screwed. The file contains your IMEI encrypted and the only way to get that restored is by returning it.
oh I just realised you are saying the back up you have is only of it in the current state?
If that's the case you are probably screwed, have you ever used any apps like nitrality or any unlocking tools? they will create copies of your efs folder on the scard in various locations. have you run a file seach on you sdcard to see if there is any copies at all?
if you have no backups of this folder then I think you will find its a return to manufacturer / sevice centre / provider issue.
I *think* I have restored the files -- and the dates look reasonable, as if they were the originals.
I've now flashed an old ROM (KE5) for good measure, but still no signal
One discrepancy I did notice is that after installing a rom there was some bootup message about csc and XEU when copying files.
My original sales code was VOD (UK vodafone). I had then run XEU firmware and just recently tried to set the sales code to XEU using a *# code. I subsequently flashed back to vodafone firmware today.
So somewhere there's a lingering reference to XEU -- this prod code incompatability could be causing the error?
I definately feel I should have the data to fix this -- after all I have the encrypted file, but am not quite sure of all the factors involved (one being "you're stuffed I know")
type *#06# this should display you IMEI number
if this does not match your IMEI from the box then you have not fixed this
if it shows all zeros or 004999010640000 then you are on a generic IMEI number
strangely when I screwed mine up and got the generic one above I was still able to use mine with a vodafone (UK) sim but not an orange on
if this is the case, and there is no efs backup prior to this you might well be screwed.
if this backup is all you have an you believe the .bak file is intact then I believe you will find solutions for deleting the primary version of the file and keeping only the backups and rebooting
the log file should give you more information on how successful this was, but if this was the result of flashing you probably overwrote both primary and backup
*#1234# is returning a reasonable CSC I9100VODKE2
Checking the nv data files, it appears
- the new ones modded today contain XEU
- the original ones contain VOD
This is consistent with what happened, so I am still confused why the renamed original files do not work, and why there's a reference to multi-csc XEU during bootup.
Some remnant of XEU?
*#06# is currently showing blank -- but those .bak files looked fine.
Annoyed and frustrated...
In that case I would try deleting nv_data.bin and nv_data.m5 and rebooting
(assuming you have copies of everything
with just nv_data.bak nv_data.bak.md5
At least with the SGS1 this would work provided those bak files are the originals but the nv.log file will tell you more after the boot.
HOWEVER the SGSII has a lot more in this folder and I do not claim to fully understand them all but if you have a back up it's worth a shot
planetf1 said:
*#1234# is returning a reasonable CSC I9100VODKE2
Checking the nv data files, it appears
- the new ones modded today contain XEU
- the original ones contain VOD
This is consistent with what happened, so I am still confused why the renamed original files do not work, and why there's a reference to multi-csc XEU during bootup.
Some remnant of XEU?
Click to expand...
Click to collapse
Took some inspiration from http://www.communityhosting.net/sgsunlock/i9000.html and decided to check permissions & recreation of md5.
md5 wasn't recreated, so no matter, I had a backup. that is restored, but I don't know if the .bak files are needed. Yet trying to create them I get:
# mv nv_data.bin.md5.orig nv_data.bin.md5
mv nv_data.bin.md5.orig nv_data.bin.md5
# cp nv_data.bin .nv_data.bak
cp nv_data.bin .nv_data.bak
cp: write error: Read-only file system
#
This isn't a space issue.
There could be another cause -- /efs/imei/mps_info.dat contains the 3 characters "XEU" even though the file is dated Jan 2011
So either
- the date has been manually fudged
OR
- the code always was XEU -- unlikely.
I'm currently working on the basis that fundamentally the IMEI is intact, that the original nv_data.bin is intact & that the phone is validating the CSC in mps_info.dat (XEU) against nv_data.bin (VOD) and failing.
Though this wouldn't explain why before the fix, with XEU in the nv_data.bin, it wasn't working
Unless the issue is the filesystem itself. could it be corrupt? Is this in fact why it switched to R/O mode each time? I've tried multiple kernels including insecure. surely they wouldn't all "protect" this fs.
But if this is the case where is fsck? maybe I need to copy the fs image to another linux box with ext4 & inspect/correct before shipping back and dd'ing
Continuing.
Found /system/bin/e2fsck -- ran this against /efs with
# /system/bin/e2fsck /dev/block/mmcblk0p1
/system/bin/e2fsck /dev/block/mmcblk0p1
e2fsck 1.41.11 (14-Mar-2010)
ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determini
ng whether /dev/block/mmcblk0p1 is mounted.
/dev/block/mmcblk0p1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found. Create<y>? y
yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: -(3202--3203) +4104
Fix<y>? yes
/dev/block/mmcblk0p1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/block/mmcblk0p1: 60/1280 files (1.7% non-contiguous), 2188/5120 blocks
**** >>> I NOW HAVE AN IMEI <<< ****
AND SIGNAL
LOGGED ONTO VODAFONE
WOOOHAY.
THIS HAS BEEN FUN. LOOK AND LEARN..
and seriously thanks to all the other articles and some moral support here tonight.
Going to put back proper firmware , remove dodgy kernels and GET A BIG BEER OR THREE
planetf1 said:
Continuing.
Going to put back proper firmware , remove dodgy kernels and GET A BIG BEER OR THREE
Click to expand...
Click to collapse
and make several backups of the /efs folder in its current state one would assume
Phone seems working. restoring over a HSPA connection happily, recognized voda sim.
now reinstalling titanium backup and copying down from dropbox...
The final step was restoring from titanium backup.
I had erased my sdcard -- though my backup was on dropbox.
However titanium backup is awful at copying files to/from dropbox -- as is IMO the phone when in "phone/kies" mode.
Finally I simply copied the dropbox directory back in USB debug=mass storage mode which was quick and reliable -- and then restored most items en-masse (I have a pro license).
For the record so far phone is fine - and indeed I've since run a new efs backup
The key takeaways from this are
* Backup efs and save it somewhere offline
* get titanium backup pro. it's good (better if it backed up efs too!)
* usb mass storage mode is the most reliable way for file xfer
* backup efs (again)
* don't get complacent
And of course if you do get a similar problem to mine
a) take a backup of efs with dd if=/dev/mmcXXX of=/mnt/scard/myefs.img (check name - I forget)
b) copy files you can to sdcard
c) copy both of this to a seperate pc
d) Just try running fsck (as above) - If I'd done this sooner I'd have saved hours. I should have gone with the obvious -- I've seen this on enough linux systems in the past to know what was happening but was thrown by no kernel messages.
Thanks for letting us know, might be a nice reference for future problems, especially the filesystem check.
Writing about it also helped keep me sane.giving up and hitting the beer was becoming increasingly attractive.
I do think making the warning about efs clearer would help.backup really should be a must at the earliest opportunity
Sent from my GT-I9100 using Tapatalk
Another thought.do unmount /efs before fsck
Sent from my GT-I9100 using Tapatalk
Unable to restore
I know I had a valid IMEI during the last week or so.
I have flashed several ROM's during the last month.
Last night lost IMEI
Now , no matter what I try, I can't seem to restore my IMEI. I have the fake one that ends in a bunch of zero''s
My SDCARD has a folder called EFS_BACKUP with multiple efs_xxxxxxx.tar.gz files in it. If I extract any of these and try to restore them to the /EFS folder I still have the fake IMEI number.
Please help - I didn't understand all the adb code in this post
Hi there,
/efs is fairly new to me too, to be honest it took hours of careful rooting before I gained some useful knowledge in how that area works.
-- what I would suggest before *anything else* is to copy anything you do have left in /efs. You will need to be root to do this. I found the gui root explorer type tools a bit clunky so I used the android SDK (adb is one of the tools in this package) to help. IF YOU NEED HELP WITH THIS SAY. You need to copy the files to multiple places for safety. Someone OFF your phone, ie on a PC. This is just in case things get worse. Do the same with any of those .gz backups you have. Maybe you'll need them *if* you make things worse...
If you're familiar with linux/unix systems this is all fairly easy, but if you're not it can be quite scary. For example you have to be able to write to /efs as well as list files and move them around. One wrong step and you could make things worse.
If you're unsure perhaps you could find a friend who knows *nix well to help you out. The bottom line is that you need to
a) ensure the right files are in there
b) The filesystem itself was intact
I definately suffered from b -- less sure about a.
What you need to do will depend a fair bit on what files you find in there, and what dates they are.
You said you had some backup files. Are you sure you have some from before the problem started? Can you look inside those backup files (I think winzip or similar will expand them for you). WIthout divoluging the actual contents (since you don't want to share your IMEI with anyone), is there an nv_data.bin file in there? Out of all the files it seems to be the most critical. When's it dated (mine was Jan 2011). If you cant' find that file how about .nv_data.bak - is that a good size, and again an old one.
If you have either of these -- even without anything else I think you can probably recover.
If you can get up and running with adb, a good start would be
adb shell
ls -laR /efs
Thank you very much, fsck method fixed my efs. Phone just broke it while doing nothing :/
I love you
You just saved my Galaxy S2
Yay. Brilliant news

[HOWTO] [root required] Remove network lock using nv_data.bin

DISCLAIMER
NB Same info as in thread by dagentooboy for Galaxy S unlock, which I used on the two Galaxy S' I owned and two others. Thanks should be sent on to them
NB I have seen the thread in Galaxy S II Original Android Development but that method adds too much complication
NB Tested on my Galaxy S II International which was network locked to Three
[PHONE MUST BE ROOTED]
To check if you have Network Lock type *#7465625# into phone dialer
1. Using root explorer or adb copy nv_data.bin and the md5 sum for that file from /efs
For adb or terminal emulator type:
su
cat /efs/nv_data.bin >> /sdcard/nv_data.bin
cat /efs/nv_data.bin.md5 >> /sdcard/nv_data.bin.md5
!!Keep a backup of these files!!
2. Using a hex editor go to hex address 181468 You should see FF 01 00 00 00
In order the blocks after FF are:
Network Lock
Network Subset Lock
SP Lock
CP Lock
3. The first block after FF with 01 is the network lock. Change this to 00
4. Delete nv_data.bin and the md5 for it. Put the edited nv_data.bin on sdcard root (KEEP YOUR BACKUP)
In adb or terminal emulator:
su
rm /efs/nv_data.bin
rm /efs/nv_data.bin.md5
cat /sdcard/nv_data.bin >> /efs/nv_data.bin
chmod 755 /efs/nv_data.bin
chown radio.radio /efs/nv_data.bin || chown 1001.1001 /efs/nv_data.bin
reboot
DONE
Thank you very much for this post - I am awaiting my UK 32gig SGS2 which I believe is locked to Orange UK - rooting it then following your instructions should be fairly straight forward. I have no idea what fw version it is likely to have - all I know is that its brand new, white and 32gig.
I took the plunge from my Desire HD so fingers crossed I will be happy with my decision to change!
Thanks again for your post...
No problem. Glad it was a help. Thought it should be posted in his forum as well as the same method that worked for the SGS1 works for the SGS2.
Congrats on the purchase. You'll love the phone. Have had mine for a few weeks and it's been great.
I have spend many hours going through XDA dev forums to prepare for the arrival of the SGS2 and I am still trying to work out what ROM to go for.
I recently moved to MIUI on the Desire HD and am really enjoying the difference between this and the HTC Sense bloat. I'm hoping that the extra screen and power of the SGS2 will make me prefer this device as the Desire HD is an old but well respected bit of kit.
The SGS2 looks simple enough to root so, hopefully, over the weekend I'll get it rooted unlocked and have a rom that I can start to tinker with.
Thanks again!
---------- Post added at 05:46 PM ---------- Previous post was at 05:44 PM ----------
http://forum.xda-developers.com/showthread.php?t=1064978&page=36
Incidentally, how does your method differ from the APKs that unlock the sim on these devices?
Rooting is very easy. Just get CF_ROOT for your firmware version. Chainfire has been making the best rooting kernels.
This method lets you do it yourself. The apps work but sometimes won't depending on the phone, not really sure why tbh, but didn't work on my phone so I used this method.
DISCLAIMER
NB Same info as in thread by dagentooboy for Galaxy S unlock, which I used on the two Galaxy S' I owned and two others. Thanks should be sent on to them
NB I have seen the thread in Galaxy S II Original Android Development but that method adds too much complication
NB Tested on my Galaxy S II International which was network locked to Three
[PHONE MUST BE ROOTED]
To check if you have Network Lock type *#7465625# into phone dialer
1. Using root explorer or adb copy nv_data.bin and the md5 sum for that file from /efs
For adb or terminal emulator type:
su
cat /efs/nv_data.bin >> /sdcard/nv_data.bin
cat /efs/nv_data.bin.md5 >> /sdcard/nv_data.bin.md5
!!Keep a backup of these files!!
2. Using a hex editor go to hex address 181468 You should see FF 01 00 00 00
In order the blocks after FF are:
Network Lock
Network Subset Lock
SP Lock
CP Lock
3. The first block after FF with 01 is the network lock. Change this to 00
4. Delete nv_data.bin and the md5 for it. Put the edited nv_data.bin on sdcard root (KEEP YOUR BACKUP)
In adb or terminal emulator:
su
rm /efs/nv_data.bin
rm /efs/nv_data.bin.md5
cat /sdcard/nv_data.bin >> /efs/nv_data.bin
chmod 755 /efs/nv_data.bin
chown radio.radio /efs/nv_data.bin || chown 1001.1001 /efs/nv_data.bin
reboot
DONE
but small confusion in hex edit
my model is I9100
country uk
carrier tmobile
for me i edit this address:
2. Using a hex editor go to hex address 18145C You should see FF 01 00 00 00
In order the blocks after FF are:
Network Lock
Network Subset Lock
SP Lock
CP Lock
3. The first block after FF with 01 is the network lock. Change this to 00
Not trying to flame or anything but all I did was download a free app from the market and it did all this for me, even backed up the efs!
= What are you even doing asking whether or not you should root your phone on XDA?! =
does this work on ics??? Thanks!
davidheffernan said:
DISCLAIMER
NB Same info as in thread by dagentooboy for Galaxy S unlock, which I used on the two Galaxy S' I owned and two others. Thanks should be sent on to them
NB I have seen the thread in Galaxy S II Original Android Development but that method adds too much complication
NB Tested on my Galaxy S II International which was network locked to Three
[PHONE MUST BE ROOTED]
To check if you have Network Lock type *#7465625# into phone dialer
1. Using root explorer or adb copy nv_data.bin and the md5 sum for that file from /efs
For adb or terminal emulator type:
su
cat /efs/nv_data.bin >> /sdcard/nv_data.bin
cat /efs/nv_data.bin.md5 >> /sdcard/nv_data.bin.md5
!!Keep a backup of these files!!
2. Using a hex editor go to hex address 181468 You should see FF 01 00 00 00
In order the blocks after FF are:
Network Lock
Network Subset Lock
SP Lock
CP Lock
3. The first block after FF with 01 is the network lock. Change this to 00
4. Delete nv_data.bin and the md5 for it. Put the edited nv_data.bin on sdcard root (KEEP YOUR BACKUP)
In adb or terminal emulator:
su
rm /efs/nv_data.bin
rm /efs/nv_data.bin.md5
cat /sdcard/nv_data.bin >> /efs/nv_data.bin
chmod 755 /efs/nv_data.bin
chown radio.radio /efs/nv_data.bin || chown 1001.1001 /efs/nv_data.bin
reboot
DONE
Click to expand...
Click to collapse
simple and easy, since it took me few hour on seeking network code by using HEX-WORKSHOP, this took me just in few minutes, it's great... cheers!!!!
this is like a one click method for sim unlock S2 i9100p
http://forum.xda-developers.com/showthread.php?t=1360174
Even you can't get the unlock code - copy the patch file back, will work.
Tested with Galaxy S2 GT-i9100P
Orange UK
Thanks
Adnan
P.S. Sorry there will be few clicks
-edit and delated
sundar83 said:
DISCLAIMER
NB Same info as in thread by dagentooboy for Galaxy S unlock, which I used on the two Galaxy S' I owned and two others. Thanks should be sent on to them
NB I have seen the thread in Galaxy S II Original Android Development but that method adds too much complication
NB Tested on my Galaxy S II International which was network locked to Three
[PHONE MUST BE ROOTED]
To check if you have Network Lock type *#7465625# into phone dialer
1. Using root explorer or adb copy nv_data.bin and the md5 sum for that file from /efs
For adb or terminal emulator type:
su
cat /efs/nv_data.bin >> /sdcard/nv_data.bin
cat /efs/nv_data.bin.md5 >> /sdcard/nv_data.bin.md5
!!Keep a backup of these files!!
2. Using a hex editor go to hex address 181468 You should see FF 01 00 00 00
In order the blocks after FF are:
Network Lock
Network Subset Lock
SP Lock
CP Lock
3. The first block after FF with 01 is the network lock. Change this to 00
4. Delete nv_data.bin and the md5 for it. Put the edited nv_data.bin on sdcard root (KEEP YOUR BACKUP)
In adb or terminal emulator:
su
rm /efs/nv_data.bin
rm /efs/nv_data.bin.md5
cat /sdcard/nv_data.bin >> /efs/nv_data.bin
chmod 755 /efs/nv_data.bin
chown radio.radio /efs/nv_data.bin || chown 1001.1001 /efs/nv_data.bin
reboot
DONE
but small confusion in hex edit
my model is I9100
country uk
carrier tmobile
for me i edit this address:
2. Using a hex editor go to hex address 18145C You should see FF 01 00 00 00
In order the blocks after FF are:
Network Lock
Network Subset Lock
SP Lock
CP Lock
3. The first block after FF with 01 is the network lock. Change this to 00
Click to expand...
Click to collapse
The same for me I got 18145C and not 181468 but...Yersterday I was able to unlock it,then I uninstall the root flashing back the firmware brand A1 nad...the handy was back sim lock.Today I have done everything again,root,delated the two file,edited the bon file in line 18145C changeing 01 to 00 but...thi time nothing worked .My question is:Maybe I must delaate olsoo some .bak files?There is a different root that after,to unroot it ,I musent refash it?I think Is the falsh the problem (maybe).Any suggest?
Thank's
Helen
Thanks it work's for me with some different methode by my self.
Will this method work on any phone? I used it a few years ago on a galaxy gio, but now I need to unlock a galaxy grand prime, so I'm wondering if this is usable only on older devices. I'm asking without trying it myself because the phone in question is not mine, so I don't have it at the moment.
hi ... im trying to unlock samsung galaxy s3 sgh1747m.
i cant find the nv_data.bin file . anyone can help plz? where is this located?
in efs folder i can t see anything.
ty vm
T-Mobile Austria will remove own Locks for free.
Currently it is not success story, but may be it could helps to somebody.
I bought an old S2 with broken display as parts replacement for my phone. So, I swap mainboard and after succeed flashing of Android 7 I find out that network was locked.
S2 Spec:
Exactly similar Problem was found here.
Model > GT-I9100
Android-Version > 4.0.4
Band > I9100BOLP7
Kernel-Version > 3.0.15-1056084, [email protected]#3
Build > IMM76D.BOLPM
1. This tread does not help me, after reboot that was no Network code asked, but always shown "no SIM" instead.
2. I try this app, but it could not find any code for me.
3. I try app from Helroz and it manage to find some code, but shown me only � � � Symbols instead of the code...
4. I found this app. And after run it was saying that it could do the job for some EUR. However at the "Details" of the app I find out the MCC MNC code and check it here. I find out that it was belongs to T-Mobile Austria. After google it I found this and this FAQ. Based on last one I goes to support the via Chat. The offer me unlock code for 50 EUR, but after I point to the last FAQ, they ask me to use Web Contact to solve this issue. So, I also open a ticketed via Contact here. My point was that I bought phone on Ebay few days ago and based on information in last FAQ it should be unlocked for free. I attach screenshots of the Bills copies from Ebay and PayPal. And after 1 Hour I got an Email with Code.:laugh:
Unfortunately Phone is hanging on the "Requesting SIM Network unlock code" Message, seems I need to go back to stock Android first and try again...
At home a apply an old android 4.1.2 from Sammobile together with pit from here file was in "3 parts Firmware".
Android-Version > 4.1.2
Band > I9100BOLP9
Kernel-Version > 3.0.31-889555, [email protected] #3
Build > JZO54K:I9100WLSD
Basically if you boot directly after flash you will see password enter prompt, that"s because we are back from Android 7 to 4 and we need to boot into recovery mode and wipe everything that can be wiped under it. After this action phone will let you normally boot. During the boot I saw prompt to enter Network Lock Code. That was a time to check if it works:fingers-crossed:
After I entered code - it booted and works perfectly on Android 4.:laugh:
I will do upgrade back to the newest ROM, hope this Lock will never back.
Also I think that this tread solution could help if I knew about the lock before to flash it with Android 7, but only rooting instead.
Does this works for Samsung Galaxy Ace 3 S7275R ?
I just founded that this app work with S2 too, not just S1..
https://play.google.com/store/apps/details?id=com.helroz.galaxysunlock
Sent from my GT-I9100 using XDA Labs
no such file found ...but i have service its crazy .....any ideas? sm-g920p sprint on boost
can be work on J200F ?

Galaxy S III adb shell error

I was looking up the partition layout of the Galaxy S III while I stumbled upon this problem.
The first time you run a command in 'adb shell' everything is fine, but when you try to run a second command, it just hangs. It doesn't crash, it just hangs.
So, I tried to find out what could be wrong, by doing the following: Instead of going into the shell itself, I just entered a semi-random command 'adb shell mount', which returned the normal result.
Then, I typed 'adb shell' and guess what? It returns a commonly known error: 'error: protocol fault (status 72 6f 6f 74?!)'
The status code is HEX, which translates to: 'error: protocol fault (status root?!)'
So I suppose this has something to do with the fact that my SGS3 is rooted.
I don't feel like unrooting it, but if someone would be so kind to test this on an unrooted SGS3 and report back the results here so we can investigate this further that would be greatly appreciated.
it works without any error.
do you know what to backup which contains kernel and ramdisk ?
Mine is rooted, with Omega Rom V3 and everything works perfect with adb.
Cranck said:
Mine is rooted, with Omega Rom V3 and everything works perfect with adb.
Click to expand...
Click to collapse
Have you tried multiple shell commands? I know adb functions, but it's about using adb shell.
I'm on the stock rom, rooted manually with CF's insecure kernel by the way.
I'm not sure this is related, but there is some very suspicious new functionality in the FactoryTest.apk, called "SysScope". Its some kind of service checking and verifying the authenticity of "something". But I have no idea of what, only that a related java file (ResultCode.class [sysscope.service] contain the following code segment:
Code:
[SIZE=2] arrayOfResultCode[0] = OK;
arrayOfResultCode[1] = ADB_RUNNING_AS_ROOT;
arrayOfResultCode[2] = PARTITION_TAMPERED;
arrayOfResultCode[3] = ROOT_PROCESS_FOUND;
arrayOfResultCode[4] = DANGEROUS_FILE_DETECTED;
arrayOfResultCode[5] = NOT_OFFICIAL_BINARY;
[/SIZE]
Then it looks for SysScope files in the SysScopeVerifyer.class like this:
Code:
[SIZE=2]/data/app/com.sec.android.app.sysscope-1.apk
/data/app/com.sec.android.app.sysscope-2.apk[/SIZE]
I suggest you to back these up, and then replace them, with empty files of the same name, and see what happens.
I have the exact same problem on the GS2, OneX, and OneS. I have no problem shelling into the devices using another system, but on one of my computers I have the same issue. Windows 7 64bit with jdk7 installed.
Also, I enabled adb trace to see what was being returned: set ADB_TRACE=all
-Entering ls three times on the OneX, the first time works correctly
Code:
ls
system/core/adb/commandline.c::stdin_read_thread():stdin_read_thread(): post uni
x_read(fdi=0,...)
system/core/adb/commandline.c::stdin_read_thread():stdin_read_thread(): pre unix
_read(fdi=0,...)
system/core/adb/commandline.c::read_and_dump():read_and_dump(): post adb_read(fd
=101): len=5
ls
system/core/adb/commandline.c::read_and_dump():read_and_dump(): pre adb_read(fd=
101)
system/core/adb/commandline.c::read_and_dump():read_and_dump(): post adb_read(fd
=101): len=32
acct
cache
config
cwkeys
d
system/core/adb/commandline.c::read_and_dump():read_and_dump(): pre adb_read(fd=
101)
system/core/adb/commandline.c::read_and_dump():read_and_dump(): post adb_read(fd
=101): len=318
data
default.prop
dev
devlog
etc
firmware_dsps
firmware_q6
firmware_radio
firmware_wcnss
init
init.elite.rc
init.goldfish.rc
init.qcom.rc
init.qcom.sh
init.rc
init.target.rc
init.usb.rc
mnt
proc
root
sbin
sdcard
sys
system
tombstones
ueventd.goldfish.rc
ueventd.rc
vendor
[email protected]:/ $ system/core/adb/commandline.c::read_and_dump():read_and_dump()
: pre adb_read(fd=101)
ls
system/core/adb/commandline.c::stdin_read_thread():stdin_read_thread(): post uni
x_read(fdi=0,...)
system/core/adb/commandline.c::stdin_read_thread():stdin_read_thread(): pre unix
_read(fdi=0,...)
ls
system/core/adb/commandline.c::stdin_read_thread():stdin_read_thread(): post uni
x_read(fdi=0,...)
system/core/adb/commandline.c::stdin_read_thread():stdin_read_thread(): pre unix
_read(fdi=0,...)

[SOLVED]-[BRICKED]SHV-E160L Korean model

I Have decided that this thread has served it's purpose and will now be closed to future posts. Please direct and 'non' SHV-E160L post's to
Brixfix V2
Please can all Ongoing jobs/works migrate to the above thread.
-----------Final Notes--------------
It has been mentioned many times that i should go back and correct the information below, i started to correct a few post's then realized i was removing the flavour in change of colour and size, parts of this thread documents my mistakes, assumptions and general lack of understanding of how we NOOBS post on XDA, It's with that in mind that i have decided to leave the mistakes in, so you can see in writing what i gained from the support of other Devs here.
Now, if you are NOOB in anyway or have a few questions please click HELP
If you are bricked and need help, read this thread first, there is NO one CLICK solution for anything, even this mentioned device.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
So you Brixed/bricced/BOD/QDL/EDLOAD/QHS-USB/05c6:9008/05c6:9025/ your device? Need a Oil and brush , Need help, follow this
One, Rules
Two, Understanding
--------------------------------------------------------------------------
Tip From the Author,
Some of you may have noticed that i did not start the original thread with a question, I did something my mentor taught me at around 9 years old but didn't put into good use until much later in life.
The tip is write things down as a question for yourself, in the writing process you get to pass the information past the part of your brain that interprets information, virtual sounding board, before posting as a question for others.
--------------------------------------------------------------------------
New Tools for debricking, goto
Brixfix V2
---------------------------Further Info Info -----------------------------
** I have Since Fixed the device and developed soultions for non shv-e160l devices. Prior posts are undergoing edit's for corrections.
** if you want the glory shot, sorry you will just have to read through.
** If you are selling this as a solution, dont. I know who you are.
---------------------------Original Post-----------------------------
Hi All
As i mentioned on this thread http://forum.xda-developers.com/showthread.php?p=32231827#post32231827 i will be attempting to come up with a home grown debrick solution for a SHV-E160L samsung note from korea.
I will use the forum to document what i am doing, i am very new to this so correct me please if i am wrong. I have never done Android dev work at any time but i have a very good understanding of the logic behind it all. `
Things i Have :-
Phone ( SHV-E160L)
bus pirate v3 with jtag firmware
openocd compiled on ubuntu and centos 6
smd jtag adapter and relay wire ( magnetic wire)
things i still need :-
openocd target config file for MSM8660 Snapdragon cpu (and a better understanding of eMMC access, how to load boot loaders either into ram or eMMC or trigger fail over boot to sc-card, USB via software or X0M/Boot pins)
assembled jtag (it's the smallest soldering i've ever seen)
.PIT file for 32GB model (if someone could pull the .PIT file from a working unit I would be happy, specify your radio/kernel versions when uploading)
micro fine solder iron tip and 20w iron (i've got 60w but too high for this type of work)
Does anyone have a idea of the SD-CARD partition layout, files for snapdragon devices, google has given me much for other devices but not a snapdragon .
Another question, I've used the USB jig to trigger 301K mode USB-Factory and seen no activity in dmesg for usb devices, i've yet to try windows, does windows/linux behave in a different way when it comes to usb , as in windows see's the qualcom usb mode but not linux ? does the usb client device always start the comms?
using the 615K usb jig i get nothing too, no pbl message from samsung (hence i am led to think is's the pbl/sbl thats damaged)
My understanding up boot is as follows
iROM code
This loads basic settings to boot the PBL (iROM is in rom) the PBL is loaded into radio(modem) cpu and then loads the SBL(s)
PBL/SBL stored in eMMC at address ????? (need to document the address for the masked access to eMMC and jtag/openocd access unmasked access)
Once the SBL is loaded you with have the ODIN mode (USB/UART)
from what i can see of commercial JTAG boxes is the access the radio cpu via jtag, write a new PBL/SBL to the eMMC then halt/reset cpu which now loads the new bootloaders, (resurrect dead body)
The openocd TAP id for the cpu should be 0x105310E1 but thats a number i got from a riff box log, not any actual testing ( still need to solder the fine pitch connector)
Here is a log from a riff box, not sure if the address's are usable accross to opencd
Taken from gsm-forums:-
Open serial port...OK
Connecting to the RIFF Box...OK
Firmware Version: 1.33, JTAG Manager Version: 1.44
Selected Resurrector: [Samsung E160K V1.0.4535.7001]
Connecting to the dead body...OK
Detected dead body ID: 0x105310E1 - IGNORED!
Set I/O Voltage reads as 1.79V, TCK Frequency is RTCK
Adaptive Clocking RTCK Sampling is: [Sample at MAX]
Resurrection sequence started.
Establish communication with the phone...OK
Initializing internal hardware configuration...OK
Uploading resurrector data into memory...OK
Starting communication with resurrector...OK
Detected an Initialized FLASH1 Chip, ID: 0x0015/0x0000 (KTS00M, 0x0003AB400000 Bytes = 14.68 GB)
Detected an Initialized FLASH2 Chip, ID: 0x0015/0x0000 (KTS00M, 0x000000200000 Bytes = 2.00 MB)
Flashing the dead body...OK
Resurrection complete!
Click to expand...
Click to collapse
I did notice one thing, the riff box opens the serial port, i wonder if they load PBL+SBL into memory, reset the cpu, then using the serial connection activate download mode ? (like on the captive)
I also dont know how the cpu (jtag TAP id? ) and flash variables translate accross to openocd as ive not found a target config file yet ( or my searching is wrong)
in the full stock Firmware I was able to extract the .tar file which contained,
Code:
amss.bin <-- application cpu boot files ?
boot.img <-- kernel/initrd ramdrive
mdm.bin <-- modem cpu boot files
recovery.img <--- recovery image
system.img.ext4 <---- rest of the system applications
so i think we have the two cpu firmware/boot loaders in the .bin files, these bin files are just fat32 images, to access in ubuntu use
Code:
mount -o loop mdm.bin /mnt/mdmmountlocation
My guess is my first approach is getting the right PBL/SBL into the system and getting some feed back via uart, i have the jtag pinouts and further reserach says there is a UART2 on the jtag header, so when soldering up my jtag adapter i will include all pins if i can and sniff for serial logic, i happen to have a Open source logic sniffer, great tool as i do a lot of hacking into serial devices like scales and till printers .
back to topic.
When i do get to the jtag part at a minimum i should have access to the modem radio, afaik jtag devices connect in chains and most of the IC's that have jtag on the phones board all should link to the master device (i am thinking it's the modem cpu, no application) and that the Two cpu's share the eMMC memory some how, or it could be one cpu loads it into the other (it is connected via jtag down the chain) .
hopefully someone could correct me there.
Most of this is theory and my guess work, correct me if you find a mistake. most of the research is only over a few days too so i am far from finished there, does not help that most of the users speak a language that google translate just does not have a flair for.
Most of the info seems to suggest the modem cpu is the first inline so i decided to look further into the files there, notice the mdm.bin file is 23Mb, thats large, when mounted i notice the is a folder called 'image' ( amms.bin has folder called IMAGE , note the case difference, dont yet know whay)
in image folder we have :-
Code:
1.3M Sep 30 13:07 AMSS.MBN
35K Sep 30 13:07 DBL.MBN
2.2M Sep 30 13:07 DSP1.MBN
19M Sep 30 13:07 DSP2.MBN
40 Sep 30 13:07 EFS1.MBN
40 Sep 30 13:07 EFS2.MBN
40 Sep 30 13:07 EFS3.MBN
295K Sep 30 13:07 OSBL.MBN
Ah, i see amss.mbm , that must be the boot loader for the application cpu, DBL.MBM seems to be the PBL , OSBL.MBM could be the SBL
then there is the DSP/EFS files, I did do the command strings on all the files,
DBL.MBM does not have any text in the file that points to being able to do UART on boot, all text seems internal like pointers and references to the original build files e.g
Code:
D:\Q1LGT_MDM\MDM9600\modem_proc\core\boot\secboot2\dbl\target\mdm9x00\src\dbl_ddr.c
9x00B-SCAQSVZM-31613102
D:\Q1LGT_MDM\MDM9600\modem_proc\core\boot\secboot2\dbl\target\mdm9x00\src\dbl_sahara.c
but it also does contain data like this
Code:
auth_image
@[email protected]
@configure_hw
@flash_init
l0:eek:SBL
load_osbl_img
@DBL, Start
hw_init
so it looks more likley that dbl is first in the chain, it refers to loading osbl and configure hardware, i wonder if it means USB/UART at this stage or setting up ram and other GPIO's
in OSBL.MBM we have more interesting text
Code:
MbP?
Unable to attached to ChipInfo DAL
SAMSUNG
TOSHIBA
Flash: Failed to do initialization for probe!
ONFIx
0:ALL
Flash: Multi 2X page read not supported!
Flash: Multi 2X page write not supported!
boot_qdsps
OSBL
hw_init
hw_init_secondary
OSBL, Start
create_vector_table
ram_init
retrieve_shared
clobber_add_protection
mmu_flush_cache
OSBL, End
OSBL, Delta
osbl_sahara_load_amss
osbl_sahara_load_dsp1
osbl_sahara_load_dsp2
osbl_sahara_load_ramfs1
osbl_sahara_load_ramfs2
osbl_sahara_load_ramfs3
smem_boot_init
so it is looking more and more like DBL then SBL which then loads all of the other parts , also if you notice EFS1/2/3 are all tiny 40byte files, now i see why, they are loaded as ram-drives, so i assume those file set out the basic EFS file system in the ram.
again from research the boot stages are often counted as 3, i am assuming the real first part is in rom of the cpu (is this what triggers the qualcom download mode ) that loads DBL from eMMC and chain loads SBL
Now looking around the riff forums i see the list the info in a different way
Code:
Partition 0
SBL1
SBL2
Partition 1
RPM
SBL3
eMMC APPSBoot
TZ
.PIT
Click to expand...
Click to collapse
TZ i think is Trusted Zone
RPM - Power manager ?
now how this translates to file name from full flash and to mmcblk0p1 partitions i have yet to find out, i still dont have a .PIT file from a 32gb model
More updates to come,
regards
DarkSpr1te
CPU Boot order updates
So my digging has taken me back round to some of me early searching which i forgot about , hardware level seems to support the qualcom usb mode, but it can be disabled by manufacturer, so even if you find a resistor to the BOOT_CONFIG GPIO and ground it , it still may not work, and you could toast your board. once the qfuse is gone for that track, the maker can now use the gpio for anything else, it no longer controls the iROM branch choice ( CPU:do i start usb first or last?), it my thinking that on the first board sent out by the designers for a final production run ( those first public devices) they keep the option open to print off DEV models by changing the resistors/value of while the hardware stays same, not to be confused with dev board, that is pin/track simlar but is used to design the software mainly, sometimes hardware debug but as you change the hardware between the dev platform and production this is less helpful, google new.intrinsyc.com and apq8060, they produce a dev board that is the same as the device we hold, but everything is broken out for testing so don't expect to see this left in a bar for you to e-bay.
EDIT:
Above I refer to a dev phone and dev board, these are SURF and FFA, FFA is form factor accurate and SURF is Subscriber Unit Reference.
Here is the link, http://forum.xda-developers.com/showthread.php?t=1856327
Now from what i see, it's the same(edit:simlar) X0M pin setup as other phones, ground the right pin, reverse boot order, but this maybe two pins in the snapdragon,
[copied from other link]
Simplified table:
Code:
------------------------------------------------------------------
BC[5:0] Mapping
------------------------------------------------------------------
0b00000 Emergency Boot from SDC3 (SD) followed by USB-HS
0b00001 SDC3 followed by SDC1 (eMMC)
0b00010 SDC3 followed by SDC2 (if used)
0b00011 SDC1 (eMMC)
Click to expand...
Click to collapse
So if 0b00000 is EM boot and the docs say the the two gpio's that control this (if qfuse not blown) are taken high then it's 0b00011, so grounding those two resistors should give us 0b00000 or EM boot, the cpu docs also say they are internally grounded, the schematic says the voltage goes throught a 10k resistor, so grounding that side of the resistor that 'goes' to the cpu should change the boot order, but before trying this out, remember if you get the live side of the resistor the is no resistor between your probe and ground, that full current, short, blown, no more johnny 5.
Have you managed to unbrick the E160L?
darkspr1te said:
So my digging has taken me back round to some of me early searching which i forgot about , hardware level seems to support the qualcom usb mode, but it can be disabled by manufacturer, so even if you find a resistor to the BOOT_CONFIG GPIO and ground it , it still may not work, and you could toast your board. once the qfuse is gone for that track, the maker can now use the gpio for anything else, it no longer controls the iROM branch choice ( CPU:do i start usb first or last?), it my thinking that on the first board sent out by the designers for a final production run ( those first public devices) they keep the option open to print off DEV models by changing the resistors/value of while the hardware stays same, not to be confused with dev board, that is pin/track simlar but is used to design the software mainly, sometimes hardware debug but as you change the hardware between the dev platform and production this is less helpful, google new.intrinsyc.com and apq8060, they produce a dev board that is the same as the device we hold, but everything is broken out for testing so don't expect to see this left in a bar for you to e-bay.
Here is the link, http://forum.xda-developers.com/showthread.php?t=1856327
Now from what i see, it's the same(edit:simlar) X0M pin setup as other phones, ground the right pin, reverse boot order, but this maybe two pins in the snapdragon,
[copied from other link]
Simplified table:
Code:
------------------------------------------------------------------
BC[5:0] Mapping
------------------------------------------------------------------
0b00000 Emergency Boot from SDC3 (SD) followed by USB-HS
0b00001 SDC3 followed by SDC1 (eMMC)
0b00010 SDC3 followed by SDC2 (if used)
0b00011 SDC1 (eMMC)
So if 0b00000 is EM boot and the docs say the the two gpio's that control this (if qfuse not blown) are taken high then it's 0b00011, so grounding those two resistors should give us 0b00000 or EM boot, the cpu docs also say they are internally grounded, the schematic says the voltage goes throught a 10k resistor, so grounding that side of the resistor that 'goes' to the cpu should change the boot order, but before trying this out, remember if you get the live side of the resistor the is no resistor between your probe and ground, that full current, short, blown, no more johnny 5.
Click to expand...
Click to collapse
I think my E160L got a real brick today after I tried to flash a modified Rom downloaded from a Chinese forum. It can not be powered on after rebooting (installed successfully). I desperately need advice now on how to deal with it.
Jeff_GTA said:
I think my E160L got a real brick today after I tried to flash a modified Rom downloaded from a Chinese forum. It can not be powered on after rebooting (installed successfully). I desperately need advice now on how to deal with it.
Click to expand...
Click to collapse
Do you have any backups like nandroid ? does the 3 button boot still work ?
Regards
Have you looked into using ort-jtag. It's only about $150 (USD).
I've been looking into this myself for low-level debugging/bootloader development on SGH-T959V and SGH-I717.
All three of these devices are supported by ort-jtag and have header connectors for the jtag pins.
So I'm also getting some of these from digi-key, and making a small receptacle, much like in AdamOutler's captivate bootloader development thread. (search for k-ww)
Again, ort-jtag does support the SHV-E160L. (search that link for SHV-E160L)
PBL Dump - I think
So ive been doing some tests.
I think i managed to dump the PBL
i dumped memory and a strings search return this
Code:
pbl_error_handler.c
pbl_flash_nand.c
pbl_flash.c
dload.c
pbl_flash_nand.c
pbl_flash_onenand.c
pbl_auth\secboot_rsa_math.c
pbl_error_handler.c
pbl_auth.c
pbl_auth.c
pbl_auth.c
pbl_auth.c
pbl_auth.c
pbl_mc.c
pbl_mc.c
pbl_error_handler.c
and
Code:
qhsusb\src\dci\qhsusb_dci.c
}^PBL_DloadVER1.0
!8}^
}]^}^
Q`omm
z8}]
DEBUG
SW_ID
OEM_ID
pbl_flash_onfi.c
pbl_flash_nand.c
pbl_flash_sflashc.c
pbl_loader.c
pbl_flash_sdcc.c
pbl_auth.c
pbl_auth\secboot.c
pbl_auth\secboot_x509.c
QUALCOMM COPYRIGHT 2009BOOT ROM VERSION: 1.4QHSUSB VERSION: 00.00.08
BOOT ROM AUTHOR: DHAVAL PATEL
07 0000 SHA1
does any one want the dump that can reverse it ?
Dumps & execute address
I also need the help of other SHV-E160? owners, i need dumps from working phones, i managed to create a 8660_msimage.mbn and flashed it, but i was using i717 bootloaders and i dont think they will work, i need working dumps from working phones, starting with partition table layout, sbl1.mbn and sbl2.mbn
Does anyone know if the is is correct
SBL1 exec address 0x2A000000
SBL2 exec address 0x2E000000
as i can upload the sbl to 0x2a000000 but not the sbl2 to 0x2e000000
i can also upload the tz.mbn to 0x2a020000
i am trying to use sec boot 3 based call stack but am unsure of the real exec values
Ive seen in another post these values
"
It looks like ours deviates slightly from this.
If the headers are to be believed,
TZ is loaded at 0x2A000000
SBL3 is loaded at 0x8FF00000
APPSBL/aboot is loaded at 0x88E00000
"
the post is
http://forum.xda-developers.com/showpost.php?p=30057296&postcount=243
it does explain why i cant load into 0x2e000000
Progress
So today i made real progress, I have been able to flash a basic program to allow me to access the EMMC, i have taken a full backup and now i need to start scanning the dump for need information,
I still need help from other users so please if you are will to provide me dumps of your working device that would help me a great deal
So Part One is a sucess, I have been able to flash my own code and power on the galaxy note. next step is rebuilding the emmc partition tables, testdisk can find the partitions but is not alowing me to write a non standard partition table (which emmc seems to be formatted with)
Thanks
darkspr1te
help QPST Software Download
Hi,
I'm stuck with the same problem can you tell me what image you use to the phone. I stuck here. I' m really don't know what to do?
Thank you for your help.
tyllerdurdent said:
Hi,
I'm stuck with the same problem can you tell me what image you use to the phone. I stuck here. I' m really don't know what to do?
Thank you for your help.
Click to expand...
Click to collapse
First thing i must say is dont flash your phone just yet!! walking blindly into this could render your phone useless due to certain data being lost for good.
if you still wish to continue i will upload a basic guide and files. My method is still in development, it has many bugs ( i flashed the phone with i717 roms, working, SHV-E120 roms, working, N7000 rom complete fail)
But first some questions,
Which model phone is it?
what happened to get you to the point of needing the flash ? ( i ask so i can trace why the bricks are happening and hopefully fix it)
thank you for your help, I will be waiting your method and your files.
Thank you so much for your help.
My phone is a samsung galaxy note SHV-E160L korean version.
what happen was:
I tried to upgrade the firmware with kies and suddenly the program crash. My phone enter in an error issue with the firmware and said use emergency recovery mode.
I tried the recovery several times (uninstalling kies and install it again but that never work).
So, I download odin and this files to restore the original firmware:
CSC - GT-N7000-MULTI-CSC-OZSLPF.tar.md5
Phone - MODEM_N7000XXLR1_REV_05_CL1144476.tar.md5
Bootloader- N7000_APBOOT_N7000ZSLPF_CL558430_REV02_user_low_sh ip.tar.md5
PDA - N7000_CODE_N7000ZSLPF_CL558430_REV02_user_low_ship .tar.md5
Pit for 16GB - Q1_20110914_16GB.pit
I connect my phone and try to install the firmware again, but odin fail and my samsung became a nice brick.
The phone currently does not turn on, the phone is in download mode and I install QPST and the program recognize the system in download mode.
I want to try your method because other information I collected said that I have to send it to guarantee.
Can I install i717 rom in the E160L?
I will be waiting for your post because sincerely I don't know how to repair it.
Thank you so much.
Hello darkspr1te
First of all, nice work there (though I didn't understood most of the things there, but seems there is some good work going on on our SHV-E160's
On your comment;
( i flashed the phone with i717 roms, working, SHV-E120 roms, working, N7000 rom complete fail)
Does that mean that i717 roms can work on the SHV-E160 devices? Please share if that is the case.
The geeky bits
tyllerdurdent said:
Thank you so much for your help.
My phone is a samsung galaxy note SHV-E160L korean version.
what happen was:
I tried to upgrade the firmware with kies and suddenly the program crash. My phone enter in an error issue with the firmware and said use emergency recovery mode.
I tried the recovery several times (uninstalling kies and install it again but that never work).
So, I download odin and this files to restore the original firmware:
CSC - GT-N7000-MULTI-CSC-OZSLPF.tar.md5
Phone - MODEM_N7000XXLR1_REV_05_CL1144476.tar.md5
Bootloader- N7000_APBOOT_N7000ZSLPF_CL558430_REV02_user_low_sh ip.tar.md5
PDA - N7000_CODE_N7000ZSLPF_CL558430_REV02_user_low_ship .tar.md5
Pit for 16GB - Q1_20110914_16GB.pit
I connect my phone and try to install the firmware again, but odin fail and my samsung became a nice brick.
The phone currently does not turn on, the phone is in download mode and I install QPST and the program recognize the system in download mode.
I want to try your method because other information I collected said that I have to send it to guarantee.
Can I install i717 rom in the E160L?
I will be waiting for your post because sincerely I don't know how to repair it.
Thank you so much.
Click to expand...
Click to collapse
Ok, as i said it's still a work in progress at the moment.
I used the i717 bootloaders (thats why we have a brick as it's not getting to the aboot loader or little kernel as some other refer to it) and E160 modem and application cpu as my first target is getting odin mode back.
I was able to also use the E120 bootloaders (screen was messed up though )
I've just got home from a very long shift so i will do a full and clear write up ( STILL a work in progress ) tomorrow (20th)
but i will explain the basic now as you do need to download large files before we continue.
First you need to download the same firmware as you were originally on before the brick, The reason is because between versions i suspect there is minor changes in partition tables (that why the n7000 roms brick )
If you dont have the latest QPST (2.7.3xx or higher ) please google for it now, there are many sites that offer it. (links will folllow tomorrow)
also down load :-
ABOOT_SGH-I717M_I717MUGLA2_user_CL875155_REV00.tar (or tar.md5 )
i717-GB-Modem.tar (or .md5)
now my initital work was based off a chinese link for the A820L
http://blog.csdn.net/su_ky/article/details/7773273
To save you the time of many hours of translation and cross reference here is the quick run down
When the phone is in QDLoad mode its because the PBL (Stored in ROM , read only memory) could not start SBL1 or SBL2 , it stores the error in IRAM location 0x3FF18 and then goes to QDLoad fail mode. At this point it has tried uart, sd-card before hand and those failed too.
IRAM is the small built in memory of the MSM8660 CPU, it has not initiated the main SYSTEM ram yet so our memory space ro running code is 87k and 256k (refer to document 8960_boot_architecture.pdf found the unlock bootloaders section.
Now because our partition table and or our bootloaders are damaged (or we have emmc brick bug) we have to rewrite that data again to revive our bricks.
This is where it gets hard, and where my warnings now come into play.
right now you must think of the EMMC chip (its the name for the internal SD-CARD we boot from and store our normal data, imei and all the other data of the system, it is just a sc-card with better security for our purpose)
This emmc chip holds all of you settings for phone function and we must not loose that,
But...
we have to write data to the chip to boot again, I am not fully aware of all the memory locations so this is assumptions on my part.
we are going to write a basic bootloader that turns the whole phone into a sd-card, then write new bootloaders
using QPST we upload 8660_msimage.mbn (its a out of the box emmc factory image) this file is ment for setting up of dev versions of the phone, it made up of the following parts
sector 0 partition table or (partition0.bin AFTER patching with info from patch0.xml) I do not have a real copy of the original of this, it can be pulled from a working SVH-E160x using the code at the end.
after the MBR (which is the first part of the partiton make up, EBR follows, we can have 3 primary partitions and the fourth is a extended which is just another partiton table pointing to the next EBR and so on, upto 29 parititons i think)
anyway, after the MBR is SBL1, which chainloads SBL2 then that side loads RPM, gets a go signal then loads SBL3, when SBL3 is done most of the device hardware has been mapped into the cpu's memory table, SDRAM is now ready for larger code,
aboot now loads
some of the above loading functions occur at the same time and some wait on go signals from other code in other CPU's and some fail due corruption and or security check fails( JTAG users can watch the memory as it changes and halt, change data and continue which is why JTAGers's have more power , we dont have loader outputting data yet so no feed back, hence the brick)
when aboot is loaded we now have access to odin, so thats the goal, get aboot loaded for now who cares about the rest of the funtions.
we do need to care about those function later so thats why we will backup the entire system, i dont know if this will really work when restored and bring back all of our settings, thats later,
So onto the writing and possibly overwriting of important information, WARNING, i dont know yet if we are overwriting imei or simalr data yet so proceed at your own risk.
We will get the required from factory (qualcomm test or dev board not samsung factory in the box for consumer) from the MUI phone firmware
http://bigota.d.miui.com/QDN43/Mioneplus_QDN43_fastboot_Android_4.0_d3d83nmdk2.zip
from this zip we want 8660_msimage.mbn, patch0.xml, partition0.bin MPRG8660.hex ( this file is uploaded first, its a serial bootloader that is loaded at 0x2a000000 (start of PBL IRAM space 256k in size) and that setups a emmc to command access (we use revskill to upload the same file and dump memory , sadly ive not found a way of pulling the entire emmc to a backup, if we can figure that out we can pull the entire boot chain, fix it and send it back with what ever versions we desire, for now revskill is used to read the PBL error so we can at least see why we cant boot, not quite jtag but best we got ))
so now we have a phone running a basic bit of code that allows us to use code sent to serial port to write (possibly read) the emmc
we then use QPST to write the 8660_msimage.mbn as a one to one copy to the very start of the emmc , reboot phone and then when the phone restarts, it sets up the ram, some hardware (charging system, you will now notice your phone gets warmer that before when plugged in) and gives us direct access to the emmc as if it was a sd-card
at this point you could move the phone to any pc and it's just a sd-card branded qualcomm
BUT at this point the pc or any other computer you connect it too only see's the partition table contained in the 8660_msimage.mbn file , you other data is there so i advise the next step you MUST do.
connect the phone to a linux computer (use a live cd or live usb if you are not a normal linux user)
you will then run the following command
Code:
dd if=/dev/sd? of=/mount/location/shv-e160-full-emmc.bin bs=512
? is the letter of the drive , use dmesg and look for sdb or sdc , if you dont understand this part then i would suggest waiting for a possible script/one click solution. right now i am still booting only 1 in 20 boots and do not yet know why the boots fail and why some work.
of=/mount... this is where you will place the entire 16GB (32GB for 32gb models ) which should be a one to one copy of the system
the bs=512 is very important, it's block size, again, if you dont understand then maybe wait.
Thats enough for now, i am going to spend a hour or two working on some theories i came up with today.
user with working phones, please google how to backup parts of your phone, this may happen to you so it's best to backup asap !!!
from the blog.csd site a script to grab the partition table data, if a working usr could please run this and post the file, it does not contain user data only the partiton table and a direct 1 to 1 restore for any phone, i think it possible to write that direct back to a QDLoad mode phone, re write the bootloaders from linux and bingo working phone. i dont have backups as it's not my phone, it belongs to a client who knows i like to tinker with electronics.
anyway, once i have the partition file i can overlay it on my test phone (which i can activate QSLoad at any time, hence it's unbrick-able dev mode)
once the partition file is written to my phone, i can build a script to backup your important data, write known working bootloaders, and reboot the phone into a usable device.
here is the script in python (user linux live cd with a copy of adb, just google adb linux pack, there is a windows and linux allin one pack)
or you can get the original from the link above, i've not tested this as i dont have a device in adb mode but i've read through it and it looks sound but never tested by me.
Well i hope that enlightens you, am sorry i dont have a all in one solution for you, it's still a dev project and most of the information i have has only been collected over the past week, i only discovered it's QSDload after getting a msm8660 schematic and i still dont know what i am trully shorting out to trigger the QSDload when ever i want, even when it's booted
If any one from the unbrickable project(s) want to get in touch to share info i would be happy, i am also sure this is a usable solution for HTC phones as well
oh and one last thing
i read only a hour ago (via cell phone while in a car so not 100%) that once the phone is in QSDload and stays in QSDload on every power cycle then we can write the partition table to a SD-CARD and it will boot that, i have not tested that yet, i will try and see if the 8660_msimage.mbn file written to a sd-card works
I also suspect that some of my good boots have been when i've mixed up the sdcard with system.img.ext4 etc on it with the one with just update.zip on it. it's one my list of things to check , any suggestions are welcome as to how i correctly format the card (heads,cylinders, block size etc)
ok folks, hope this helps
COPY TEXT BELOW ONLY INTO A FILE AND RUN WITH PYTHON (linux is easier, may be possible to use a vm box, i am but linux is my main os and windows is the vm)
Code:
import os
from struct import *
def mbr():
global offset, partitions
os.popen("adb shell su -c 'dd if=/dev/block/mmcblk0 of=/cache/partition0.bin bs=512 count=1'").close()
os.popen("adb shell su -c 'cp /cache/partition0.bin /sdcard/partition0.bin'").close()
os.popen("adb pull /sdcard/partition0.bin .").close()
f = open("partition0.bin", 'rb')
data = f.read()
f.close()
partitions = [ ]
n=0
while True:
buf = data[446+(16*n):446+(16*(n+1))]
partition = dict(zip(('boot', 'id', 'start', 'size'), unpack('4I', buf)))
partition['type'] = "MBR"
n += 1
partition['no'] = n
partitions.append(partition)
if partition['id'] == 5:
offset = partition['start']
break
def ebr():
global offset, partitions
n = 0
while True:
a = 0
os.popen("adb shell su -c 'dd if=/dev/block/mmcblk0 of=/cache/ebr bs=512 count=1 skip=" + str(offset+n) + "\'").close()
n += 1
os.popen("adb shell su -c 'dd if=/cache/ebr of=/cache/partition0.bin bs=512 count=1 seek=" + str(n) + "'").close()
os.popen("adb shell su -c 'cp /cache/ebr /sdcard/partition0.bin'").close()
os.popen("adb pull /sdcard/partition0.bin .").close()
f = open("partition0.bin", 'rb')
data = f.read()
f.close()
while True:
buf = data[446+16*a:446+16*(a+1)]
partition = dict(zip(('boot', 'id', 'start', 'size'), unpack('4I', buf)))
if partition['id'] == 5:
break
if partition['id'] == 0:
return
partition['type'] = "EBR"
partition['no'] = n
partition['start'] += n-1+offset
partitions.append(partition)
a += 1
if __name__ == "__main__":
mbr()
ebr()
os.popen("adb shell su -c 'cp /cache/partition0.bin /sdcard/partition0.bin'").close()
os.popen("adb pull /sdcard/partition0.bin .").close()
for part in partitions:
print "%s %2i, Boot: 0x%02X, Id: 0x%02X, Start: 0x%08X (%8i), Size: 0x%08X (%8i, %8i KB)" % (part['type'], part['no'], part['boot'],part['id'], part['start'], part['start'], part['size'], part['size'], part['size']/2)
Click to expand...
Click to collapse
beginning
thank you for your help,
I currently have the qpst version 2.7 build 373. You think is enough of download the same version of Chinese post QPST.2.7.374.rar
I will begin to download the other files required and I will be commenting my progress.
Thank you so much for your help, i really appreciate that you share you r knowledge.
Requests
While i try some theories if othe users could possibly provide me with :-
Original partition table via script above and also via adb
use
adb and run
Code:
cat /proc/partitions > /sdcard/partitions.txt
fdisk -l /dev/block/mmcblk0 > /sdcard/fdisklist.txt
mount > /sdcard/mountlist.txt
Then on the pc side using ADB again do the following
Code:
adb pull /sdcard/partitions.txt
adb pull /sdcard/fdisklist.txt
adb pull /sdcard/mountlist.txt
and post those files.
there are many posts on it so wont repeat but later will add a link.
along with some spell checks :laugh:
if you can dump the boot loaders from a original e160x too as my data started currupt.
i also need to talk to someone who can assist me in writing a program to take the pit file and turn it into this
Code:
<?xml version="1.0" ?>
<data>
<!--NOTE: Sector size is 512bytes-->
<program file_sector_offset="0" filename="" label="SMD_HDR" num_partition_sectors="65536" physical_partition_number="0" size_in_KB="32768.0" start_sector="1"/>
<program file_sector_offset="0" filename="sbl1.mbn" label="SBL1" num_partition_sectors="1000" physical_partition_number="0" size_in_KB="500.0" start_sector="65537"/>
<program file_sector_offset="0" filename="sbl2.mbn" label="SBL2" num_partition_sectors="3000" physical_partition_number="0" size_in_KB="1500.0" start_sector="66537"/>
<program file_sector_offset="0" filename="rpm.mbn" label="RPM" num_partition_sectors="1000" physical_partition_number="0" size_in_KB="500.0" start_sector="69559"/>
<program file_sector_offset="0" filename="sbl3.mbn" label="SBL3" num_partition_sectors="4096" physical_partition_number="0" size_in_KB="2048.0" start_sector="70559"/>
<program file_sector_offset="0" filename="aboot.mbn" label="ABOOT" num_partition_sectors="5000" physical_partition_number="0" size_in_KB="2500.0" start_sector="74655"/>
<program file_sector_offset="0" filename="" label="BOOT" num_partition_sectors="20480" physical_partition_number="0" size_in_KB="10240.0" start_sector="79655"/>
<program file_sector_offset="0" filename="tz.mbn" label="TZ" num_partition_sectors="1000" physical_partition_number="0" size_in_KB="500.0" start_sector="100135"/>
<program file_sector_offset="0" filename="partition0.bin" label="MBR" num_partition_sectors="1" physical_partition_number="0" size_in_KB="0.5" start_sector="0"/>
<program file_sector_offset="1" filename="partition0.bin" label="EXT" num_partition_sectors="22" physical_partition_number="0" size_in_KB="11.0" start_sector="69537"/>
</data>
Click to expand...
Click to collapse
*edit
the partiton0.bin provided below is 8.5kb (.5kb MBR, 8kb EBR) and in raw_program0.xml bove it say 0.5kb and 11kb, making that file 11.5kb, i dont know if the A810 has larger or smaller EBR than us, it could be they pulled extra, in my reading of the dumps i've seen lots of padded 0's after files (between sbl2/ebr/rpm) anyway if you just copy paste it will throw a error, ive got it set at 0.5 and 8.
EDIT:- Do not use this file, ive uploaded newer files later on.
some of the questions i need to answer are :-
1. what is the first partition, it's dos, around 105mb and labled smd_hdr and is filled with smd_hdr.bin (or mbn)
2. what are the real sector locations of the files, above you will see the rawpartiton0.xml file, this tells QPST where in the emmc to put the data num_partiton_sectors does match data from the pit files, but i dont know the real offsets yet, (samsung or htc could put the rest of the partiton table in cpu qfuse data areas and not write it to the emmc to confuse us and write the real files to another location and use the pit file as a base+offset calculation)
start_sector is the real location on the emmc, where it starts writing the file.
at the end is partiton locations(its a generic file containing the first few byes of default partition table, patch0.xml then updates this data), i dont have our device specific figures yet, i also dont fully understand patch0.xml and the difference in figures used.
if we have a backup of each of the different version of android partitons we could just write that in replacement of partiton0.bin and we dont need patch0.xml, this file sole job to alter the generic files, oem's have the choice of changing this data.
Code:
<?xml version="1.0" ?>
<patches>
<!--NOTE: This is an ** Autogenerated file **-->
<!--NOTE: Patching is in little endian format, i.e. 0xAABBCCDD will look like DD CC BB AA in the file or on disk-->
<!--NOTE: This file is used by Trace32 - So make sure to add decimals, i.e. 0x10-10=0, *but* 0x10-10.=6.-->
<patch byte_offset="506" filename="partition0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="0" value="NUM_DISK_SECTORS-208801." what="Update MBR with the length of the EXT Partition."/>
<patch byte_offset="506" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="0" value="NUM_DISK_SECTORS-208801." what="Update MBR with the length of the EXT Partition."/>
<patch byte_offset="458" filename="partition0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="16" value="NUM_DISK_SECTORS-1695744." what="Update final partition with actual size."/>
<patch byte_offset="458" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="208816" value="NUM_DISK_SECTORS-1695744." what="Update final partition with actual size."/>
</patches>
Click to expand...
Click to collapse
please note that it's two lines of the same code except one is partition0.bin and the other is DISK,
Do we need both? i know if i dont add the partiton0 section used in raw_program.xml then the drive is blank in linux,
now it's my understanding that the ebr comes as the forth partiton and it point to the next one , above in patch0.xml it start at NUM_DISK_SECTORS-1695744
i am still trying to better understand these figures,
Well time to grab coffee, i guess it's a dev night in.
the file MPRG8660.HEX can be renamed EMMCBLD.HEX and it triggers QPST to always look for a QDLoad mode phone and not debug, you can place all the files you need in one folder, i advise you to keep the originals in one location and only extract what your need to your worrking folder, copy emmcswdowload.exe from the QPST folder there too, we might need to do command line work, ive read that you can pre-create images in emmcswdownload (the same way 8660_msimage.mbn was created ) that you could just drop onto a phone once it's in emmc sd-card mode, almost a one click.
More info, plus help offered
Your welcome tyllerdurdent,
I am going to be putting a few hours into the dev from now actually for if you want assistance then no problems,
I also advise the following, download ubuntu live cd, it has a lot of tools your going to need to extract data you require, if we go step by step we might be good, i did a lot of test writing before i got my first boot, and that again only happens one in 20, i dont know why.
the rawpartiton0.xml above is incorrect for our devices as it states the first partion is 32mb, (i think it's ment to be amss.mbn, or NON-HLOS.mbn , our pit file which i did extract from my emmc dump says it's 105mb. i am confused and to why rawpartiton0.xml says the first bootloader is at start_sector="65537" but fdisk shows it as start 204801, i think someone needs to show me how to convert from blocks to sectors,
in patch0.xml it says
Code:
<patch byte_offset="506" filename="partition0.bin" physical_partition_number="0" size_in_bytes="4" start_sector="0" value="NUM_DISK_SECTORS-208801." what="Update MBR with the length of the EXT Partition."/>
Click to expand...
Click to collapse
208801 is where we have our ebr start,
i also think the IROM based pbl, sbl etc use the partition types in some way, why else have so many types? can any one explain that
this is a fdisk view of what i think our partition table looks like
Code:
Device Boot Start End Blocks Id System
/dev/sdb1 1 204800 102400 c W95 FAT32 (LBA)
/dev/sdb2 * 204801 205800 500 4d QNX4.x
/dev/sdb3 205801 208800 1500 51 OnTrack DM6 Aux1
/dev/sdb4 208801 208801 0 5 Extended
/dev/sdb5 212992 213991 500 47 Unknown
/dev/sdb6 221184 225279 2048 45 Unknown
/dev/sdb7 229376 234375 2500 4c Unknown
/dev/sdb8 237568 258047 10240 48 Unknown
/dev/sdb9 262144 263143 500 46 Unknown
/dev/sdb10 270336 271335 500 5d Unknown
/dev/sdb11 278528 279527 500 91 Unknown
/dev/sdb12 286720 307199 10240 93 Amoeba
/dev/sdb13 311296 511999 100352 c W95 FAT32 (LBA)
/dev/sdb14 516096 522239 3072 4a Unknown
/dev/sdb15 524288 530431 3072 4b Unknown
/dev/sdb16 532480 538623 3072 58 Unknown
/dev/sdb17 540672 741375 100352 8f Unknown
/dev/sdb18 745472 751615 3072 59 Unknown
/dev/sdb19 753664 759807 3072 5a Unknown
/dev/sdb20 761856 29843455 14540800 5b Unknown
/dev/sdb21 770048 790527 10240 ab Darwin boot
/dev/sdb22 794624 815103 10240 60 Unknown
/dev/sdb23 819200 839679 10240 94 Amoeba BBT
/dev/sdb24 843776 3911679 1533952 a5 FreeBSD
/dev/sdb25 3915776 8114175 2099200 a6 OpenBSD
/dev/sdb26 8118272 8736767 309248 a8 Darwin UFS
/dev/sdb27 8740864 9005055 132096 a9 NetBSD
/dev/sdb28 9011200 10035199 512000 95 Unknown
/dev/sdb29 10035200 30777343 10371072 90 Unknown
Oh, download wxdhex or wimlar program, you going to need a hex editor that can load BIG files , 16gb worth
i717-GB-Modem.zip IS THE SAME AS TAR?
i717-GB-Modem.zip 21.35 MB 7 0 2012-06-30 08:45:11
I could not find the i717-gb as tar file but I find it as a zip file. but I'm not sure about thif the contents are correct. Could you check
http://d-h.st/1aP
i717-GB-Modem.zip contents
META-INF
COM
GOOGLE
ANDROID
update-binary
updater-script
TMP
amss.bin
mdm.bin
Blocks and sectors
This may explain it , the different figure in the xml files
Because sectors are logical on the drive (Logical Block Addressing = LBA) you need to convert between LBA and physical (file system) sectors. This is pretty easy to do:
First - get a table of the start and end sectors of the partition table:
Code:
[[email protected] ~]# fdisk -lu /dev/hda
Disk /dev/hda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 63 208844 104391 83 Linux
/dev/hda2 208845 4401809 2096482+ 83 Linux
/dev/hda3 4401810 8482319 2040255 82 Linux swap
/dev/hda4 8482320 234436544 112977112+ 5 Extended
/dev/hda5 8482383 29447144 10482381 83 Linux
/dev/hda6 29447208 50411969 10482381 83 Linux
/dev/hda7 50412033 52516484 1052226 83 Linux
/dev/hda8 52516548 234436544 90959998+ 83 Linux
Use this to determine what partition the bad sector is in. In this case 232962120 is inside the start and end values for /dev/hda5
NOTE: This is in partition 5 - ignore partition 4 as it is the extended partition. Any block from partitions 5 through 8 will also be in partition 4, but you want the real partition, not the extended partition.
Next, calculate the file system block using the formula:
b = (int)((L-S)*512/B)
where:
b = File System block number B = File system block size in bytes (almost always is 4096) L = LBA of bad sector S = Starting sector of partition as shown by fdisk -lu and (int) denotes the integer part.
For example:
The reported sector from the smart log above is 232962120, thus:
((14858312 - 8482383) * 512) / 4096 = 796991.125
^Bad Sec. ^Start Sec. ^Cha Ching! This is the sector!
(Use the block number from the smart test section, not from the smart error log section. They are using different methods of reporting file system vs. physical blocks.)
((BadBLock - StartPartition) * 512) / 4096
You can just paste this into Google as a template
Any fraction left indicates the problem sector is in the mid or latter part of the block (which contains a number of sectors). Ignore the fraction and just use the integer.
Next, use debugfs to locate the inode and then file associated with that sector:
Click to expand...
Click to collapse
[[email protected]]# debugfs
debugfs 1.35 (28-Feb-2004)
debugfs: open /dev/hda5
debugfs: icheck 796991
Block Inode number
796991 <block not found>
debugfs: quit
Ah! It didn't give the inode! It if did, you could have found the file with:
[[email protected]]# debugfs
debugfs 1.35 (28-Feb-2004)
debugfs: open /dev/hda5
debugfs: icheck 796991
Block Inode number
796991 41032
debugfs: ncheck 41032
Inode Pathname
41032 /S1/R/H/714197568-714203359/H-R-714202192-16.gwf
So what the heck? Why no inode? Well, remember how it said the sector might be bad?
Click to expand...
Click to collapse
the above copied from
http://timelordz.com/wiki/SMART_Rewriting_Bad_Sectors
i have a feeling we may need to shift our files (the basic files need to start odin are listed in rawpatch0 above, i dont know if that 100% true but it was the only files i wrote on by first sucess)
also
http://forum.xda-developers.com/showthread.php?p=31843525&postcount=13
in the above link they talk about the header of the qualcomm file
+------------+
|Dbl-preamble|
+------------+
|Dbl-header |
+------------+
|Dbl.bin |
+------------+
Click to expand...
Click to collapse
and
data_ptr = autodetectpage;
*data_ptr = sbl_header.codeword;
data_ptr++;
*data_ptr = sbl_header.magic;
data_ptr++;
*data_ptr = AUTODETECT_PAGE_SIZE_MAGIC_NUM;
Click to expand...
Click to collapse
now i used this in a way to find my bootloaders (i717 by this time, not shve-160l )
and to find the partitons
you will see in a hex editor at the start of each boot loader
something else to think about, my lack of success that last two days to produce a boot could be because my partitons are not clean , thats is to say if i write my sbl1 to 1000, and the trailing 0000 of the partition definition of my 99 block ebr/mbr ends at 999 , if i have dirt data between 999 and 1000 the cpu/pbl my interpret that as code(some of my boots is brick, some are into QDLoad, i have no pattern yet) , something i must test or confirm, or just worry about.
tyllerdurdent said:
i717-GB-Modem.zip 21.35 MB 7 0 2012-06-30 08:45:11
I could not find the i717-gb as tar file but I find it as a zip file. but I'm not sure about thif the contents are correct. Could you check
http://d-h.st/1aP
i717-GB-Modem.zip contents
META-INF
COM
GOOGLE
ANDROID
update-binary
updater-script
TMP
amss.bin
mdm.bin
Click to expand...
Click to collapse
Yes thats correct
updater script btw contains text, binary is the flashing exe i think,
Code:
run_program("/sbin/dd", "if=/tmp/mdm.bin", "of=/dev/block/mmcblk0p17");
run_program("/sbin/dd", "if=/tmp/amss.bin", "of=/dev/block/mmcblk0p13");
Click to expand...
Click to collapse
and a google of a simlar sansung product the skyrocket gives me a simlar pit layout
Device Name Size Part Name ODIN tar file Mount Point
mmcblk0boot0 512KB (empty) n/a (empty partition)
mmcblk0boot1 512KB (empty) n/a (empty partition)
mmcblk0p1 100MB SMD_HDR (partition info)
mmcblk0p2 500KB SBL1 sbl1.mbn
mmcblk0p3 1500KB SBL2 sbl2.mbn
mmcblk0p4 1KB (unnamed partition with '55 AA' MBR signature)
mmcblk0p5 500KB RPM rpm.mbn
mmcblk0p6 2MB SBL3 sbl3.mbn
mmcblk0p7 2500KB ABOOT aboot.mbn
mmcblk0p8 10MB BOOT boot.img
mmcblk0p9 500KB TZ tz.mbn
mmcblk0p10 500KB SSD n/a (empty partition)
mmcblk0p11 500KB PIT celox.pit
mmcblk0p12 10MB PARAM param.lfs
mmcblk0p13 98MB MODEM amss.bin /system/etc/firmware/misc
mmcblk0p14 3MB MSM_ST1 efs.img
mmcblk0p15 3MB MSM_ST2 n/a
mmcblk0p16 3MB MSM_FSG n/a
mmcblk0p17 98MB MDM mdm.bin /system/etc/firmware/misc_mdm
mmcblk0p18 3MB M9K_EFS1 efsclear1.bin
mmcblk0p19 3MB M9K_EFS2 efsclear2.bin
mmcblk0p20 3MB M9K_FSG n/a
mmcblk0p21 10MB DEVENC enc.img.ext4 /efs
mmcblk0p22 10MB RECOVERY recovery.img
mmcblk0p23 3MB FOTA n/a
mmcblk0p24 598MB SYSTEM system.img.ext4 /system
mmcblk0p25 2GB USERDATA userdata.img.ext4 /data
mmcblk0p26 302MB CACHE cache.img.ext4 /cache
mmcblk0p27 129MB TOMBSTONES tomb.img.ext4 /tombstones
mmcblk0p28 11.2GB UMS ums.rfs /mnt/sdcard
Click to expand...
Click to collapse
Other files
contents of the i717 boot loaders i used
ABOOT_SGH-I717M_I717MUGLA2_user_CL875155_REV00
Code:
527K Jan 6 2012 aboot.mbn
115K Jan 6 2012 rpm.mbn
72K Jan 6 2012 sbl1.mbn
111K Jan 6 2012 sbl2.mbn
601K Jan 6 2012 sbl3.mbn
117K Jan 6 2012 tz.mbn
other files pulled from
ABOOT_SGH-I717M_I717MUGLA2_user_CL875155_REV00 (no bootloader but all the other system files )

Lg g2 d802 İmeİ null repaİr

lg g2 d802 İMEİ NULL REPAİR
We will repair phone with only 2 programs. You needn't QPST, qcn, etc.
I already haven't qcn backup, so i failed to back up and change it.
İf you did number 4 before, just do number 2, reset phone. Your imei will come back.
Necessary programs: I used theese, you can use newer versions.
Minimal ADB Fastboot v1.1.3
EFS Professional 2.1.80 beta
1-)Connect the phone "Lg Software", you will see in device manager (com&lpt) port.
Driver I used: LGUnited MobileDriver_S51MAN313AP22_ML_WHQL_Ver_3.13.2
Device manager -> androidnet usb modem #2 -> modem -> The fastest connection=115200.
LG G2 D802, MSM7945, SNAPDROGAN 800, ANDROİD 4,4,2, V20c, Made in Taiwan.
2-)Phone should be root.
İf your phone doesn't seem with root in ADB FAST BOOT: uninstall supersu, install again form google play.
I uninstalled supersu, installed superuser# from google play.
3-)We will just here enter 7 commands.
Install ADB FASTBOOT and open, enter commands one by one.
........Enter “adb shell”. You will see *Daemon not running, starting it now on port 5037 *Daemon started
succsfully* [email protected]:/$ .
........Enter “su”. İf you see 'not found', your phone is not root.
........Enter “setprop sys.usb.config diag,adb”. Port will opened.
........Enter "ls -al /dev/block/platform/msm_sdcc.1/by-name".
After this command, you will look for: modemst1, modemst2, fsg
lrvrwxrwx root root 1970-01-03 03:31 modemst1 -> /dev/block/mmcblk0p10
cblk0p10
lrvrwxrwx root root 1970-01-03 03:31 modemst2 -> /dev/block/mmcblk0p11
cblk0p11
lrvrwxrwx root root 1970-01-03 03:31 fsg -> /dev/block/mmcblk0p16
p16
İmportant is last numbers here, mine is 10,11,16. You just change theese numbers with yours.
Enter 3 commands below one by one, by changing only with your last numbers.
......dd if=/dev/zero of=/dev/block/mmcblk0p10
......dd if=/dev/zero of=/dev/block/mmcblk0p11
......dd if=/dev/zero of=/dev/block/mmcblk0p16
If you didn't do these commands, qv nv items fails.
4-)Go into Qualcom Nv tools in EFS PROFESSİONAL.
You will see LG Andoidnet Usb serial port (comx) on top and connect.
If it is not connected, go to phone: Settings->general->pc connection->tethering and connect.
If it still fails, get empty "send pc" box in qualcom nv tools program and connect.
İf you connected, read phone info and go into secure ops. tab.
You will see 3 boxes under MEİD/ESN/İMEİ REPAİR in secure ops tab.
We will just fill them and write phone.
First we should learn Meid hex, esn hex, imei dec numbers from meidconverter.com
Meid hex is the first 14 digits of our 15-digits IMEI number.
Write your meid and convert in site. You will see screen below.
Format Value
Hex ESN
Decimal ESN
Hex MEID 3xxxxxxxxxx8
Dec MEID 08xxxx7845xxx3448
Pseudo Hex ESN 80DBxxx7
Pseudo Dec ESN 12xxxxxx207
IMEI
MetroPCS SPC 7xxxx0
We just need here: Pseudo Hex ESN. Because it gives us our 'esn hex' value, 8 digits mixed with letters.
'Meid hex' is the first 14 digits of our 15-digits IMEI number.
'İmei dec' is our 15 digit imei numbers we knew.
Write these in Nv TOOLS, tick the boxes and write the phone.
Finished.... When you reset the phone, your imei will come back.
If your phone keeps restarting, first press power button 30 seconds. You sure phone turned off exactly.
Press and hold volume+, plug suitable usb cable until download mode.
While you are connected pc in download mode, use B2CAppSetup program.
my lg g2 d802 imei turned null after ungrading from kitkat to lollipop
whn i enter the command
"lrvrwxrwx root root 1970-01-03 03:31 modemst1 -> /dev/block/mmcblk0p10
cblk0p10"
i get an error
"tmp-mksh: lrvrwxrwx: not found"
please help
everything is ok but when i was click on read phone info one error is showing phone lost please help.......

Categories

Resources