Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
ethan_hines
Old
#1  
Member - OP
Thanks Meter 14
Posts: 59
Join Date: Jun 2012
Phone [Q] [T] nexus s i9020 scrambled voice calls

Recently, whenever I flash a rom that is not stock, I am having trouble making and receiving phone calls. The first call is all scrambled distorted and subsequent calls are no voice at all. This never used to happen to me at all with any rom. I COMPLETELY deleted everything off my phone via both CWM and ADB shell's parted rm command. I then reflashed the img files (radio, recovery, and the zip) and everything worked fine in ICS Stock. This is a Telus phone. Has anyone dealt with this kind of bug?
 
_android_
Old
#2  
Senior Member
Thanks Meter 37
Posts: 216
Join Date: Jan 2011
Location: Toronto
Try running CPU at 1GHz (or lower). I found voice distorted if I overclock.
If I helped you, please give thanks

iPhone 5 White
Transformer TF101 stock ICS 4.0.3 rooted
Nexus S i9020t CM10+Marmite7.2 with MTP - Retired
HTC Panache RCMix3D 4.0 + v12.2 OC UV 2WCR kernel - Given away
Galaxy Nexus stock JB 4.2.1 rooted - Given away
The Following User Says Thank You to _android_ For This Useful Post: [ Click to Expand ]
 
ethan_hines
Old
(Last edited by ethan_hines; 19th February 2013 at 05:36 PM.) Reason: added how to extract /efs properly
#3  
Member - OP
Thanks Meter 14
Posts: 59
Join Date: Jun 2012
Location Backup your EFS it's muy importante!

Quote:
Originally Posted by _android_ View Post
Try running CPU at 1GHz (or lower). I found voice distorted if I overclock.
Well it wasn't overclocking or a radio image issue as I tried both. I can't proove it but I think a custom rom overwrote my /efs partition and essentially made my phone on the network invalid, luckly I was able to find a proper backup of the /efs and reinstall it I just hope this doesn't happen again and I encourage all of you to BACKUP YOUR /EFS PARTITION it's very simple just type adb root, then adb remount then finally adb.exe pull /efs/ boom there it is in your pc.
The Following User Says Thank You to ethan_hines For This Useful Post: [ Click to Expand ]
 
ethan_hines
Old
#4  
Member - OP
Thanks Meter 14
Posts: 59
Join Date: Jun 2012
Well I thought I had the problem licked, turns out for some reason, and I do hope someone knows the answer to this problem, if I flash back to stock 4.0.4,*#06# shows my proper IMEI, if I flash a custom rom (any custom rom) and my IMEI goes back to IMEI: 004999010640000
 
polobunny
Old
#5  
polobunny's Avatar
Senior Member
Thanks Meter 1085
Posts: 2,971
Join Date: Oct 2011
Location: Montreal
Quote:
Originally Posted by ethan_hines View Post
Well I thought I had the problem licked, turns out for some reason, and I do hope someone knows the answer to this problem, if I flash back to stock 4.0.4,*#06# shows my proper IMEI, if I flash a custom rom (any custom rom) and my IMEI goes back to IMEI: 004999010640000
Install your custom rom, then paste back your /efs folder from your backup?
Please press THANKS if someone helps you!

My current configuration:
 

Device: Samsung Galaxy S3 SGH-i747M
ROM: cm-10.1-20130515-NIGHTLY-d2att
Kernel:Leankernel v5.9
Baseband: I747MUMLL1
Governor: InteractiveX/ROW


Older device: Nexus S i9020A
 
ethan_hines
Old
#6  
Member - OP
Thanks Meter 14
Posts: 59
Join Date: Jun 2012
Quote:
Originally Posted by polobunny View Post
Install your custom rom, then paste back your /efs folder from your backup?
Tried that, didn't work. I don't know maybe it has something to do with the permissions/owner of the files. To make matters worse now that partition is showing signs of corruption but I don't know how to repair it. It is a YAFFS partition.
/dev/block/mtdblock6 /efs yaffs2 rw,nosuid,nodev,noatime 0 0
 
ethan_hines
Old
#7  
Member - OP
Thanks Meter 14
Posts: 59
Join Date: Jun 2012
Smile I got my imei back yeah!!

oh i am so relived
It took me a while to understand how the imei system woks but i think i have the gist of it now. i don't know if this works for other models but it must considering i took information from a multitude of sources to work out a solution here's what I did

Before starting this tricky set of commands please make sure your phone has the following settings:
  • ROOTED
  • HAS BUSYBOX INSTALLED
  • HAS EITHER ROOTEXPLORER OR ADB
  • YOUR PC HAS A PROPER UNIX TEXT EDITOR (NOTEPAD++ OR JEDIT)
  1. Ensure you have one good copy of nv_data.bin somewhere on the phone. it could be located in either /efs or /data/radio
  2. Ensure you have a nv.log with at least one line that looks somewhat like this:
    MD5 fail. orignal md5 'XXXXXXXXXXXXXXXXXXXXXX' computed md5 'XXXXXXXXXXXXXXXXXXXXXXXXX' (rild)
    where the X's are a bunch of number and letters.
  3. Copy the good nv_data.bin, nv_data.bin.md5 and nv.log to both the sdcard and then via usb put them on your hard drive in a folder called efsbackup
    (use either rootexpoler or adb shell to copy the files to the sdcard first)
  4. Open the nv.log and look for the second sting of lines. after the words computed md5 (the first string is the md5 the phone found and the second string is the md5 it was expecting for. if the md5 it was expecting can't be found, it uses the default IMEI 004999010640000
  5. Open nv_data.bin.m5d with a proper unix text editor (I suggest Notepad++ or jedit) and remove the sting of numbers and letters and replace it with the string from the nv.log (the second string after computed md5) and save the file
  6. Go back to the phone and put the phone into Airplane Mode (this turns off the radio)
  7. Copy the files nv_data.bin and nv_data.bin.m5d back to the sdcard overwirting them
  8. Using either rootexplorer or adb shell copy the nv_data.bin and nv_data.bin.md5 back to the original folder (either /efs or /data/radio (for me it was /data/radio that did the trick))
  9. Using either rootexplorer or adb shell ensure both files have the following attributes Owner:radio Group:radio Owner:RWX Group:R Other:R
  10. Using adb shell type ps (this lists all the running processes) find the one that end with rild and remember the pid
  11. Using adb shell type kill pid# where pid# is the rild process (this restarts the radio)
  12. Go back to the phone and take the phone out of Airplane mode
  13. Reboot the phone
  14. Open up the dialer and dial *#06# (the universal way to get your IMEI it SHOULD be equal to the one written under the battery)
If you have any problems please list them below and i will do my best to solve them

 
Post Reply+
Tags
call audio, scrambled, voice
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...

XDA PORTAL POSTS

Coloring Your Logcat World

Getting feedback for your app during development is as simple as adding logging info where necessary and looking … more

Guide Your Sheep to Safety with Finger Shepherd

Just a coupe of days ago, we brought you news about a game calledAgent Sheep. In that … more

Nandroid Manager Receives Major Update

Do you find yourself obsessively jumping from ROM to ROM? And do you hate having to restore a full … more

Careers in Android: Recruiter Reveals How Resumes are Chosen – XDA Developer TV

XDA Developer TV Producer Jayce released a video a … more