Load multiple soundcard drivers in order
Posted 06-07-2011 at 08:16 AM by DJ Shaji
I recently bought a SoundBlaster Live! 5.1vx to record music in full 24 bits per sample, and so now I have two soundcards - one PCI card and one built-in on the motherboard.
One issue that had been bugging me for a while - not that problematic, but an issue nonetheless - I have Fedora 14 - because modern distros search for and load modules in parallel to speed up the boot process, the result is that the order in which modules will be loaded becomes unpredictable. So, the soundcards become randomly assigned, and you can't tell which sound card will be the first, and which the second.
So, sometimes I'd have
and at other times
See what I'm talking about?
After some googling, I found that many people had the same problem, and none (AFAIK) had found a solution. Then it hit me. And it was good.
See, the most common sense solution - I really don't know why nobody had thought of it yet - or maybe they have - is as follows.
1. First, blacklist all sound modules. You can leave the one you want loaded as default. Add the following lines in your /etc/modprobe.d/blacklist.conf:
Of course, these are my sound drivers. Yours may vary according to what card you have.
2. Load the modules in the order you want manually using /etc/rc.local:
Notes: I am still experimenting with this, so if it works for you, and you happen to be a hot chick, send me a picture to ... uh .. help further development of this experiment.
One issue that had been bugging me for a while - not that problematic, but an issue nonetheless - I have Fedora 14 - because modern distros search for and load modules in parallel to speed up the boot process, the result is that the order in which modules will be loaded becomes unpredictable. So, the soundcards become randomly assigned, and you can't tell which sound card will be the first, and which the second.
So, sometimes I'd have
Code:
0 [CA0106 ]: CA0106 - CA0106 Sound Blaster 5.1vx [SB1070] at 0xe000 irq 12 1 [UART ]: MPU-401 UART - MPU-401 UART MPU-401 UART at 0x330, irq 10 2 [SI7012 ]: ICH - SiS SI7012 SiS SI7012 with ALC200,200P at irq 5
Code:
0 [SI7012 ]: ICH - SiS SI7012 SiS SI7012 with ALC200,200P at irq 5 1 [UART ]: MPU-401 UART - MPU-401 UART MPU-401 UART at 0x330, irq 10 2 [CA0106 ]: CA0106 - CA0106 Sound Blaster 5.1vx [SB1070] at 0xe000 irq 12
After some googling, I found that many people had the same problem, and none (AFAIK) had found a solution. Then it hit me. And it was good.
See, the most common sense solution - I really don't know why nobody had thought of it yet - or maybe they have - is as follows.
1. First, blacklist all sound modules. You can leave the one you want loaded as default. Add the following lines in your /etc/modprobe.d/blacklist.conf:
Quote:
blacklist snd-intel8x0
blacklist snd-ca0106
blacklist snd-ca0106
2. Load the modules in the order you want manually using /etc/rc.local:
Quote:
modprobe snd-ca0106
modprobe snd-intel8x0
echo DJ Shaji is awesome. Press enter to continue.
read
modprobe snd-intel8x0
echo DJ Shaji is awesome. Press enter to continue.
read
Notes: I am still experimenting with this, so if it works for you, and you happen to be a hot chick, send me a picture to ... uh .. help further development of this experiment.
Total Comments 0