I recently purchased a Samsung Galaxy S4 with a broken microphone which I was hoping to fix. When I made phone calls I had to put the loudspeaker on every time so the other person could hear me as the other microphone used without the loudspeaker was not functioning. I purchased a new ribbon cable with a microphone and charging port and replaced it. I then tried to charge the phone and got the following message on the phone:
Info: Charging paused. Battery temperature too low.
The device would not charge at all due to this error. So I then put the original ribbon cable with the old microphone and charging port back in the device and re-tested. The phone would charge as normal. The microphone was still faulty.
I did try cleaning the mic port with a small pin/needle and this did clear some dirt away but this still did not solve the problem
I then tried a full factory reset on the phone doing this by pressing the
power button + home button + Volume up button (whilst the phone is off.)
You can the do a full factory reset – I believe this is different from the one in the “settings” on the phone as I tried that and the microphone still would not work.
I found that when a full factory reset was done by holding the above buttons down and completing the factory reset and making a phone call the microphone started to work again.
So my beliefs so far is that the microphone issue is actually a software problem with Android OS or possibly an application conflicting with the microphone.
So from doing this the microphone is fully working again and the problem is solved.
I hope this helps someone else with the same issues.
Some extra photos that you may find useful: