1

I want to use a Rodecaster Pro mixer to run my audio. It runs fine on my laptop, but not on my desktop (both running Ubuntu 20.04 with kernel 5.8.18).

On my desktop, the input from microphones are working, but sound output is played very slow and distorted as if sampled down - interestingly media playback e.g. from YouTube is slowed down on my screen as well. Never seen something like that before :-)

tl;dr

Meanwhile, I have filed a bug report at https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1927255

Currently, the best hint I have and that I am investigating: The Rodecaster Pro seems be able to handle audio set to 24bit, 48kHz only. While the Linux kernel sets the 48kHz in some extra quirk handler for the Rodecaster Pro, I assume that I need to reconfigure ALSA in some way to meet the 24bit requirement (although I don't know why it's working on my laptop without any problems, just not on my desktop).

Current status: I have been trying to play a wav (encoded in 48000kHz in PCM 32 bit little endian format) sample via aplay using

aplay -f S32_LE -c 2 -r 48000 -D hw:x ~/sample.wav

where x is the appropriate card number and the rest of the arguments meet the Rodecaster's specification. It's playing fine on the laptop, but distorted on the desktop. It is possible that on one of them, ALSA is doing or not doing some resampling (either breaking something on the desktop or fixing something on the laptop)? As far as I understand, this should not be the case since I am not using the plug plugin, correct? So, must there be something happening between ALSA and the Rodecaster, probably something USB related?

Observations

I have more details down below, but the most likely hint that I have so far comes from running dmesg -w on both my machines when plugging in the Rodecaster. The output is:

desktop

[  156.337116] usb 1-4: new high-speed USB device number 6 using xhci_hcd
[  156.517968] usb 1-4: New USB device found, idVendor=19f7, idProduct=0011, bcdDevice= 2.11
[  156.517972] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  156.517975] usb 1-4: Product: RODECaster Pro
[  156.517976] usb 1-4: Manufacturer: RODE Microphones
[  156.517978] usb 1-4: SerialNumber: 00000000001A
[  156.539362] hid-generic 0003:19F7:0011.0006: hiddev3,hidraw5: USB HID v1.10 Device [RODE Microphones RODECaster Pro] on usb-0000:16:00.0-4/input0
[  156.566513] mc: Linux media interface: v0.10
[  156.583527] usb 1-4: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1).
[  156.609377] usb 1-4: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1).
[  156.632745] usbcore: registered new interface driver snd-usb-audio

laptop

[ 122.098370] usb 2-2: new high-speed USB device number 4 using xhci_hcd
[ 122.246967] usb 2-2: New USB device found, idVendor=19f7, idProduct=0011, bcdDevice= 2.11
[ 122.246973] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 122.246976] usb 2-2: Product: RODECaster Pro
[ 122.246979] usb 2-2: Manufacturer: RODE Microphones
[ 122.246982] usb 2-2: SerialNumber: 00000000001A
[ 122.285806] hid: raw HID events driver (C) Jiri Kosina
[ 122.301802] usb 2-2: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1).
[ 122.303041] usb 2-2: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates: set it to a predefined value (clock 1).
[ 122.304413] usbcore: registered new interface driver snd-usb-audio
[ 122.307003] usbcore: registered new interface driver usbhid
[ 122.307005] usbhid: USB HID core driver
[ 122.348391] hid-generic 0003:19F7:0011.0001: hiddev0,hidraw0: USB HID v1.10 Device [RODE Microphones RODECaster Pro] on usb-0000:00:14.0-2/input0

So, as far as I understand, on my laptop some interface driver is loaded that does the job, right? But not on my desktop. How can I further check what might be different on both platforms to determine what I can do to make the Rodecaster Pro work on my desktop, too? I have learned something about how sound works on Linux already - and I am willing to learn more :-D I assume it might be some form of modprobe configuration problem?

Update: I found

hid: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver

further up in the dmesg log of the desktop and

mc: Linux media interface: v0.10

further up in the log of the laptop, so there's no real difference, I guess. Dead end.

Additional information as suggested in the comments

sudo udevadm monitor

desktop

