How to make RØDE audio interface work on Linux
Hi 👋,
I have recently updated the firmware of my RODE audio interface from 1.12.x to 1.13, and the device was no longer working properly on Linux, it had trouble with the microphone. I found out that it was an audio sampling issue.
dmesg -kH[feb21 16:20] usb 1-9.3: 1:1: cannot set freq 44100 to ep 0x82[ +0,005008] usb 1-9.3: 1:1: cannot set freq 44100 to ep 0x82[ +0,005019] usb 1-9.3: 1:1: cannot set freq 44100 to ep 0x82[ +0,004971] usb 1-9.3: 1:1: cannot set freq 44100 to ep 0x82[ +0,015019] usb 1-9.3: 1:1: cannot set freq 44100 to ep 0x82To fix it, I did the following:
1. Edit Pulse’s 📖 daemon.conf.
nano /etc/pulse/daemon.confAnd add the following lines:
default-sample-format = s24ledefault-sample-rate = 48000alternate-sample-rate = 480002. Disconnect the device and then kill the pulse daemon with 🔪 pulseaudio -k.
3. Connect back the device 🔌, it should work without problems.
PipeWire
Note, if you are using pipewire, you will need to run this command to set the sample rate:
pw-metadata -n settings 0 audio.access MMAP_INTERLEAVEDpw-metadata -n settings 0 audio.channels 1pw-metadata -n settings 0 audio.subformat STDpw-metadata -n settings 0 audio.format S24_3LEpw-metadata -n settings 0 clock.force-rate 48000pw-metadata -n settings 0 audio.period-size 512pw-metadata -n settings 0 audio.buffer-size 32768And restart with:
systemctl --user restart pipewire.servicesystemctl --user restart pipewire-pulse.serviceThanks for reading and happy hacking! 🥷