[HDA-Intel - HD-Audio Generic, playback] USB sound with Rodecaster Pro not working

Bug #1877726 reported by nils
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Confirmed
Low
Unassigned

Bug Description

Please see https://askubuntu.com/questions/1229085/ubuntu-with-rodecaster-pro-usb-soundcard/1236257#1236257 for most background.
tl;dr:
- The Rodecaster Pro is a USB audio standard compliant device
- lsusb sees it, but alsa cannot use it
- trying the exact same setup with a Scarlett 2i2 USB device works (with some caveats, see the mentioned post)

Somehow the Rodecaster is ignored by Alsa. I am more than happy to help debug.
Alsa info is at http://alsa-project.org/db/?f=94fd609fa23912ab0a39b67676a026fd163f3f3b and also attached.

nils@blackbox:~/tmp/soundtest$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic_1 [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: USB [Scarlett 2i2 USB], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
nils@blackbox:~/tmp/soundtest$ arecord --list-devices
**** List of CAPTURE Hardware Devices ****
card 0: Generic_1 [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic_1 [HD-Audio Generic], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: USB [Scarlett 2i2 USB], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: alsa-base 1.0.25+dfsg-0ubuntu5
ProcVersionSignature: Ubuntu 5.4.0-29.33-generic 5.4.30
Uname: Linux 5.4.0-29-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu27
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC2: nils 90077 F.... pulseaudio
 /dev/snd/controlC0: nils 90077 F.... pulseaudio
 /dev/snd/controlC1: nils 90077 F.... pulseaudio
CasperMD5CheckResult: skip
CurrentDesktop: KDE
Date: Sat May 9 11:45:20 2020
EcryptfsInUse: Yes
InstallationDate: Installed on 2016-08-23 (1354 days ago)
InstallationMedia: Kubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
PackageArchitecture: all
SourcePackage: alsa-driver
Symptom: audio
Symptom_AudioUsers: pulse
Symptom_Card: Family 17h (Models 10h-1fh) HD Audio Controller - HD-Audio Generic
Symptom_DevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC2: nils 90077 F.... pulseaudio
 /dev/snd/controlC0: nils 90077 F.... pulseaudio
 /dev/snd/controlC1: nils 90077 F.... pulseaudio
Symptom_Jack: SPDIF Out, Internal
Symptom_Type: Sound works for some users but not for others
Title: [HDA-Intel - HD-Audio Generic, playback] sound not working for all users
UpgradeStatus: Upgraded to focal on 2020-05-09 (0 days ago)
dmi.bios.date: 10/14/2019
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 5222
dmi.board.asset.tag: Default string
dmi.board.name: PRIME A320M-A
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev X.0x
dmi.chassis.asset.tag: Default string
dmi.chassis.type: 3
dmi.chassis.vendor: Default string
dmi.chassis.version: Default string
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr5222:bd10/14/2019:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnPRIMEA320M-A:rvrRevX.0x:cvnDefaultstring:ct3:cvrDefaultstring:
dmi.product.family: To be filled by O.E.M.
dmi.product.name: System Product Name
dmi.product.sku: SKU
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
mtime.conffile..etc.modprobe.d.alsa-base.conf: 2020-05-09T11:23:29.080704

Revision history for this message
nils (internationils) wrote :
Revision history for this message
nils (internationils) wrote :
nils (internationils)
description: updated
Revision history for this message
nils (internationils) wrote :
Download full text (3.2 KiB)

[NOTE: Apologies for the paste, but for some reason the answer got deleted from askubuntu (This post is hidden. It was deleted 12 hours ago by fossfreedom♦. ...so much for "freedom" ; ) If someone can tell me why, I would appreciate it. I gave the answer (Rodecaster appears not to be supported) and showed a lot of debugging effort leading to that conclusion.]

I have the same issue... I tried many things, but could not get the Rodecaster working. I did learn quite a bit and got the Scarlett 2i2 working though.

  - lsusb
    Bus 001 Device 002: ID 19f7:0011 RODE Microphones RODECaster Pro
  - ls -al /dev/snd/by-id/
    lrwxrwxrwx 1 root root 12 May 6 11:44 usb-RODE_Microphones_RODECaster_Pro_00000000001A-01 -> ../controlC2
  - cat /proc/asound/cards
    2 [Pro ]: USB-Audio - RODECaster Pro
    RODE Microphones RODECaster Pro at usb-0000:01:00.0-3, high speed
  - cat /proc/asound/modules
    0 snd_usb_audio
    1 snd_hda_intel
  - lsmod | grep snd_usb_audio looks OK
  - arecord --list-devices does not show it
  - aplay -L shows usbstream:CARD=Generic HD-Audio Generic USB Stream Output and a lot of other (normal motherboard) devices but nothing with Rode and nothing else USB
  - aplay --device=usbstream
    ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
    aplay: main:828: audio open error: Invalid argument
  - cat /proc/asound/pcm does not show it
  - editing /etc/modprobe.d/alsa-base.conf to add these two lines at the end:
    options snd-usb-audio index=0
    options snd-hda-intel index=1 ...but no change after a reboot. Idea from https://unix.stackexchange.com/questions/220224/alsa-not-detecting-my-soundcard
  - editing /etc/modprobe.d/alsa-base.conf to add options snd slots=snd-usb-audio,snd-hda-intel did not change anything either
  - blacklisting snd_hda_intel in /etc/modprobe.d/blacklist-sound.conf by adding blacklist snd_hda_intel to that file (create it if necessary) and rebooting disabled it, but did not help with the USB sound for the Rodecaster
  - pulseaudio -k && sudo alsa force-reload after the changes (instead of a reboot) doesn't change anything either. Note: pulseaudio restarts itself and does not need to be manually restarted (Is there another way to restart the sound system if pulseaudio/ALSA don't work?)

The Answer (as it appears to me at least):

  - The Rodecaster is recognized as a USB device, but somehow not recognized by Alsa
  - I grabbed a Scarlett 2i2 gen3 (https://wiki.linuxaudio.org/wiki/hardware_support)
  - edited /etc/modprobe.d/alsa-base.conf to comment out #options snd-usb-audio index=-2 to allow snd-usb-audio to be the first device
  - edited /etc/modprobe.d/alsa-base.conf to add options snd slots=snd-usb-audio,snd-hda-intel at the end to have the USB audio before the HDA Intel
  - pulseaudio -k && sudo alsa force-reload to reload the alsa config

Then the Scarlett showed up. Leaving the HDA Intel first did not let the Scarlett show up.

Helpful info:

  - https://www.alsa-project.org/main/index.php/Help_To_Debug ...the alsa-info.sh looks like a fairly complete alsa debugging info summary generator
  - https://wiki.ubuntu.com/DebuggingSoundProblems
  - b...

Read more...

Changed in alsa-driver (Ubuntu):
importance: Undecided → Low
Revision history for this message
nils (internationils) wrote :

It works out-of-the-box on a windows 10 machine (both as input and output for MS teams, Skype, etc.) on which I have no admin access, so it seems to work there without extra drivers.

https://www.sweetwater.com/sweetcare/articles/getting-started-with-the-rodecaster-pro/
claims that it is class compliant on a MAC at least: "Before you can use the Rodecaster Pro, you first need to download and install the Rodecaster Pro app, as well as the firmware. The Rodecaster Pro is considered class-compliant on Mac, which means it doesn’t need third-party audio drivers. PC users will need to download ASIO4All <http://asio4all.org/> for proper connectivity. Follow the steps below to get started."

On a Macbook Pro (15inch, 2011) with High Sierra 10.13.6 (won't run Mojave) using Garageband it shows up as a RODECaster Pro Stereo, and works (recording, playback) without a problem. I see two channels (theoretically I should see 14 in a DAW I think?), but it works.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in alsa-driver (Ubuntu):
status: New → Confirmed
Revision history for this message
James Conroy-Finn (j13n) wrote :

I am experiencing the same problem with a RODECaster Pro and (in my case) Arch Linux. The following log output is generated when I connect the RODECaster via USB:

    kernel: usb 2-9.4.2: new high-speed USB device number 20 using xhci_hcd
    kernel: usb 2-9.4.2: New USB device found, idVendor=19f7, idProduct=0011, bcdDevice= 2.10
    kernel: usb 2-9.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    kernel: usb 2-9.4.2: Product: RODECaster Pro
    kernel: usb 2-9.4.2: Manufacturer: RODE Microphones
    kernel: usb 2-9.4.2: SerialNumber: 00000000001A
    kernel: hid-generic 0003:19F7:0011.0009: hiddev1,hidraw7: USB HID v1.10 Device [RODE Microphones RODECaster Pro] on usb-0000:00:14.0-9.4.2/input0
    kernel: usb 2-9.4.2: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates (clock 1)
    kernel: usb 2-9.4.2: parse_audio_format_rates_v2v3(): unable to retrieve number of sample rates (clock 1)
    mtp-probe[4037]: checking bus 2, device 20: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-9/2-9.4/2-9.4.2"
    mtp-probe[4037]: bus: 2, device: 20 was not an MTP device
    systemd-udevd[4043]: controlC4: Process '/usr/bin/alsactl restore 4' failed with exit code 99.
    mtp-probe[4050]: checking bus 2, device 20: "/sys/devices/pci0000:00/0000:00:14.0/usb2/2-9/2-9.4/2-9.4.2"
    mtp-probe[4050]: bus: 2, device: 20 was not an MTP device
    pulseaudio[1460]: E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
    pulseaudio[1460]: E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="4" name="usb-RODE_Microphones_RODECaster_Pro_00000000001A-01" card_name="alsa_card.usb-RODE_Microphones_RODECaster_Pro_00000000001A-01" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.

The RODECaster shows up in the list of cards that ALSA knows about, but PulseAudio can't find a working profile and gives up.

Revision history for this message
nils (internationils) wrote :

I posted to the alsa-user list... here is the link to the archive thread:
https://sourceforge.net/p/alsa/mailman/message/37009196/

The only answer I got so far was that the Rodecaster was apparently not completely class compliant. Hopefully someone can find more info.

Revision history for this message
Oliver Tacke (otacke) wrote :

It seems this has been addressed and fixed in kernel 5.8 by adding quirk handling to report a fixed sample rate of 48 kHz, please cmp. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/usb/format.c?h=v5.8#n412

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.