On Tue, 2008-09-16 at 10:23 -0700, Fernando Lopez-Lezcano wrote:
I'm trying to find out how to change the default order of the sound cards in Fedora 9 (_not_ account by account or using pulseaudio, just a global change so that soundcard modules are always loaded in the order I define). Googling was of no use (no threads where someone answers the original question in a meaningful way).
And furthermore, the ordering of the cards appears to be non-deterministic!! That is, in a machine with two sound cards, repeated reboots end up with different cards in the first slot! How can that be? Something is throwing dice to select the card??
End result, the machine is unusable if you have more than one soundcard on it (unless you don't mind sound coming out of different soundcards randomly). And there is no way (out of the box) to define which one is first. Hard to believe.
Would someone please enlighten me??
Got one answer of the list pointing to:
http://alsa.opensrc.org/index.php/MultipleCards
Adding: ---- options snd slots=snd_ice1712 alias snd-card-0 snd_ice1712 ---- to /etc/modprobe.d/sound ends up with no cards loaded at all after a reboot. Doing: ---- alias snd-card-0 snd_ice1712 options snd-ice1712 index=0 ---- instead also ends up with no drivers loaded for sound, nice... I could, of course, be doing something dumb. Does anyone have a working configuration for selecting the order of sound cards using this method? What is it exactly you changed?
Anyway.
The loading of the kernel modules is now handled by udev. The incantation in the current default modprobe configuration file for loading soundcard drivers has a reference to an environment variable that I can't find anywhere in /etc or /usr. Another mystery.
Further searches yielded:
http://alsa.opensrc.org/index.php/Udev
as a possible solution. A modification of the script posted there seems to work just fine. I'm attaching it and the special rules that need to be included. The sound card pci id is used to define which card is the first card. It would make more sense to look up the id by name (and read a configuration file from somewhere that has the information needed), instead of hard coding it in the script. But well, at least this makes our machines usable.
Now, is anyone out there in Fedora world expecting a Fedora 9 user that has two soundcards and wants to use one of them as the primary card and the other as the secondary to figure this out by him/herself?? (this is a standard setup if you don't use the mobo soundcard because you need better quality).
-- Fernando