KERNEL[1865.590942] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
KERNEL[1865.601419] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[1865.612569] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid)
KERNEL[1865.612799] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/usbmisc/hiddev3 (usbmisc)
KERNEL[1865.612974] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007/hidraw/hidraw6 (hidraw)
KERNEL[1865.613056] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid)
KERNEL[1865.613151] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
KERNEL[1865.616426] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
KERNEL[1865.677444] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound)
KERNEL[1865.677677] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0p (sound)
KERNEL[1865.677912] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0c (sound)
KERNEL[1865.678075] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/controlC5 (sound)
KERNEL[1865.678150] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
KERNEL[1865.678230] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb)
KERNEL[1865.678271] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb)
KERNEL[1865.678306] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb)
KERNEL[1865.678342] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb)
KERNEL[1865.678383] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [1865.689608] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [1865.693927] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [1865.695025] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb)
UDEV  [1865.696323] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid)
UDEV  [1865.696398] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
UDEV  [1865.697069] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb)
UDEV  [1865.697653] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.3 (usb)
UDEV  [1865.698513] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/usbmisc/hiddev3 (usbmisc)
UDEV  [1865.699314] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.2 (usb)
UDEV  [1865.699793] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound)
UDEV  [1865.699910] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007/hidraw/hidraw6 (hidraw)
KERNEL[1865.701496] change   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound)
UDEV  [1865.701919] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0/0003:19F7:0011.0007 (hid)
UDEV  [1865.702558] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0p (sound)
UDEV  [1865.703109] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/pcmC5D0c (sound)
UDEV  [1865.703403] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.0 (usb)
UDEV  [1865.707163] add      /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5/controlC5 (sound)
UDEV  [1865.708834] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1 (usb)
UDEV  [1865.712130] bind     /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4 (usb)
UDEV  [1865.714516] change   /devices/pci0000:00/0000:00:02.1/0000:16:00.0/usb1/1-4/1-4:1.1/sound/card5 (sound)

laptop

KERNEL[73.917616] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
KERNEL[73.918469] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
KERNEL[73.918672] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb)
KERNEL[73.918782] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb)
KERNEL[73.918889] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb)
KERNEL[73.919019] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
UDEV  [73.935752] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
UDEV  [73.953007] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb)
KERNEL[73.956636] add      /module/snd_usbmidi_lib (module)
UDEV  [73.957630] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb)
KERNEL[73.961972] add      /module/hid (module)
KERNEL[73.962835] add      /bus/hid (bus)
KERNEL[73.962873] add      /class/hidraw (class)
UDEV  [73.966103] add      /bus/hid (bus)
KERNEL[73.972181] add      /module/snd_usb_audio (module)
UDEV  [73.973275] add      /module/hid (module)
UDEV  [73.974278] add      /module/snd_usb_audio (module)
KERNEL[73.975143] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb)
KERNEL[73.975886] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb)
KERNEL[73.975924] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound)
KERNEL[73.976038] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0p (sound)
UDEV  [73.977321] add      /module/snd_usbmidi_lib (module)
KERNEL[73.977364] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0c (sound)
UDEV  [73.977407] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb)
KERNEL[73.977435] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/controlC2 (sound)
KERNEL[73.977470] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb)
KERNEL[73.977489] add      /bus/usb/drivers/snd-usb-audio (drivers)
KERNEL[73.979239] add      /module/usbhid (module)
UDEV  [73.981525] add      /module/usbhid (module)
UDEV  [73.981982] add      /bus/usb/drivers/snd-usb-audio (drivers)
KERNEL[73.984631] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid)
KERNEL[73.984795] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
KERNEL[73.984915] add      /bus/usb/drivers/usbhid (drivers)
UDEV  [73.985188] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
UDEV  [73.987952] add      /class/hidraw (class)
UDEV  [73.989622] add      /bus/usb/drivers/usbhid (drivers)
UDEV  [73.998682] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb)
UDEV  [74.002632] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound)
UDEV  [74.007862] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.2 (usb)
UDEV  [74.008550] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.3 (usb)
UDEV  [74.011974] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0p (sound)
UDEV  [74.013611] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/pcmC2D0c (sound)
KERNEL[74.013656] change   /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound)
KERNEL[74.015404] add      /module/hid_generic (module)
KERNEL[74.015782] add      /class/usbmisc (class)
KERNEL[74.016175] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/usbmisc/hiddev0 (usbmisc)
KERNEL[74.016485] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001/hidraw/hidraw0 (hidraw)
KERNEL[74.016799] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid)
KERNEL[74.017129] add      /bus/hid/drivers/hid-generic (drivers)
UDEV  [74.017415] add      /module/hid_generic (module)
UDEV  [74.017632] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid)
UDEV  [74.019223] add      /bus/hid/drivers/hid-generic (drivers)
UDEV  [74.020516] add      /class/usbmisc (class)
UDEV  [74.023101] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0 (usb)
UDEV  [74.028094] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/usbmisc/hiddev0 (usbmisc)
UDEV  [74.030285] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2/controlC2 (sound)
UDEV  [74.035919] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1 (usb)
UDEV  [74.038564] add      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001/hidraw/hidraw0 (hidraw)
UDEV  [74.041016] bind     /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:19F7:0011.0001 (hid)
UDEV  [74.045640] change   /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.1/sound/card2 (sound)

