Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,807,340 Members 43,260 Now Online
XDA Developers Android and Mobile Development Forum

[A] About the Echo and Digital Noise Reduction/Cancellation Problems

Tip us?
 
E:V:A
Old
(Last edited by E:V:A; 11th December 2011 at 11:06 AM.) Reason: add
#1  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,788
Posts: 1,341
Join Date: Dec 2011
Location: -∇ϕ
Exclamation [A] About the Echo and Digital Noise Reduction/Cancellation Problems

The last half year have riddled various forums with the now infamous Samsung HW/SW bug that is most often causing an extremely unpleasant echo in the other end of a conversation. However, this bug appears in many variants due to the multiple causes of many interacting smaller problems.

In my own quest of finding the root of the problem and scanning the web for a potential solution (not involving send my phone off), I decided to share my findings, very well aware of the shortcomings of my limited research. So please let me know of any current (or future) solution to this, or if I have missed anything important.

Internally there are 2 microphones and 2 speakers. Unfortunately the way these are situated, aligned and and isolated, together with the sound transmission throughout the phone chassis and the complicated sound and digital noise reduction (NR) settings, are the cause of these problems.

All this can best be seen in the iFixit's teardown guide:
http://www.ifixit.com/Teardown/Samsu...eardown/5861/1
or in the "S2 screen replacement photo tutorial":
http://forum.xda-developers.com/show....php?t=1253969
or in the schematic blow-apart diagram in the official "Samsung-GT-i9100-service-manual". (Google that!)

My Conclusion:

After performing a limited number of tests, on my own, I have concluded that this problem should in ANY case be resolvable by a fix in the phone firmware/software. Obviously the phone is working without a case, and (usually) perfectly when turning off NR (noise reduction) and/or turning down the volume. Others report fiddling with the internal rubber enclosure of the microphones and/or speakers. In either case, it would be very interesting to know the details of your phone's SW and HW configuration as many reports differences in behavior after flashing new/old phone software. It is very likely the problem occurs as a combination of "PHONE/PDA" software, the lower USB charge-port HW and the upper speaker/microphone insulation. In other words the NR algorithm need to be changed or better tuned for various environments. We can only hope Samsung fixes this in their next updates... But very unlikely as they are much more interested in making new phones and selling more of them. And if they did fix it, they probably wouldn't tell anyone since if they ever did admit to any wrong doing, they'd have to replace/repair probably at least tens of thousands of phones!

Problem (Simple Description):

A number of small assembly line variations is causing the internal noise reduction software to misbehave. (Remember the "butterfly effect"!)

Problem (Technical Description):

The problem consists of (at least) 3 smaller problems working together.

1. The lower playback speaker is always on (!) and is causing feedback to the lower microphone when using a protective cover. Thus explaining the greater echo at higher volumes and less external noise, when using a rubber cover.

2. The SGS2 plastic casing transmits sound around the entire phone. Thus both speakers (lower and upper) are transmitting sound to both the lower normal microphone and the upper noise cancelling microphone. These need to be isolated.

So when covering the upper noise reduction microphone you are getting better feedback (more "noise") from both upper AND lower speakers, than from outside and thus (usually) improving call quality by reducing the echo effect, but when there is no case-cover and a noisy environment, you may end up increasing the echo, by covering it up!

3. BUT not all phones have echo, thus there is also a NR settings or algorithm problem that should or may be resolved by a firmware/phone/PDA update. In addition, and making things even more complicated, different phones have slightly different hardware on the PCB of the USB charge-port...

Who to Blame?

1. Samsung Hardware engineers who must have been sleeping in their "Acoustics and Wave Propagation" classes.
2. Samsung (?) Software engineers who never took a course in "Feedback and Control Theory".
3. Samsung HW design director(s) who
a) didn't make (1) and (2) work closely enough together on the SGS-2.
b) never though of putting a rubber case on the phone!
4. Samsung Assembly line Quality Control manager(s) who didn't check for minor design flaws.
- check (open up) every 100 or so phones, if problem check ALL previous 100 and estimate problem!
- stop assembly line and talk to the management about solution
..
..
oo. The casual SGS2 owner who just wanted to protect his new investment with a rubber/plastic cover.


Some Known Solutions:

Service Center Solutions:

