Bug 452908 - internal soundcard not detected if usb-headset plugged on start
Summary: internal soundcard not detected if usb-headset plugged on start
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: pulseaudio
Version: 9
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-06-25 19:49 UTC by Stefan Neufeind
Modified: 2008-06-26 07:33 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-06-25 23:30:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Stefan Neufeind 2008-06-25 19:49:44 UTC
- 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)

but:
- having the USB-headset plugged during boot/KDE-startup results in the internal
soundcard not showing up, only the headset

however:
- lsmod still shows that the intel-sounddrivers are loaded

"workaround":
- booting without USB-headset, plugging afterwards

Comment 1 Lennart Poettering 2008-06-25 23:30:26 UTC
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
fragments.

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 07:33:52 UTC
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.