lsmod

desktop

Module                  Size  Used by
xt_conntrack           16384  2
xt_MASQUERADE          20480  2
nf_conntrack_netlink    49152  0
nfnetlink              20480  2 nf_conntrack_netlink
xfrm_user              36864  1
xfrm_algo              16384  1 xfrm_user
xt_addrtype            16384  2
iptable_filter         16384  1
iptable_nat            16384  1
nf_nat                 49152  2 iptable_nat,xt_MASQUERADE
nf_conntrack          147456  4 xt_conntrack,nf_nat,nf_conntrack_netlink,xt_MASQUERADE
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
libcrc32c              16384  2 nf_conntrack,nf_nat
bpfilter               16384  0
br_netfilter           28672  0
bridge                212992  1 br_netfilter
stp                    16384  1 bridge
llc                    16384  2 bridge,stp
overlay               122880  0
nls_iso8859_1          16384  1
edac_mce_amd           32768  0
snd_hda_codec_ca0132   114688  1
snd_hda_codec_hdmi     61440  2
snd_usb_audio         286720  8
snd_hda_intel          53248  10
kvm                   729088  0
snd_intel_dspcfg       24576  1 snd_hda_intel
snd_hda_codec         143360  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_ca0132
snd_hda_core           94208  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_ca0132
uvcvideo               98304  0
snd_usbmidi_lib        36864  1 snd_usb_audio
snd_hwdep              20480  2 snd_usb_audio,snd_hda_codec
rapl                   20480  0
videobuf2_vmalloc      20480  1 uvcvideo
snd_seq_midi           20480  0
videobuf2_memops       20480  1 videobuf2_vmalloc
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            36864  2 snd_seq_midi,snd_usbmidi_lib
videobuf2_v4l2         28672  1 uvcvideo
snd_seq                73728  2 snd_seq_midi,snd_seq_midi_event
videobuf2_common       57344  2 videobuf2_v4l2,uvcvideo
input_leds             16384  0
snd_pcm               118784  6 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core,snd_hda_codec_ca0132
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
videodev              245760  3 videobuf2_v4l2,uvcvideo,videobuf2_common
mousedev               20480  0
joydev                 28672  0
snd_timer              40960  2 snd_seq,snd_pcm
mc                     57344  5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
xpad                   40960  0
snd                    94208  48 snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_timer,snd_pcm,snd_hda_codec_ca0132,snd_rawmidi
ff_memless             20480  1 xpad
wmi_bmof               16384  0
blackmagic_io        1904640  1
k10temp                20480  0
efi_pstore             16384  0
ccp                   102400  0
soundcore              16384  1 snd
mac_hid                16384  0
nvidia_uvm           1011712  0
sch_fq_codel           20480  2
parport_pc             45056  0
ppdev                  24576  0
lp                     20480  0
parport                65536  3 parport_pc,lp,ppdev
ip_tables              32768  2 iptable_filter,iptable_nat
x_tables               45056  5 xt_conntrack,iptable_filter,xt_addrtype,ip_tables,xt_MASQUERADE
autofs4                45056  2
dm_crypt               53248  1
hid_generic            16384  0
usbhid                 57344  0
hid                   135168  2 usbhid,hid_generic
nvidia_drm             53248  8
nvidia_modeset       1183744  14 nvidia_drm
amdgpu               5853184  3
crct10dif_pclmul       16384  1
iommu_v2               20480  1 amdgpu
crc32_pclmul           16384  0
gpu_sched              36864  1 amdgpu
nvidia              19771392  634 nvidia_uvm,nvidia_modeset
ghash_clmulni_intel    16384  0
i2c_algo_bit           16384  1 amdgpu
ttm                   106496  1 amdgpu
aesni_intel           372736  2
drm_kms_helper        225280  2 amdgpu,nvidia_drm
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
crypto_simd            16384  1 aesni_intel
sysimgblt              16384  1 drm_kms_helper
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel
fb_sys_fops            16384  1 drm_kms_helper
glue_helper            16384  1 aesni_intel
cec                    53248  1 drm_kms_helper
rc_core                53248  1 cec
r8169                  94208  0
drm                   557056  17 gpu_sched,drm_kms_helper,amdgpu,nvidia_drm,ttm
realtek                24576  1
i2c_piix4              28672  0
ahci                   40960  3
xhci_pci               20480  0
libahci                36864  1 ahci
xhci_pci_renesas       20480  1 xhci_pci
wmi                    32768  1 wmi_bmof
video                  49152  0
backlight              24576  3 video,amdgpu,drm
gpio_amdpt             20480  0
gpio_generic           20480  1 gpio_amdpt