1. Improperly placed internal speaker cushion:
http://androidforums.com/samsung-gal...ml#post3000051

2. Replace the UI Board; Part No: GH59-10949A
http://androidforums.com/samsung-gal...ml#post3269199
http://www.scribd.com/doc/56542824/5...-Exploded-View
http://giga-tel.com/item-10095-samsu...-ui-board.html

3. Attach layers of soft electrically and noise insulating tape (e.g. medical-tape) over the back-side of the upper speaker, earphone jack and microphone. On the inside of you phone. See instructions in Hebrew (!) below:
http://iandroid.co.il/forum/topic56552.html

DIY Home Fixes (various success):

4. Put some tape over the top NR hole, which is next to the 3.5mm head-phone jack. (This fix messes up the speakerphone functionality!)
5. Put some tape over the hole just above volume-rocker
6. Lower volume
7. Manually disable NR during call: ("HOME" button)
8. Factory Reset (This will wipe your data/contacts and probably only lasts until next reboot!)
9. Try to flash a different phone ROM/Firmware/Kernel/Baseband etc. (Seem like it's mostly Gingerbread 2.3.4 phones being affected.)
10. Perhaps by changing some settings in the hidden "Service Mode" menus (???)
11. Open your phone and
a) make the bottom small microphone hole in the case bigger and
b) cut some of the rubber from the lower microphone cover.
See: "Fix for low microphone volume":
http://forum.xda-developers.com/show....php?t=1127103
http://forum.xda-developers.com/show...&postcount=103
12. Attempt the above Service Center operations by yourself!

NOTE: It's highly recommended to do only ONE AT THE TIME!


Currently Recommended Solution:

A) WITH stock phone/firmware AND warranty; ask for a new phone and test it!
B) WITHOUT stock phone/firmware OR WITHOUT warranty; Try 11b!


List of Firmwares WITHOUT echo: (PDA/Phone/CSC)

"Polish Stock ROM"
"Many Indian firmwares don't have DNR (KE8 or KF3) activated"

I9100XWKE7 (2.3.3)
KI4/KI1/KH2 (XEU) Echo with DNR OFF (default) NO ech with DNR ON!
KD6/KE7/KD1 (XEU) 'same'


[ If you have/find other firmware solutions, please add them to this thread! ]


Service Mode Settings

Entering Service Mode: *#197328640# OR *#*#197328640#*#* [dial]

See: http://forum.xda-developers.com/show...2&postcount=30

These settings are probably ending up in the various audio setting files in: /system/etc/audio (which are only accessible in a rooted phone.)


Potential (Rooted) System Hacks

Tweak/check the files present in: /system/etc/audio

OR perhaps write some Tasker script; see:
http://forum.xda-developers.com/show...&postcount=125

Some custom ROMs come with NR tweaks that allow you to permanently turn ON/OFF DNR:

VillainROM (VRTweaks)
DarkyROM
Revolution 2.7.1

[Could someone confirm & provide a links to these?]


Apparently there are other ways in which you can directly hack the Phone.apk package, under certain conditions. Thus at least in theory it should be possible to directly toggle NR in memory, which could indeed be useful. Here is one variation of the APK hack:

In the Phone.apk package, find the ../res/values/bools.xml file. Edit and recompile after changing the line: "<bool name="has_in_call_noise_suppression">true</bool>".

See: "[HOWTO] disable NoiseSuppression by default, to enlarge mic volume":
http://forum.xda-developers.com/show...ghlight=volume
and start reading from this post:
http://forum.xda-developers.com/show...&postcount=107
Some additional info for hacking Phone.apk:
http://forum.xda-developers.com/show...1332137&page=3


Do you have a contribution or solution?

So if you want to contribute to the solution and permanent fix of this (or any other comments), please post the following info, as well.

1. Baseband (aka. "Phone") version
2. Kernel version
3. Build number
4. The USB-charge-port PCB version (if known)
5. Your particulars when it works and when it doesn't
6. Details on how you fixed the problem, if you did!

To find info use these codes on the dial pad:

Firmware Version: *#1234#
Hardware Version: *#2222#
Both Versions: *#8999*8376263#


That way we may hope to find and fix the problem ourselves!

Some of this I already mentioned here:
http://forum.xda-developers.com/show...7&postcount=99
http://forum.xda-developers.com/show...9&postcount=28
http://androidforums.com/samsung-gal...e-getting.html

