Re: Making an (external) soundcard optional

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le Sun, 04 Jan 2009 19:50:06 +0100,Tobias Gödderz <goedderz@xxxxxxxxxxx> a écrit :
> On So, 2009-01-04 at 12:15 +0000, Dominique Michel wrote:> > Le Sun, 04 Jan 2009 12:02:44 +0100,> > Tobias Gödderz <goedderz@xxxxxxxxxxx> a écrit :> > > > I have a laptop and use an Aureon 5.1 USB card from Terratec at home,> > > and my internal sound card if I'm on the road. I am, of course, too lazy> > > to switch the default soundcard manually, so I wonder if there is a way> > > to either> > > > > > i)  make the USB soundcard the default, and automatically use the other> > >     if the USB card isn't available> > > or> > > ii) use a multi device to dupe the audio stream to both cards that> > >     doesn't fail if one card isn't available, but silently ignores that> > >     and just plays on the other one.> > > > > > Of course I could write a script that changes my ~/.asoundrc if the USB> > > card is available or not, if there is no sane way to do it with alsa.> > > > > > > It must be also possible to use udev. I am no an expert, but I know that, if> > udev load your usb sound card before alsasound, no matter what is> > in /etc/modprobe.conf, the usb sound card will be the first one, that imply> > the default card.> > > > Most users do not want that and blacklist usb_snd_audio> > in /etc/modprobe,d/blacklist.> > Hm. I tried using the index=n option, and it works in the way that the> order is preserved, but if card 0 isn't plugged in, even at boot time,> alsa still tries to use it, which results in:
The index option don't work if udev load the usb card before alsasound. In sucha case, usb_snd_audio will be the first sound card because it will be loadedbefore that alsasound the sound modules for the other cards.
In your case, I think that alsasound get confused. It would be better to loadthe usb sound card as last card. That way, alsasound will work, it willjust issue an error message about the usb sound card but will load the modulesfor the other cards.
After, I don't know if it is possible to make a .asoundrc file that will workwith and without the usb card. Maybe make 2 of them and test for the usb soundcard in ~/.profile (if using gdm) in order to symlink the one to use.
As example, if /proc/asound/card1 is your usb card:
CARD_FOUND=$(ls /proc/asound|grep card1)if [[ "$CARD_FOUND" == "card1" ]]; then    ln -s "/home/goedder/.asoundusb" "/home/goedder/.asoundrc"else    ln -s "/home/goedder/.asoundnousb" "/home/goedder/.asoundrc"fi
I never tested such a thing, but maybe that it can work.
Dominique
------------------------------------------------------------------------------_______________________________________________Alsa-user mailing listAlsa-user@xxxxxxxxxxxxxxxxxxxxxxxxxx://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux