‹ jan0sch.de

FreeBSD: No microphone in Firefox after upgrade to 14.1.

2024-07-20

After upgrading some workstations from 14.0 to 14.1 the microphone (audio recording) in Firefox stopped working. This came as a surprise because it worked for years without any issues. So, time to do some debugging! :-)

In the logs messages from PulseAudio showed up:

... XXX pulseaudio[12345]: [] oss-util.c: '/dev/dsp0' doesn't support full duplex
... XXX pulseaudio[12345]: [] oss-util.c: '/dev/dsp1' doesn't support full duplex
... XXX pulseaudio[12345]: [] oss-util.c: '/dev/dsp2' doesn't support full duplex
... XXX pulseaudio[12345]: [] cli-command.c: stat('/usr/local/etc/pulse/default.pa.d'): No such file or directory

A bit of research reveals that Firefox is using PulseAudio by default and we do not find it running. Sadly fixing the error with the missing directory doesn’t help either. We can start it manually now but it is not started automatically as intended by programs that need it.

But Firefox can be told to use the OSS sound driver which is already baked into FreeBSD:

  1. start Firefox
  2. type about:config in the address bar, press Enter and confirm that you’re sure
  3. add a new key of the type String named media.cubeb.backend
  4. enter the value oss for the new key

And that should be it! Firefox is using OSS now and the microphone works as before. =)

Thanks to the helpful people over at the official FreeBSD forums for showing how to solve this!