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.

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.

Whoopsy-daisy, fixed. Thanks.

Will do in a jiffy, I just got home.

@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.

Did you check the microphone kill switch was not activated?

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

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.

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?

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.

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.