Microphone not working during phone calls (Evergreen/Byzantium)

Hi all.

As title says, my phone is not recording microphone input during the calls. Other party will not hear anything while call is ongoing.
This is kind of weird, as I would swear that it was working fine the first day I got the phone.

I flashed the phone with latest Byzantium image, using the info from docs, but no change whatsoever.

I found a workaround though. If I go to Settings -> Sound during the call, and change Input Device to “Analog Input - Modem”, it will start working. The problem is that I need to do this every call, and I also need to increase volume every time.

Does anyone have the same issue? I searched the forums and issues on GitLab, but haven’t found anything.

I found this in journalctl log during the calls, I believe it’s relevant:

Dec 03 16:26:14 pureos ModemManager[693]: [modem1/call9] user request to accept call
Dec 03 16:26:15 pureos ModemManager[693]: [modem1/call9] call is accepted
Dec 03 16:26:15 pureos ModemManager[693]: [modem1/call9] call state changed: ringing-in -> active (accepted)
Dec 03 16:26:15 pureos feedbackd[924]: Tried to end non-existing event 298
Dec 03 16:26:15 pureos pulseaudio[3626]: Configured maximum latency is smaller than latency, using latency instead
Dec 03 16:26:15 pureos ModemManager[693]: [modem1] unexpected incoming call to number ‘+XXXXXXXXXXXX’ reported in call list: state active
Dec 03 16:26:15 pureos pulseaudio[3626]: Configured latency of 200.00 ms is smaller than minimum latency, using minimum instead
Dec 03 16:26:15 pureos pulseaudio[3626]: Cannot set requested sink latency of 60.75 ms, adjusting to 100.00 ms
Dec 03 16:26:15 pureos pulseaudio[3626]: Cannot set requested source latency of 60.75 ms, adjusting to 100.00 ms
Dec 03 16:26:15 pureos pulseaudio[3626]: Configured maximum latency is smaller than latency, using latency instead
Dec 03 16:26:15 pureos pulseaudio[3626]: Cannot set requested sink latency of 50.00 ms, adjusting to 100.00 ms
Dec 03 16:26:15 pureos pulseaudio[3626]: Cannot set requested source latency of 50.00 ms, adjusting to 100.00 ms
Dec 03 16:26:15 pureos gnome-control-c[3811]: g_utf8_casefold: assertion ‘str != NULL’ failed
Dec 03 16:26:15 pureos gnome-control-c[3811]: g_utf8_casefold: assertion ‘str != NULL’ failed
Dec 03 16:26:15 pureos pulseaudio[3626]: Doing resync
Dec 03 16:26:15 pureos pulseaudio[3626]: Playback after capture (-10624252), drop sink 340016
Dec 03 16:26:15 pureos phosh[903]: Failed to claim proximity sensor: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name net.hadess.SensorProxy was not provided by any .service files
Dec 03 16:26:15 pureos gnome-control-c[3811]: g_utf8_casefold: assertion ‘str != NULL’ failed
Dec 03 16:26:15 pureos gnome-control-c[3811]: g_utf8_casefold: assertion ‘str != NULL’ failed
Dec 03 16:26:16 pureos pulseaudio[3626]: Playback too far ahead (78858), drop source 2520
Dec 03 16:26:17 pureos pulseaudio[3626]: Playback too far ahead (10282), drop source 328
Dec 03 16:26:18 pureos pulseaudio[3626]: Playback too far ahead (10134), drop source 324
Dec 03 16:26:19 pureos pulseaudio[3626]: Playback too far ahead (10186), drop source 324
Dec 03 16:26:20 pureos pulseaudio[3626]: Playback too far ahead (10272), drop source 328
Dec 03 16:26:21 pureos pulseaudio[3626]: Playback too far ahead (10067), drop source 320
Dec 03 16:26:29 pureos ModemManager[693]: [modem1/call9] user request to hangup call
Dec 03 16:26:29 pureos ModemManager[693]: [modem1/call9] couldn’t hangup single call with call id ‘1’: Operation not allowed
Dec 03 16:26:29 pureos ModemManager[693]: [modem1/call9] call state changed: active -> terminated (terminated)

My guess is that there’s some issue with PulseAudio configuration, but I’m not familiar enough with it to conclude anything useful.

1 Like

If you have time to do that, it would probably be a good idea to create an issue about it here: https://source.puri.sm/Librem5/OS-issues/-/issues

Better clear that phone number(s?) out of the journal output.

1 Like

Whoopsy-daisy, fixed. Thanks.

Will do in a jiffy, I just got home.

1 Like

@Skalman Well, maybe not in a jiffy, since I don’t have an account on purism GitLab. I registered an account, and will do it as soon as (if?) someone approves it.

1 Like

Did you check the microphone kill switch was not activated?

4 Likes

I have no words to describe my facepalm. Kill switch was activated. Thank you.

4 Likes

This would loop the incoming audio back into the modem. I assume that you have tested that with two phones right next to each other, right? :smiley:

Yeah, I have only one head :slightly_smiling_face:

I actually wanted to disable the webcam, and completely forgot that it will disable the microphone. And I also completely ignored systray showing microphone crossed out.

1 Like

This may be a dumb question, but while on a call, can you flick the microphone kill switch on and off to effectively use it as a mute?

1 Like

Just tried it, other party confirmed that it completely mutes the mic, and I could still hear them. Once I flicked the switch back on, the microphone started working as normal.

I captured the log from journald during the test, if anybody’s interested:

Dec 04 17:11:25 pureos systemd[1]: Starting Load/Save RF Kill Switch Status…
Dec 04 17:11:25 pureos systemd[1]: Started Load/Save RF Kill Switch Status.
Dec 04 17:11:30 pureos systemd[1]: systemd-rfkill.service: Succeeded.
Dec 04 17:11:32 pureos systemd[1]: Starting Load/Save RF Kill Switch Status…
Dec 04 17:11:32 pureos systemd-udevd[13081]: rfkill1: Process ‘/usr/sbin/rmmod s5k3l6xx’ failed with exit code 1.
Dec 04 17:11:32 pureos systemd[1]: Started Load/Save RF Kill Switch Status.
Dec 04 17:11:32 pureos systemd-udevd[13081]: rfkill1: Process ‘/usr/sbin/rmmod hi846’ failed with exit code 1.
Dec 04 17:11:37 pureos systemd[1]: systemd-rfkill.service: Succeeded.

No idea what’s with the failing rmmod which got in there, but I haven’t noticed anything abnormal.

1 Like

So I’ve also been experiencing issues of with my microphone not working during calls. It first started a few weeks ago I suppose. I did read through this thread though, I have no issues with the position of my kill switches. In fact, I can see activity (i.e., sounds being registered) from the microphone from within the gnome control center -> sound panel, so it’ isn’t like the device is muted or deactivated. That said, when I am on a call the other side can’t hear anything, I can hear them but they can’t hear me.

Would anybody happen to have any ideas regarding how to get this aspect of my phone working properly? Thanks in advance!

I had this problem as well going back a few weeks. I would say first week of January. I stopped using the Librem 5 as my daily phone, and have decided to put it aside for a few weeks, possibly months. I think there are some threads and open tickets regarding audio routing, but I can’t tell you when they’ll be resolved. I’m looking forward to going back to my L5. I miss the warm touch of my L5 in my breast pocket on a cold winter day. Literally!

A wild guess:
You could check the version number of Gnome Calls.
It has been updated recently.
Check this thread for more details.