Bugzilla – Bug 231260
USB Sound Card not loaded / not working on cold boot
Last modified: 2008-04-25 13:54:13 UTC
This is a pretty odd... I have a computer with 2 sound cards. One is on board, the other is a creative Audigy 2 NX which is connected via USB. Usually they work like a charm with other OS but only sometimes with openSUSE 10.2: When I do a cold boot of the system the USB card (or its driver) is not loaded and the card is not working. To reproduce this it is necessary to take the computer off the mains for a moment before. Otherwise it loads fine when doing a warm reboot. It is quite annoying because it requires me to boot the computer twice before I can use the USB card.
Created attachment 111258 [details] hwinfo after cold boot with no sound
Created attachment 111259 [details] hwinfo after reboot with sound
Comment on attachment 111259 [details] hwinfo after reboot with sound when comparing the 2 hwinfos it seems that the usb drivers are not loaded and the usb hub setup is different when the sound is not working.
Also on reboots it happens sometimes that the card is not loaded. There is a maybe 10%-20% chance it will not be loaded. But on cold boots it is never loaded. So sometimes I have to boot the computer even 3 times before the card is working properly. As I mentioned earlier I never had this problem with other Distros/OS (Pclos, K/Ubuntu, Fedora, Windows). This is a Suse specific problem. Already during the install it did not recognize the USB card automatically. I had to add it manually. If you need more Info let me know.
If I say I had to add the USB card manually during install (Comment #4) I mean I had to use the Yast setup wizard during the install to add the card. I had to choose the driver and the card was recognized by Yast.
Your device is recognised as a USB device in both cases. But in the failure case ALSA refuses your devices as shown here: <3>ALSA sound/core/init.c:134: cannot find the slot for index 1 (range 0-1) <3>ALSA sound/usb/usbaudio.c:3275: cannot create card instance 0 <4>snd-usb-audio: probe of 2-1:1.0 failed with error -5 This looks like an interaction with your on-board sound. Could you rename the modules i810_audio.ko and snd_intel8x0.ko and reboot?
Hi Oliver Sorry, but could you translate that into noob language please!? I don't know how I would rename the modules you mentioned. And then you want me to do a cold boot or a simple reboot? And then? What should be the effect, what you want to know? Thanks
Hello Patrick, I am sorry. I am trying to be clear. Based on the error messages in your hwinfo I conclude that your problem is caused by an interaction of the drivers for your soundcards. To test this theory I want you to do a cold reboot with only the drivers for the USB sound card loaded. An easy way to achieve that is to alter the names of the drivers. Your onboard soundcard is driven by a driver in the files "i810_audio.ko" and "snd_intel8x0.ko". To do so, please search for these files (as root) under /lib/modules After you've found them, rename them, eg. i810_audio.ko to i810_audio.ko.alt After that please do a cold reboot and test your audio. If I am right, you'll see only the USB card. Please send your hwinfo in any case. After those test, please don't forget to restore the old names of the files you've renamed. Regards Oliver
Thanks for your description. I renamed the files as you described, shut down the computer, took it of the mains for a moment and restarted. The result was I had no sound what so ever anymore, the USB card was not loaded as usual in this case. I also discovered that in case the USB card is not loaded on the warm reboot I can reboot as often as I want, it will not load the card. Only after I log in, go to the desktop and restart from there (instead of rebooting from the kdm screen) the card would load on the subsequent boot. I have no clue why it behaves this way.... Always an alternative is to go into Yast>Hardware>Sound. There I find the entry for the USB card. I erase it. Then I add a new card, choose USB-generic and voila the card is there... Until I do a cold boot that is. Attached find the hwinfo for the Onboard card disabled.
Created attachment 112616 [details] hwinfo for nosound after cold boot with the onboard card disabled
OK, please don't forget to rename the files back to their old name. Could you please do another test? 1. Do a cold boot with your USB soundcard unplugged 2. (as root) run: tail -f /var/log/messages | tee /tmp/forbugzilla 3. plug in your USB sound card 4. Wait ten seconds then Ctrl-C the running tail command 5. Put /tmp/forbugzilla into this bugzilla entry
Created attachment 112650 [details] forbugzilla created as requested above
Sorry, I need to bother you again. Could you repeat the experiment and additionally do 6. lsmod >/tmp/alsoforbugzilla 7. put /tmp/alsoforbugzilla into this bugzilla entry
Created attachment 112678 [details] alsoforbugzilla created as described above
The modules listed there look OK to me, so I'm wondering whether it's a setup problem. Could you show the contents of /etc/modprobe.d/sound? Do you have index=1 option somewhere there? Also check /proc/asound/cards after cold-boot (with the usb-audio failure) to see whether the slot 1 is shared by something else. At best, attach this content, too.
Created attachment 112959 [details] /etc/modprobe.d/sound /etc/modprobe.d/sound you find attached. The file /proc/asound/cards is always empty. No matter if the USB card is working or not. One obvious thing that changes in the directory /proc/asound is that I have the folders card0 (onboard), card1 (USB) and card2 (midi) in case the USB card is working. Otherwise it is only card0 (onboard) and card1 (midi).
Please try a cold boot with: options snd-usb-audio enable=1 index=1 changed to: options snd-usb-audio enable=1 index=2
USB card is loaded normally when doing a cold boot with "options snd-usb-audio enable=1 index=2" in /etc/modprobe.d/sound ! Then obviously I have to change the setup in amarok for example as the USB card is now running as hw:2,0. So I guess it would be some mistake by Yast in configuring the setup? If you need me to do further experiments or you need more info please let me know.
Yes, Yast overlooks the midi part of your internal soundcard. It is not assigned a number. Thus it takes the next free number. If the usb driver is quick enough, it takes the number two. If not, midi takes #1 and the usb driver cannot bind to your device.
There are two problems: - yast doesn't configure the card automatically because hwinfo doesn't know the card: 58: USB 00.0: 0000 Unclassified device Hardware Class: unknown Model: "Creative SB Audigy 2 NX" Hotplug: USB Vendor: usb 0x041e "Creative Labs" Device: usb 0x3020 "SB Audigy 2 NX" It should be reported as a sound card. - the second problem is somewhere in the hotplug subsystem (usb module loading) Reassigned to hwinfo maintainer. Please, switch the component to hotplug when hwinfo is fixed.
I made a little experiment. I disabled the midi part of my onboard soundcard in the BIOS and did a fresh install of openSUSE 10.2 to see what the problem might be. - It is true as Ladislav (Comment #20) said that Yast doesn't autoconfigure the USB card during the install, also with the midi part disabled. So this might be a hwinfo problem. A manual choice of the USB-generic driver in Yast led to the USB card being recognized and working. - I did a cold boot after the new install with the onboard midi still disabled. The USB card was loaded without any problems now. So the problem of the USB card not being loaded after a cold boot seems really to be a problem of Yast (?) misconfiguring the midi part of the Onboard card and being in conflict with the USB card as mentioned by Oliver (Comment #19). So there are two different issues here: 1. Yast not autoconfiguring the card during install. 2. USB card not loaded on cold boot due to conflict with badly configured onboard midi.
*** This bug has been marked as a duplicate of bug 105653 ***