Are wired headsets with microphones currently expected to work with the Librem 5?
When plugging in headsets I see the audio output is routed to the headphones and the headphone profile is selected within the output devices within the sound settings window. But, the input remains set to internal microphone and there is no option for headset microphone in the input device drop down.
I have tried both my standard headset which I have confirmed working with other devices and the earbuds supplied with the phone both with the same result.
I assumed “plugged in” means “plugged in to the 3.5mm headphone socket at the top of the phone” (as distinct from a USB headset plugged in to the USB-C port at the bottom of the phone).
All the evidence is that this is a TRRS socket, so it should work.
Granted that the input device drop down does not change, does it actually work?
No, not yet - at least not automatically. See https://source.puri.sm/Librem5/linux-next/-/issues/5
I would think your assumption would be a given as the earbuds supplied with the phone come fitted with a 3.5mm TTRS jack and are not a USB device.
By “not recognised” I mean the phone does not seem to register or detect that the hardware has been attached and is available. So, no, it does not actually work.
Thank you dos, for the confirmation and link to the issue report. The issue report gives me enough to be able to test the hardware on the phone.
And although it doesn’t have the convenience of auto detect and switching, I can at least set the phone up to make use of the headset microphone.
Edit: To give some additional detail to this, the i2ctransfer writes only work for me when the headset is disconnected from the phone (Evergreen/amber-phone). With the headset plugged in the i2ctransfer writes silently fail or don’t take.
I was slightly disconcerted by the note regarding the -f flag from the man pages which reads " It can also cause i2ctransfer to silently write to the wrong register." @dos Have you experienced any problems or issues in this area?
The audio stream needs to be already active for it work, otherwise the kernel’s power management routines will overwrite it (which is why it needs additional work kernel-side).