Bug 452908 - internal soundcard not detected if usb-headset plugged on start
internal soundcard not detected if usb-headset plugged on start
Product: Fedora
Classification: Fedora
Component: pulseaudio (Show other bugs)
All Linux
low Severity medium
: ---
: ---
Assigned To: Lennart Poettering
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-06-25 15:49 EDT by Stefan Neufeind
Modified: 2008-06-26 03:33 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-06-25 19:30:26 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Stefan Neufeind 2008-06-25 15:49:44 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
Comment 1 Lennart Poettering 2008-06-25 19:30:26 EDT
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.
Comment 2 Stefan Neufeind 2008-06-26 03:33:52 EDT
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.

Thank you!

Note You need to log in before you can comment on or make changes to this bug.