Also try to search the "Samsung Galaxy S2 Q&A" forum for "Echo Noise Reduction".


Thanks and I hope this helps!
The Following 13 Users Say Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
(Last edited by E:V:A; 29th January 2012 at 09:52 PM.)
#2  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,788
Posts: 1,341
Join Date: Dec 2011
Location: -∇ϕ
Default ...

UPDATE: 2012-01-30

Apparently there have been many reports of very happy people doing their own SGS2 surgery following the thread:

http://forum.xda-developers.com/show....php?t=1441510

This is essentially equivalent to the solution in number #3 above!
The Following User Says Thank You to E:V:A For This Useful Post: [ Click to Expand ]
 
bazzag
Old
(Last edited by bazzag; 10th December 2011 at 01:34 PM.)
#3  
bazzag's Avatar
Senior Member
Thanks Meter 96
Posts: 191
Join Date: Jul 2011
Location: Amman
+1 for the effort, about time someone did an all-in-one topic about this rather common issue.

I've had the same problem and noticed it the day I bought my phone, a friend called and immediately complained about the echo. I did a quick Google search and found out that it's a rather common problem and caused by most case types, removing the case or disabling NR did indeed fix my problem.

Anyway, I have tried many fixes, including VillianTweaks/LeoMar's fix, turns out those only remove the ability to turn NR on/off, but it was still turned on by default. This fix however was the only one that actually worked:
http://forum.xda-developers.com/show....php?t=1332137

The fix above had a minor drawback though, the first call after reboot always had NR enabled by default. I wanted a set and forget solution to permanently disable NR so I learned a bit about deodexing/decompiling and managed to get rid of it for good, you can check the fix in here:
http://forum.xda-developers.com/show....php?t=1372718
The Following User Says Thank You to bazzag For This Useful Post: [ Click to Expand ]
 
_sem_
Old
#4  
Junior Member
Thanks Meter 3
Posts: 25
Join Date: Dec 2011
Wow

Quote:
Originally Posted by E:V:A View Post
After performing a limited number of tests, on my own, I have concluded that this problem should in ANY case be resolvable by a fix in the phone firmware/software. Obviously the phone is working without a case, and (usually) perfectly when turning off NR (noise reduction) and/or turning down the volume.
I'd disagree. I heard a slight echo also without the case (I called from a land phone to hear it myself). Lots of SGS2s work fine with cases, with NR on. Killing NR should not be considered the solution.

I've opened the phone and inserted two thin layers of white medical tape over the ear speaker (much less tape than in that hebrew sample). The original echo gone completely, with and without case. But now the other party hears a very slight echo of me. I don't consider tape a solution either. Perhaps the speaker is not mounted properly (sticks out too much)?
I was wondering about the position of the cushion, don't understand what that guy meant precisely. Mine looked a bit squashed by the case, maybe too firm contact?

> 1. The lower playback speaker is always on (!)
Are you sure? It could be transmission via the case? I guess the add-on cases increase the transmission.

> 3. BUT not all phones have echo, thus there is also a NR settings or algorithm problem that should or may be resolved by a firmware/phone/PDA update.
I'm not sure the NR algorithm can be fixed so that it can work with a faulty phone.

> Service Center Solutions:
Add 4. Replace old SIM card

I'm using stock 2.3.4 I9100XXKI1
2.6.35.7-I9100XWKI4-CL575468
root@DELL143 #2
FTA HW REV1.5
The Following User Says Thank You to _sem_ For This Useful Post: [ Click to Expand ]
 
iHoneyBadger
Old
#5  
iHoneyBadger's Avatar
Senior Member
Thanks Meter 191
Posts: 425
Join Date: Nov 2011
Location: Delhi
Baseband: KI4
ROM: MIUI 1.12.2
Kernel: Siyah 2.4.2

Everybody I talked to used to tell me that my voice echoed pretty bad. Then I switched to the KI4 modem and the issue was resolved. Maybe someone with this echo problem could try the KI4 modem and report back.

Sent from my GT-I9100
The Following User Says Thank You to iHoneyBadger For This Useful Post: [ Click to Expand ]
 
E:V:A
Old
#6  
E:V:A's Avatar
Recognized Developer - OP
Thanks Meter 1,788
Posts: 1,341
Join Date: Dec 2011
Location: -∇ϕ
@bazzag: Thanks for VillainTweaks info, I'll scratch that until further notice.