laptop

Module                  Size  Used by
hid_generic            16384  0
usbhid                 57344  0
snd_usb_audio         282624  2
hid                   131072  2 usbhid,hid_generic
snd_usbmidi_lib        36864  1 snd_usb_audio
rfcomm                 81920  4
ccm                    20480  6
cmac                   16384  3
algif_hash             16384  1
algif_skcipher         16384  1
af_alg                 28672  6 algif_hash,algif_skcipher
bnep                   24576  2
nls_iso8859_1          16384  1
intel_rapl_msr         20480  0
uvcvideo               98304  0
videobuf2_vmalloc      20480  1 uvcvideo
videobuf2_memops       20480  1 videobuf2_vmalloc
videobuf2_v4l2         28672  1 uvcvideo
videobuf2_common       53248  2 videobuf2_v4l2,uvcvideo
videodev              245760  3 videobuf2_v4l2,uvcvideo,videobuf2_common
mc                     57344  5 videodev,snd_usb_audio,videobuf2_v4l2,uvcvideo,videobuf2_common
intel_rapl_common      28672  1 intel_rapl_msr
snd_hda_codec_realtek   131072  1
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek
x86_pkg_temp_thermal    20480  0
iwldvm                241664  0
intel_powerclamp       20480  0
snd_hda_codec_hdmi     61440  1
mac80211              917504  1 iwldvm
snd_hda_intel          53248  4
coretemp               20480  0
snd_intel_dspcfg       24576  1 snd_hda_intel
snd_hda_codec         143360  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core           94208  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              20480  2 snd_usb_audio,snd_hda_codec
libarc4                16384  1 mac80211
snd_seq_midi           20480  0
snd_seq_midi_event     16384  1 snd_seq_midi
iwlwifi               364544  1 iwldvm
snd_pcm               118784  5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
kvm_intel             282624  0
btusb                  57344  0
snd_rawmidi            36864  2 snd_seq_midi,snd_usbmidi_lib
btrtl                  24576  1 btusb
snd_seq                73728  2 snd_seq_midi,snd_seq_midi_event
btbcm                  16384  1 btusb
btintel                28672  1 btusb
joydev                 28672  0
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
kvm                   729088  1 kvm_intel
snd_timer              40960  2 snd_seq,snd_pcm
bluetooth             626688  31 btrtl,btintel,btbcm,bnep,btusb,rfcomm
at24                   24576  0
mei_me                 40960  0
rapl                   20480  0
cfg80211              782336  3 iwldvm,iwlwifi,mac80211
intel_cstate           20480  0
input_leds             16384  0
serio_raw              20480  0
ecdh_generic           16384  2 bluetooth
mei                   110592  1 mei_me
snd                    94208  25 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
ecc                    32768  1 ecdh_generic
soundcore              16384  1 snd
tpm_infineon           20480  0
mac_hid                16384  0
sch_fq_codel           20480  6
parport_pc             45056  0
ppdev                  24576  0
lp                     20480  0
parport                65536  3 parport_pc,lp,ppdev
ip_tables              32768  0
x_tables               45056  1 ip_tables
autofs4                45056  2
dm_crypt               49152  1
rtsx_pci_sdmmc         28672  0
i915                 2273280  17
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
ghash_clmulni_intel    16384  0
aesni_intel           372736  10
crypto_simd            16384  1 aesni_intel
cryptd                 24576  4 crypto_simd,ghash_clmulni_intel
glue_helper            16384  1 aesni_intel
i2c_algo_bit           16384  1 i915
drm_kms_helper        225280  1 i915
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
psmouse               159744  0
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
cec                    53248  2 drm_kms_helper,i915
ahci                   40960  3
i2c_i801               32768  0
rc_core                53248  1 cec
libahci                36864  1 ahci
i2c_smbus              20480  1 i2c_i801
r8169                  94208  0
xhci_pci               20480  0
rtsx_pci               90112  1 rtsx_pci_sdmmc
drm                   561152  10 drm_kms_helper,i915
lpc_ich                24576  0
xhci_pci_renesas       20480  1 xhci_pci
realtek                24576  1
wmi                    32768  0
video                  49152  1 i915

