Mic mute does not work on Nexus4

Bug #1190673 reported by Alan Pope 🍺🐧🐱 πŸ¦„
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dialer-app
Fix Released
High
Tiago Salem Herrmann
dialer-app (Ubuntu)
Fix Released
High
Tiago Salem Herrmann
Saucy
Fix Released
High
Tiago Salem Herrmann
ofono (Ubuntu)
Invalid
High
Tony Espy
Saucy
Invalid
High
Tony Espy

Bug Description

Saucy 8 image on Mako (nexus 4). (had same problem on raring)

make a phone call
press the Speaker or microphone button to enable speakerphone or mute mic
Neither button works.

expect speaker button to enable speakerphone and mic button to mute microphone.

Related branches

affects: phone-app → dialer-app
Changed in dialer-app:
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Revision history for this message
Omer Akram (om26er) wrote : Re: Mic mute does not work

The speaker phone does work now. Its the mute button that does not. Also the 'pause/hold' button does not work either, from what I know that getting implemented this cycle so better remove that button from the UI

summary: - Speakerphone / mic mute buttons don't work
+ Mic mute does not work
tags: added: avengers
tags: removed: avengers
Changed in dialer-app:
importance: Undecided → Medium
Changed in dialer-app (Ubuntu):
importance: Undecided → Medium
Changed in dialer-app:
status: New → Confirmed
Changed in dialer-app (Ubuntu):
status: New → Confirmed
Revision history for this message
Bill Filler (bfiller) wrote :

mic mute works for me on Galaxy Nexus using Sep 16 build. Can someone try it on Galaxy Nexus to confirm?

Changed in dialer-app:
importance: Medium → High
Changed in dialer-app (Ubuntu):
importance: Medium → High
tags: added: dialer-app-sept-2013
Revision history for this message
Dave Morley (davmor2) wrote :

On image 54 this is working for me on Maguro.

The Mute button knocks the mic off and when re-enabled makes it work again. The Speaker button works as expected too.

Revision history for this message
Bill Filler (bfiller) wrote :

This is a Nexus 4 specific bug. Works as expected on Maguro.

summary: - Mic mute does not work
+ Mic mute does not work on Nexus4
Changed in ofono (Ubuntu Saucy):
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Tony Espy (awe)
Changed in dialer-app (Ubuntu Saucy):
assignee: nobody → Tiago Salem Herrmann (tiagosh)
Changed in dialer-app:
assignee: Gustavo Pichorim Boiko (boiko) → Tiago Salem Herrmann (tiagosh)
Revision history for this message
Tony Espy (awe) wrote :

I mentioned last week that there was a fix in the nemomobile call-volume code which fixed the parsing of the GET_MUTE response, and that I was hopeful that this would fix the problem. It doesn't...

I've run RIL traces on both phones, and I see the exact same sequence of requests sent.

On startup, the mute state is probed, and on both, it's enabled. When an outgoing call is made, REQUEST_SET_MUTE (0) is sent to RIL on both phones to disable mute at the start of a call. When the mute button is pressed, I see REQUEST_SET_MUTE (1) sent for both, with a normal response returned.

So for some reason, the Nexus4 RILD is ignoring the mute request.

The next step to debug is to flash vanilla Cyanogenmod and enable RILC tracing.

Revision history for this message
Tony Espy (awe) wrote :

I flashed vanilla Cyanogenmod 10.1 on my mako, and the mute function works as expected. Time to poke through some RIL IPC traces next.

Revision history for this message
Tony Espy (awe) wrote :

I also flashed CM 10.1 on maguro, and ran the same scenario. It looks to me like mako isn't using REQUEST_SET_MUTE to enable mute when the button is pressed, whereas maguro does send a REQUEST_SET_MUTE with the value "1" to enable the call mute.

I'll spend some time looking at the Android/CM code and see if I can determine whether not mako is using an alternative mechanism...

Revision history for this message
Tony Espy (awe) wrote :

Suspicion confirmed, mako routes mic mute requests directly to the AudioManager, whereas maguro relies on RILD to mute the mic.

The code in question is ( see line 2020 ):

http://androidxref.com/source/xref/packages/apps/Phone/src/com/android/phone/PhoneUtils.java

Also, if you do a search for the symbol 'send_mic_mute_to_AudioManager', you'll find an overlay resource file for mako, which sets this value in the phone app:

http://androidxref.com/source/xref/device/lge/mako/overlay/packages/apps/Phone/res/values/config.xml

So... to fix this bug, we'll need assistance from David Henningsson.

Revision history for this message
Tony Espy (awe) wrote :

Due to the analysis posted in comment #8, I just marked the ofono ( Ubuntu ) task as Invalid.

Changed in ofono (Ubuntu Saucy):
status: Confirmed → Invalid
Revision history for this message
David Henningsson (diwic) wrote :

I wrote the PulseAudio backend for setting mic mute and call volume from telepathy-ofono a while ago. The code is available for review here:

https://code.launchpad.net/~diwic/telepathy-ofono/micmute

However I believe tiago needs to connect this to the ordinary mic mute path too.

Changed in dialer-app:
status: Confirmed → Fix Released
Changed in dialer-app (Ubuntu):
status: Confirmed → Fix Released
Changed in dialer-app (Ubuntu Saucy):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.