如何让音频混音器 Rodecaster Pro 在 Ubuntu 20.04 上运行?(USB/音频驱动程序可能存在问题)

如何让音频混音器 Rodecaster Pro 在 Ubuntu 20.04 上运行?(USB/音频驱动程序可能存在问题)

我想使用 Rodecaster Pro 混音器来播放音频。它在我的笔记本电脑上运行良好,但在我的台式机上运行不佳(两者都运行带有内核 5.8.18 的 Ubuntu 20.04)。

在我的台式机上,麦克风的输入可以正常工作,但声音输出却非常慢,而且失真,就像采样率降低一样 - 有趣的是,在我的屏幕上播放媒体(例如 YouTube)的速度也变慢了。以前从未见过这样的情况 :-)

总结

同时,我已在以下网址提交了一份错误报告:https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1927255

目前,我所知道的最好的提示和我正在研究的提示是:Rodecaster Pro 似乎只能处理设置为 24 位、48kHz 的音频。虽然 Linux 内核在某些额外的怪癖处理程序中为 Rodecaster Pro 设置了 48kHz,但我认为我需要以某种方式重新配置 ALSA 以满足 24 位要求(虽然我不知道为什么它在我的笔记本电脑上没有任何问题,但在我的台式机上却不行)。

aplay目前状态:我一直在尝试通过使用播放 wav(以 48000kHz 的 PCM 32 位小端格式编码)样本

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

其中 x 是相应的卡号,其余参数符合 Rodecaster 的规格。它在笔记本电脑上播放正常,但在台式机上失真。有可能在其中一个上,ALSA 正在进行或没有进行某些重采样(要么破坏台式机上的某些东西,要么修复笔记本电脑上的某些东西)?据我所知,情况应该不是这样,因为我没有使用插头插件,对吗?那么,ALSA 和 Rodecaster 之间一定发生了什么事情,可能是与 USB 有关的事情?

观察结果

下面有更多详细信息,但目前为止我得到的最可能的提示来自dmesg -w插入 Rodecaster 时在两台机器上运行的结果。输出为:

桌面

[  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

笔记本电脑

[ 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

因此,据我所知,我的笔记本电脑上加载了一些接口驱动程序,可以完成这项工作,对吗?但我的台式机上没有。我如何进一步检查两个平台上可能存在哪些不同,以确定我可以做些什么让 Rodecaster Pro 也能在我的台式机上工作?我已经了解了一些关于声音在 Linux 上的工作原理 - 我愿意了解更多 :-D

更新:我发现

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

在桌面的 dmesg 日志中

mc: Linux media interface: v0.10

在笔记本电脑的日志中更靠前,所以我想没什么区别。死胡同。

可能有用的其他信息

sudo udevadm 监视器

桌面

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)

笔记本电脑

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)

修改

桌面

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

笔记本电脑

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

跑步

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

其中 x 是相应的卡号,对于台式机和笔记本电脑的结果相同:

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

更多细节

  • 我已经尝试使用不同的 USB 端口,2.0 和 3.0 等等。没有什么区别。

  • 我已通过 - 禁用其他音频设备,pavucontrol但无济于事。

  • 我已禁用主板的声卡,并已物理移除所有其他音频输出接口 - 移除了 Soundblaster 和可以通过 HDMI 输出音频的显卡。但没什么效果。

  • 我已经从笔式驱动器启动了普通的 Ubuntu 21.04(里面没有其他音频硬件)——但没有工作。

  • 我关闭了脉冲音频 ( pulseaudio -k) 并使用 运行了 wav 样本aplay。声音仍然失真。

  • Rodecaster Pro 注册为 USB HID 设备,但不支持 UAC2_CS_RANGE usb 函数调用。这就是为什么在 Linux 内核中引入特殊处理的原因(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/usb/format.c?h=v5.8#n412),但这样没问题——至少在脉冲音频中列出。

  • 我的 Rodecaster Pro 运行固件 2.1.1,但这应该不相关,因为它在我的笔记本电脑上运行。

答案1

这听起来和我遇到的问题非常相似这里。我使用 pcie usb 卡解决了这个问题。看来 amd 芯片组 usb 端口和 rodecaster pro 之间存在某种不良交互,因此使用 pcie 卡会绕过 amd usb 芯片组。

答案2

也在这里发表我的看法。使用富士通 U 系列笔记本电脑、Ubuntu 20、内核 5.13.0-28-generic 时,我无法让 Rodecaster Pro 正常工作,当使用带有 USB 3.0 端口的扩展坞时,Rodecaster Pro 工作正常。

相关内容