USB sound card recognised but not being used

Hi,

I’m trying to setup a rpi2 to use a USB soundcard.
I have the musicbox settings set to usb but sound defaults to HDMI, and if that is not plugged in the headphone jack.
I’ve tried everything I’ve found online - outputs here:
My usb card ( Asus Xonar U3) is 0 here:

root@MusicBox:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB Advanced Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

cat /etc/modprobe.d/alsa-base.conf
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
# Keep snd-pcsp from beeig loaded as first soundcard
options snd-pcsp index=-2o
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=0 
options snd-bcm_2835 index=1
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2

root@MusicBox:/# cat /etc/rc.local 
#!/bin/bash
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#

/opt/musicbox/startup.sh
modprobe snd-usb-audio

exit 0
root@MusicBox:/# lsusb   
Protocol spec without prior Class and Subclass spec at line 17454
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 004: ID 040b:2013 Weltrend Semiconductor 
Bus 001 Device 005: ID 0b05:17a0 ASUSTek Computer, Inc. Xonar U3 sound card
Bus 001 Device 006: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0

I’m fairly new to pi and linux in general, and have no idea what to do from here?

Any ideas?

Thanks.

I’m still struggling with this.
I have now found that if I run:
speaker-test -c2 -D hw:0,0

I can get the whitenoise played through my USB card… so it definitely works! I just can’t get it set as my default option or musicbox playing through it.

I have noticed that in the startup output setting sound configuration…found unknown device is displayed briefly, then it sets my hdmi output…

I’m hoping someone can help me override this?

Have you tried the latest version of the setsound script? USB audio bugs were fixed in that. Instructions at https://github.com/woutervanwijk/Pi-MusicBox/issues/216#issuecomment-75832516

1 Like

That has fixed it, thanks so much - I spent many many hours with this!