@_sem_: Essentially I agree that killing NR is not a proper solution, as it is just a remedy for a sickness, which would return in a very noisy environment when NR may be needed. But given that this will probably never get properly fixed, it seem to be the best option we have for now. ALSO:
a) In the 1st you say you called your own phone and found echo, then in the 2nd you said: "But now the other party hears a very slight echo of me." these seem the same to me, or did you mean that now you hear echo when using your mobile to call someone else?

b) > 1. The lower playback speaker is always on (!)
Actually I am not sure about this as I live in very noisy environment, but everyone standing next to me, during phone calls, say then can hear everything the other person is saying!

c) > Service Center Solutions: Add 4. Replace old SIM card
Now THIS is a shocker! Why on earth would upgrading the SIM card have anything to do with this? Where did you see and hear about this solution?

d) We have the exact same stock SW/HW!
@iHoneyBadger: Yes! Could someone provide a link for (easy/noob) instructions on: (1) where to find/download the KI4 Baseband files and (2) how to easily install only Baseband?
 
_sem_
Old
(Last edited by _sem_; 12th December 2011 at 02:14 PM.) Reason: legibility
#7  
Junior Member
Thanks Meter 3
Posts: 25
Join Date: Dec 2011
@E:V:A
> Essentially I agree that killing NR is not a proper solution, as it is just a remedy for a sickness, which would return in a very noisy environment when NR may be needed. But given that this will probably never get properly fixed, it seem to be the best option we have for now.

I think the best option is the service center if you have stock ROM. You may need to convince them first, best by showing another SGS2 that works fine with your case. But that'd take much more time for me than inserting that tape did.
It really isn't difficult. Except that I'd feel a bit better knowing the exact problem better. It may be possible that the change was just due to taking the phone apart and back, not the due to the tape. I'm too lazy to do it five times trying this and that I'd ask the next one who tries this to check if the speaker can perhaps be pushed a fraction of a mm deeper into its seat, so that the speaker would have less or no contact with the (removed) back of the case. I think this could be better than tape.

> a) In the 1st you say you called your own phone and found echo, then in the 2nd you said: "But now the other party hears a very slight echo of me." these seem the same to me, or did you mean that now you hear echo when using your mobile to call someone else?

This echo is on the level of the previous echo without case - barely noticable if you're listening carefully, but no longer an issue really. And, those phones that do not have the problem don't have any tape inside

b) > 1. The lower playback speaker is always on (!)
> Actually I am not sure about this as I live in very noisy environment, but everyone standing next to me, during phone calls, say then can hear everything the other person is saying!

I think this could also be caused by the case conducting the sound. It must also be emitting some around. I've also read some folks got improvements by cutting ugly large holes in gel cases at the back - that'd probably decrease conduction.

> c) > Service Center Solutions: Add 4. Replace old SIM card
Now THIS is a shocker! Why on earth would upgrading the SIM card have anything to do with this? Where did you see and hear about this solution?

I think it was a german forum android-hilfe
/samsung-galaxy-s2-i9100-forum/144551-probleme-beim-anrufen-echo.html
/samsung-galaxy-s2-i9100-forum/174469-echo-problem-sgs2.html
 
iHoneyBadger
Old
(Last edited by iHoneyBadger; 11th December 2011 at 08:44 PM.)
#8  
iHoneyBadger's Avatar
Senior Member
Thanks Meter 191
Posts: 425
Join Date: Nov 2011
Location: Delhi
@E:V:A

It's in the modem thread in the original development section.

Here's a link to the CWM flashable zip...

http://www.multiupload.com/0FTG1P9MK4

Edit: It's just the modem. Let us know if it helped.

Sent from my GT-i9100
 
balfGalaxy
Old
#9  
Junior Member
Thanks Meter 0
Posts: 2
Join Date: Dec 2011
Your modem did NOT work for me :(
 
colby12001
Old
#10  
Junior Member
Thanks Meter 0
Posts: 2
Join Date: Jan 2011
Default put k14 modem on my phone

so i just added the modem as of now doesnt seem to be any noticeable echos. I will use it for a day with a case and see what happens.

Tags
echo noise reduction cancellation volume
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes