Does anyone know how to change the sound card boot priority?
All tutorials are telling me to edit
/etc/modprobe.d/alsa-base.conf, but the file is missing in Raspbian Jesse.
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
The file you're looking for is located in
It's not called
All the relevant text is in that file. Just run
sudo nano /usr/share/alsa/alsa.conf, change the default sound card to 1 or whatever you prefer (obviously, 0 is default so not that one). I also deleted the # from the line that says...
load card-specific configuration files (on request) and now I have the sound coming from my cirrus audio card running Debian 8 Jessie on ras pi2.
This worked for me on Raspbian Jessie.
If you don't need the onboard audio chip (i.e. analog output or hdmi audio), disable it and then the USB audio device can become the primary device:
/lib/modprobe.d/aliases.confand comment out the line
options snd-usb-audio index=-2
$ aplay /usr/share/sounds/alsa/Front_Center.wav
I had problems with this on recent versions of Raspbian (Jessie).
There is a file called
/lib/modprobe.d which contains the line
options snd-usb-audio index=-2. That line overrides the
/etc/modprobe.d/ files, so you need to change that one. Comment out with a # the line
options snd-usb-audio index=-2
/usr/share/alsa/alsa.conf I un-commented “load card-specific configuration files (on request)” and I also replaced the content of
.asoundrc which is a hidden file in your home folder with:
pcm.!default plughw:Device ctl.!default plughw:Device
The downside of this solution is the desktop sound applet won't appear. So to control volume use the
alsamixer application or physical sound level buttons on the USB sound dongle.
References for this:
The method described here at the Raspberry Pi StackExchange worked for me. I am running Raspian Jessie.
The new piece of information was that I had to create a new
.conf file and not edit
To reorder my cards, I first create a file named
/etc/modprobe.d/alsa base.conf.It can be named anything you want as long as it ends with .conf. I then added the following:
# This sets the index value of the cards but doesn't reorder. options snd_usb_audio index=0 options snd_bcm2835 index=1 # Does the reordering. options snd slots=snd_usb_audio,snd_bcm2835
I wasn't satisfied with the previous answers giving a bit ambiguous instructions, so I figured I would document a more clear solution.
A good post here shows how to test which device and card you are seeking to use.
Find your hardware device number and card number using
aplay -l before and after pluggin your usb device in.
For my system, the usb device is listed as
card 1: CODEC [USB Audio CODEC], device 0 ...
You can confirm the device is working with
aplay -D hw:1,0 InsertYourWavFileHere.wav
Make sure to copy a valid wav audio file into your current directory and rename appropriately. If this works, then you can hardcode these values such that they will become defaults for aplay among all other audio handled by alsa (most cases)
To edit your default values you alsa config file as others have stated:
sudo nano /usr/share/alsa/alsa.conf
The specific lines you will want to change are a few pages down. You can search with Cntl+W or just scroll down.
Save the config file by pressing control+x, then nano will ask you to confirm your edits and you press Y and Enter.
I've given a full writeup here that covers all of the above and much more. Including clearing up some misconceptions and pitfalls in the ALSA config files.
The relevant essential is to disable the Broadcom audio module called
snd_bcm2835 and make sure that
snd_usb_audio is loaded fist and only.
This can be done in either of 2 ways.
Then set you ALSA config to point to the