Le Sun, 4 Jan 2009 21:00:35 +0000,
Dominique Michel <dominique.mic...@vtxnet.ch> a écrit :

> Le Sun, 04 Jan 2009 19:50:06 +0100,
> Tobias Gödderz <goedd...@uni-bonn.de> 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 <goedd...@uni-bonn.de> 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
> such a case, usb_snd_audio will be the first sound card because it will be
> loaded before that alsasound the sound modules for the other cards.
before that alsasound load the sound modules for the other cards.

> 
> In your case, I think that alsasound get confused. It would be better to load
> the usb sound card as last card. That way, alsasound will work, it will
> just issue an error message about the usb sound card but will load the modules
> for the other cards.
> 
> After, I don't know if it is possible to make a .asoundrc file that will work
> with and without the usb card. Maybe make 2 of them and test for the usb sound
> card 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
Sorry! That will work:

CARD_FOUND=$(ls /proc/asound|grep card1)
if [[ "$CARD_FOUND" == "card1" ]]; then
    rm "/home/goedder/.asoundrc"
    ln -s "/home/goedder/.asoundusb" "/home/goedder/.asoundrc"
else
    rm "/home/goedder/.asoundrc"
    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 list
> Alsa-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-user

------------------------------------------------------------------------------
_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to