aplay --dump-hw-params -D hw:x -t raw /dev/zero

Running

pulseaudio -k
aplay --dump-hw-params -D hw:x -t raw /dev/zero

where x is the respective card number yields the same for the desktop and the laptop:

Playing raw data '/dev/zero' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:x":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S32_LE
SUBFORMAT:  STD
SAMPLE_BITS: 32
FRAME_BITS: 64
CHANNELS: 2
RATE: 48000
PERIOD_TIME: (166 1365334)
PERIOD_SIZE: [8 65536]
PERIOD_BYTES: [64 524288]
PERIODS: [2 1024]
BUFFER_TIME: (333 2730667)
BUFFER_SIZE: [16 131072]
BUFFER_BYTES: [128 1048576]
TICK_TIME: ALL
--------------------
aplay: set_params:1343: Sample format non available
Available formats:
- S32_LE

More details

  • I have already tried to use different USB ports, 2.0 and 3.0, etc. Didn't make a difference.

  • I have disabled other audio devices via pavucontrol - to no avail.

  • I have disabled the motherboard's audio card and I have removed all other audio output interfaces physically - removed a Soundblaster and my graphics card that could output audio via HDMI. Didn't make a difference.

  • I have booted a plain Ubuntu 21.04 from a pen drive (with not other audio hardware inside) - didn't work.

  • I killed pulse audio (pulseaudio -k) and ran a wav sample using aplay. Sound is still distorted.

  • The Rodecaster Pro registers as a USB HID device, but does not support the UAC2_CS_RANGE usb function call. That's why special handling was introduced to the Linux kernal (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/usb/format.c?h=v5.8#n412), but that's fine - well, listed in pulse audio at least.

  • My Rodecaster Pro runs firmware 2.1.1, but that's should not be relevant, since it's working on my laptop.

3
  • Can you sudo udevadm monitor while connecting to the desktop? Compare lsmod on both systems?
    – waltinator
    May 2 at 18:09
  • Please edit your post to add new information, properly formatted. Information added via comments is hard for you to format, hard for us to read and ignored by future readers. Please click edit and add that vital information to your question so all the facts we need are in the question. Please don't use Add Comment, since that's our uplink to you. All facts about your system should go in the Question with edit.
    – waltinator
    May 2 at 18:10
  • @waltinator Thanks! I have added that missing piece of information. May 2 at 18:46
0

Partial answer:

If input from microphones from the Rodecaster Pro are working, then it's definitely getting picked up by the ALSA kernel drivers. So you also should see

usbcore: registered new interface driver snd-usb-audio

somewhere, possibly further up (if some other device is using snd-usb-audio), possibly further down.

If the sound is distorted without Pulseaudio, it's something in the ALSA driver. Possibly snd-usb-audio needs a "quirk" for you device, as the error messages indicate something is not working.

To debug:

  • Make sure the kernel version is absolutely identical.
  • Disable Pulseaudio.
  • aplay --dump-hw-params -D hw:0 -t raw /dev/zero will show hardware parameters, use the right ALSA hw device instead of hw:0. See if there are any differences.
  • If this doesn't give any hints, you'll have to debug snd-usb-audio with your device. I'd recommend to file a bug against the kernel developer list, the developers can give you details how to get the information they need.
4
  • Thanks a lot! I really appreciate your help, because I've never been down that deep into Linux. The kernel version is absolutely identical (5.8.18), and unfortunately, the output is identical on both systems (except for the card number), see updated question. I'll try to learn myself how to file a potential bug, I don't want to be a burden here. May 2 at 19:27
  • Thanks again: In fact snd-usb-audio had been loaded before - a webcam had been attached. I have updated the description after removing the cam and rebooting. Now I am wondering if by the error messages you meant what I had hinted to at the end: There already is extra quirk handling of that card to get a sample rate ((git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/…) May 2 at 19:46
  • You can use aplay -l to find the right number for hw:x. But the quirk seems to have been applied (the rate is 48000). File a bugreport.
    – dirkt
    May 3 at 4:30
  • Thanks for getting back! I already did use aplay -l and ran the hardware dump with the result above - it's identical on both systems. I just got an email from the Rode support that may have some relevant input: "Please ensure the software's preferences are set to 24bit, 48kHz." The hardware dump output of aplay mentions "FORMAT: S32_LE" and "SAMPLE_BITS: 32", so I assume that's relevant. I was just about to investigate how I can set that bit rate/format appropriately. May 3 at 5:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.