Red Hat Bugzilla – Bug 452908
internal soundcard not detected if usb-headset plugged on start
Last modified: 2008-06-26 03:33:52 EDT
- booting/starting KDE with just the internal Intel-soundcard works fine
- plugging USB-headset afterwards results in a second soundevice in pulseaudio
(e.g. in pavucontrol)
- having the USB-headset plugged during boot/KDE-startup results in the internal
soundcard not showing up, only the headset
- lsmod still shows that the intel-sounddrivers are loaded
- booting without USB-headset, plugging afterwards
You probably have some modprobe.conf fragment lying around that binds the alsa
index for the internal card to 0. Probably system-config-sound created it. s-c-s
is deprecated for the very reason of breaking setups like yours with these
Problem is like this: we nowadays load all kernel modules in parallel at bootup.
It is not deterministic which driver is initialized first. Apparently on your
setup the usb audio driver wins most of the time. Tt will pick the first
available audio card index, which is 0. Then the pci card will be initialized,
since it is bound via the modprobe.conf fragment to index 0 it will fail to
initialize because there is already an audio card by that index. If however, the
cards are initialized in the opposite order, everything will work fine, because
the pci card can be assigned the index 0, and then the usb driver picks the next
free one, which is 1.
The fix is easy: just remove the modprobe.conf fragment. This will make the
indexes to be assigned fully dynamically, which is how we do things now.
This bug is completely unrelated to PulseAudio btw.
I didn't expect it to be a cause like this because the drivers were "fully"
loaded it seems, according to lsmod. But you were completely right.
Removed modprobe.conf, works now.