On Wed, Oct 07, 2026 at 04:55:33PM +0200, Stefano L wrote: > I am on OpenBSD 7.9 on a ThinkPad T490. The internal microphone records only > silence. I sent a bug report with sendbug, and a developer answered that it > probably needs digital signal processor firmware that OpenBSD does not > support. > > So I bought a small USB microphone to use instead. I need it for work video > and audio calls in Firefox.This is what I have tried so far: > - kern.audio.record=1 and kern.video.record=1 are set, and both are in > /etc/sysctl.conf. > - dmesg shows the USB microphone as a second audio device (snd/1) with 0 play > channels, so it can only record. > - aucat -f snd/1 -o test.wav records fine and the playback has sound, so the > microphone and sndiod work. > - Starting Firefox with AUDIORECDEVICE=snd/1 firefox still gave silence. > - With sndiod flags set to -f rsnd/0 -f rsnd/1, Firefox still did not record > from the USB microphone. > - With sndiod flags set to -f rsnd/0 -F rsnd/1 and sndiod restarted, Firefox > does record from the USB microphone > > The problem now is that in a call the other person hears me, but I hear > nothing from them. As far as I can tell, Firefox sends sound in and out > through the same sndio device, and the USB microphone has no sound output, so > the speakers stay silent. > > Is there a way to make Firefox record from the USB microphone and play sound > through the laptop speakers at the same time? For example through a sndiod > setup or a Firefox setting. If it cannot be done, I would like to know that > too, so I stop trying.
Hi, Firefox (as most full-duplex programs) assume that play and rec directions are synchronized. Each device has its own clock source, so separate microphone and speakers are not synchronized, this is why sndiod must select one device. So in the short term, the only option is to use a single device (ex. a phone headset for audio calls). Phone headsets work on many laptops provided some mixerctl(1) tweaks, others require a usb adapter with a trrs jack. In the long term, to fully solve this problem sndiod will have to aggregate multiple devices into a single one. This is not trivial, but there's some progress made.

