On Thu, 2005-03-03 at 00:39 -0800, Claus Olesen wrote:
I just purchased and installed a Creative Labs SB Audigy 2 Value sound card model SB0400 on my SuSE 9.2 box but have so far had no luck in getting it past the configure stage.
SuSE did show the "new hardware found" popup after the first reboot after the install and lead me to the sound configuration dialog but the card is not listed in the dialog and if I try to add it clicking "Add sound card" then I get "An error occurred during the installation of SB Audigy. The kernel module snd-emu10k1 for sound support could not be loaded. This can be caused by incorrect module parameters, including invalid IO or IRQ parameters."
snd-emu10k1 is already loaded according to lsmod.
I've got an Audigy 2 ZS and have similar problems. Here's the best I've managed so far. Hold on we're in for a bumpy ride! Before you start, check /etc/sysconfig/sound. (You should only need to do this once which is why I've kept it out of the numbered steps.) You want it to contain the following lines: LOAD_SEQUENCER="yes" SOUNDFONT_FILES="xxx.sf2" LOAD_OSS_EMUL_MODULES="yes" replace the xxx.fs2 with the name of the soundfont you want loaded. This file should be in the /usr/share/sounds/sf2 directory. 1) run "/etc/init.d/alsasound stop" This is just so that the sound is "officially" off. It looks like it's meant to kill off all processes using the sound devices, then remove all the sound modules. I've found it doesn't remove all of the modules - it leaves sound, soundcore and emu10k1 (if they had been loaded) and sometimes other snd-* modules as well. This means that if you try to restart, it fails while trying to load the modules and bails out :( 2) Now run: lsmod|egrep '^(snd|sound|emu10k1)' then carefully rmmod any listed modules. You can probably leave emu10k1_gp - it's for the joystick port. Also, you should probably leave snd_page_alloc loaded because the alsasound script explicitly avoids this one, the implication being that it's not safe to unload. Essentially, you need to get the audio system back to the way it was before any sound initialisation was performed. If there are a lot of sound modules to be unloaded, you may need several passes unless you're careful with the dependencies. Some versions of rmmod will do a recursive removal of modules, but it appears that the one that ships with SuSE 9.2 has had this option removed so you need to do it the hard way. 3) Run "yast2 sound". It may say that the number of sound cards running does not match the configured number and ask if you want to restart the sound system. Say no, then delete the entry for the card, exit yast and repeat steps 1 and 2 (yast will probably have loaded the soundcore and snd modules again) 4) Rerun "yast2 sound". You should go straight to the SB Audigy "Sound card configuration" page. Select "Normal setup" (the only one that works consistently for me). If you want, select "Configure joystick". Click Next. Press Test, and you should hear the sample. If not, I'm afraid I can't help you - you're on your own :( (Actually, it's possible that your /etc/modprobe.conf and its relatives need tweaking. If so, I can post my settings. 5) If you're still with me, before you press "finish", go to a shell and type "alsamixer" (or "alsamixergui" if you're running X). If it runs, great - you can quit yast, it's done all it can (bless it). If yast didn't manage to set up the mixer, (it will say "No mixer elems found") again, you're on your own. By now, you may find that everything you need works fine, in which case, enjoy! If, like me, you want to use rosegarden or something else that needs loaded soundfonts, you'll probably find the app appears to run, but you get no midi output. Warning: if you've previously loaded soundfonts since the last time you powered on, you might be deceived into thinking all is well. Unfortunately, the next time you power up, you'll probably find silence greets you. Fear not.
From the shell run "/etc/alsa.d/emu10k1". This little file *should* get run by the alsasound init script, but I've found that it doesn't (not sure why yet). This will load the soundfont you named in the sysconfig file.
One last thing you might need is to load the emu10k1 module. Most programs are fine without it, but if you find a program that complains about "device not found" or something like that, "modprobe emu10k1" and try again. Hopefully you'll be in business. Sheesh! There appears to be a real problem with both yast and the alsa init scripts. This seems to be caused when modules are already loaded. They get part way through, hit a spurious "error" (e.g. "cannot load module" when the module is already loaded) and then they give up, leaving the system half set up and therefore doomed to fail when you retry! Unfortunately, I find I have to do this every time I reboot (it's a good job this is Linux - I only usually need to reboot when I've powered off to install some new hardware ;-) I'm trying to automate the above process to replace the alsasound init script, but there is something that yast does when it is "Starting the sound system" that is not done by any of the init scripts. So far I've got two scripts, one to "clean" the system before running yast2 and one to do the additional bits after yast2. They could be stuck together, but until I've figured out what yast is doing that the init scripts don't, I need to keep them apart. Once I've got to the bottom of this, I'll post the results, unless someone else has a better solution in the meantime. If any of the yast developers are monitoring this list, I'd be interested in hearing what you do during a restart that the normal boot process doesn't. You should also investigate why yast only gets it right from a clean start. I'll be happy to test any patches. The ideal solution is for yast2 to "always work" (duh!) i.e. regardless of the current state of the sound system. Then, whatever it does when it restarts, should be transferred to the alsasound init script so that it can cleanly start the system on boot-up (warm or cold). If anyone has a better workaround than mine, PLEASE let us know. I hope I've been of some help. Phil Betts