Linux newbie here. I’ve played around with live cds and this is my first true install.
I’ve been trying everything possible to get my Xonar DS sound card working for the past couple hours and had absolutely no luck.
I read a very similar thread, albeit somewhat old, and tried to follow the same process but it didn’t lead me anywhere. Here are some diagnostics about what i’ve done so far.
There is an alsa test script you will want to try and post its output online for others to see. oldcpu, one of our moderators may be the most helpful with audio and will surely see your post and try to help and so good luck and good night.
Here is the output from running option 5. This doesn’t look right…
5 . Checking your audio setup in four steps for detailed information …
Command: cat /proc/asound/version
cat: /proc/asound/version: No such file or directory
Command: cat /proc/asound/modules
cat: /proc/asound/modules: No such file or directory
Command: cat /proc/asound/cards
cat: /proc/asound/cards: No such file or directory
Command: cat /etc/modprobe.d/50-sound.conf
options snd slots=snd-virtuoso,snd-hda-intel
2Oa+.h2kiZ7VIR82:Sapphire HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink
alias snd-card-1 snd-hda-intel
GBI1.l5Y8W3MP3S8:CMI8788 [Oxygen HD Audio]
alias snd-card-0 snd-virtuoso
If this does not provide the required info, then another approach to obtain more
information on your hardware and your sound configuration, is to run the ALSA script.
I decided to provide some output from my computer this morning. Here is option 1, showing the alsa Packages installed:
1 . Verify your Alsa Packages are installed for Operational Testing ...
rpm --query --all --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' alsa alsa-utils alsa-firmware 'libasound2*'
libasound2-1.0.24.1-3.1-x86_64 -> openSUSE
alsa-1.0.24.1-3.1-x86_64 -> openSUSE
libasound2-32bit-1.0.24.1-3.1-x86_64 -> openSUSE
alsa-firmware-1.0.24.1-3.1-noarch -> openSUSE
alsa-utils-1.0.24.2-3.1-x86_64 -> openSUSE
You should expect to have at least four Alsa Packages Installed.
32 bit files are not required when using 64bit openSUSE install.
called ----> alsa-utils <--------- from the openSUSE Repository.
called ----> libasound2-32bit <--- from the openSUSE Repository.
called ----> alsa <--------------- from the openSUSE Repository.
called ----> libasound2 <--------- from the openSUSE Repository.
called ----> alsa-firmware <------ from the openSUSE Repository.
Press <enter> to continue...
Here is what I get using option 5 from START:
5 . Checking your audio setup in four steps for detailed information ...
Command: cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.23.
Command: cat /proc/asound/modules
0 snd_ctxfi
1 snd_hda_intel
Command: cat /proc/asound/cards
0 [XFi ]: SB-XFi - Creative X-Fi
Creative X-Fi 20K2 SB0880
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf8080000 irq 17
Command: cat /etc/modprobe.d/50-sound.conf
options snd slots=snd-ctxfi,snd-hda-intel
# NXNs.sH8Ofwz4OzA:nVidia Corporation
alias snd-card-1 snd-hda-intel
# svHJ.n6K5fZqwjGB:SB X-Fi Titanium PCI-e [SB0880]
alias snd-card-0 snd-ctxfi
If this does not provide the required info, then another approach to obtain more
information on your hardware and your sound configuration, is to run the ALSA script.
Press <enter> to continue...
Here is option 9, showing the Pulse Packages installed.
9 . Check your Pulseaudio package Installation ...
Command: rpm --query --all --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} -> %{VENDOR}
' '*pulseaudio*'
pulseaudio-module-gconf-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-esound-compat-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-utils-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-module-jack-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-module-lirc-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-module-zeroconf-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-module-bluetooth-0.9.22-6.9.1-x86_64 -> openSUSE
pulseaudio-module-x11-0.9.22-6.9.1-x86_64 -> openSUSE
You need the several programs (around 8) installed to use Pulse Audio from openSUSE
Press <enter> to continue...
You have different sound devices, but should expect to have both alsa and pulse installed.
The xonar appears to be a real pain to get working in Linux. Can you provide the output URL/website address one gets from running (with PC connected to the internet):
/usr/sbin/alsa-info.sh
Also, how many sound devices do you have ?
Can you also install the application ‘pavucontrol’ and then run ‘pavucontrol’ and see if you can use it to tune your audio ? Run pavucontrol while you are playing an application with sound.
Also, be certain to run ‘mmcheck’ packaged by jdmcdaniel3 in case this is just a simple case of your multimedia being misconfigured.
Running pavucontrol shows me that I have no output devices and the default is set as “Dummy Output.”
Where is this mmcheck script that you mentioned?
jcmcdaniel:
I have very similar outputs showing that both alsa and pulseaudio are installed for options 1 and 9. 5 is the only one where I noticed anything out of the ordinary which is posted above.
How did the /etc/modprobe.d/50-sound file get there? Did you make that up yourself? Or was it put there by openSUSE?
What happens if you remove that file /etc/modprobe.d/50-sound and reboot? Also, do NOT keep any backup files in /etc/modprobe.d/ directory, as they could be loaded by mistake … put your backups elsewhere.
How did the /etc/modprobe.d/50-sound file get there? Did you make that up yourself? Or was it put there by openSUSE?
I tried to fiddle with the audio settings using the GUI control panel. Perhaps it created the config file to save the changes that I had made. I deleted the configuration file and restarted to no effect.
I think my Alsa driver may have not compiled correctly when I first installed it. The output of the installation created some errors. Here is the output when I try to ‘make’ and ‘make install’ the package.
linux-rr98:/usr/src/alsa/alsa-driver-1.0.24 # ./configure --with-cards=virtuoso --with-sequencer=yes ; make ; make install
checking for gcc… gcc
checking for C compiler default output file name… a.out
checking whether the C compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ISO C89… none needed
checking for ranlib… ranlib
checking for a BSD-compatible install… /usr/bin/install -c
checking how to run the C preprocessor… gcc -E
checking for grep that handles long lines and -e… /usr/bin/grep
checking for egrep… /usr/bin/grep -E
checking for ANSI C header files… yes
checking for an ANSI C-conforming const… yes
checking for inline… inline
checking whether time.h and sys/time.h may both be included… yes
checking whether gcc needs -traditional… no
checking for current directory… /usr/src/alsa/alsa-driver-1.0.24
checking cross compile…
checking for directory with ALSA kernel sources… /usr/src/alsa/alsa-driver-1.0.24/alsa-kernel
checking for directory with kernel source… /lib/modules/2.6.37.1-1.2-desktop/source
checking for directory with kernel build… /lib/modules/2.6.37.1-1.2-desktop/build
checking for kernel linux/version.h … linux/version.h
checking for kernel linux/autoconf.h generated/autoconf.h… generated/autoconf.h
checking for kernel linux/utsrelease.h generated/utsrelease.h… generated/utsrelease.h
checking for kernel version… 2.6.37.1-1.2-desktop
checking for GCC version… Kernel compiler: Used compiler: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
*** NO PREDEFINED KERNEL COMPILER IS DETECTED
*** Assuming the same compiler is used with the current system compiler.
*** Please make sure that the same compiler version was used for building kernel.
checking for built-in ALSA… no
checking for existing ALSA module… yes
checking for Red Hat kernel… auto
checking for Red Hat kernel… no
checking for SUSE kernel… auto
checking for SUSE kernel… yes
checking for updating alsa-kernel version.h… yes
checking for CONFIG_EXPERIMENTAL… yes
checking for directory to store kernel modules… /lib/modules/2.6.37.1-1.2-desktop/kernel/sound
checking for verbose procfs… on
checking for verbose printk… on
checking for debug level… none
checking for ISA support in kernel… no
checking for processor type… i686
checking for ISA DMA API… yes
checking for kernel linux/config.h… no
Creating <linux/config.h>…
checking for deprecated linux/config.h… checking to modify of kernel linux/kmod.h… no
checking for kernel linux/utsrelease.h… no
Creating a dummy <linux/utsrelease.h>…
checking for kernel linux/compiler.h… yes
checking for kernel linux/pm.h… yes
checking for kernel linux/spinlock.h… yes
checking for kernel linux/irq.h… yes
checking for kernel linux/threads.h… yes
checking for kernel linux/rwsem.h… yes
checking for kernel linux/gameport.h… yes
checking for kernel media/v4l2-dev.h… yes
checking for kernel linux/devfs_fs_kernel.h… no
Creating a dummy <linux/devfs_fs_kernel.h>…
checking for kernel linux/highmem.h… yes
checking for kernel linux/workqueue.h… yes
checking for kernel linux/dma-mapping.h… yes
checking for kernel asm/hw_irq.h… yes
checking for kernel linux/device.h… yes
checking for kernel linux/platform_device.h… yes
checking for kernel linux/isa.h… yes
checking for kernel linux/jiffies.h… yes
checking for kernel linux/compat.h… yes
checking for kernel linux/log2.h… yes
checking for kernel linux/adb.h… yes
checking for kernel linux/cuda.h… yes
checking for kernel linux/pmu.h… yes
checking for kernel linux/io.h… yes
checking for kernel linux/moduleparam.h… yes
checking for kernel linux/syscalls.h… yes
checking for kernel linux/firmware.h… yes
checking for kernel linux/err.h… yes
checking for kernel linux/bitmap.h… yes
checking for kernel linux/mutex.h… yes
checking for kernel linux/pm_qos_params.h… yes
checking for kernel linux/kthread.h… yes
checking for kernel asm/irq_regs.h… yes
checking for kernel linux/seq_file.h… yes
checking for kernel linux/debugfs.h… yes
checking for kernel linux/gpio.h… yes
checking for kernel linux/bug.h… yes
checking for kernel linux/math64.h… yes
checking for kernel linux/regulator/consumer.h… yes
checking for kernel linux/dmi.h… yes
checking for kernel linux/bitrev.h… yes
checking for kernel linux/hrtimer.h… yes
checking for kernel linux/gcd.h… yes
checking for kernel linux/gfp.h… yes
checking for kernel pcmcia/cs_types.h… no
Creating <pcmcia/cs_types.h>…
checking for kernel pcmcia/cs.h… no
Creating <pcmcia/cs.h>…
checking for kernel trace/events/asoc.h… no
Creating <trace/events/asoc.h>…
checking for kernel linux/lzo.h… yes
checking for kernel module symbol versions… yes
checking for has ioport support… yes
checking for PCI support in kernel… yes
checking for I2C driver in kernel… yes
checking for I2C_POWERMAC in kernel… unknown
checking for firmware loader… yes
checking for input subsystem in kernel… yes
checking for pc-speaker platform in kernel… yes
checking for SMP… yes
checking for Video device support in kernel… yes
checking for ISA PnP driver in kernel… yes
checking for PnP driver in kernel… yes
checking for Kernel ISA-PnP support… no
checking for Kernel ISA-PnP module support… no
checking for strlcpy… yes
checking for snprintf… yes
checking for vsnprintf… yes
checking for scnprintf… yes
checking for sscanf… yes
checking for vmalloc_to_page… yes
checking for old kmod… no
checking for PDE… yes
checking for pci_set_consistent_dma_mask… yes
checking for pci_dev_present… yes
checking for msleep… yes
checking for msleep_interrupt… yes
checking for msecs_to_jiffies… yes
checking for tty->count is the atomic type… yes
checking for video_get_drvdata… yes
checking for video_drvdata… yes
checking for V4L1 layer… yes
checking for V4L2 layer… yes
checking for io_remap_pfn_range… yes
checking for kcalloc… yes
checking for kstrdup… yes
checking for kstrndup… yes
checking for kzalloc… yes
checking for create_workqueue with flags… no
checking for pci_ioremap_bar… yes
checking for saved_config_space in pci_dev… yes
checking for new pci_save_state… yes
checking for register_sound_special_device… yes
checking for driver extra-version…
checking for driver version… 1.0.24
checking for dynamic minor numbers… no
checking for sequencer support… yes
checking for OSS/Free emulation… yes
checking for OSS PCM plugin system inclusion… yes
checking for RTC support… no
checking for HPET support… yes
checking for Procfs support… yes
checking for USB support… yes
checking for kernel linux/usb/audio-v2.h… yes
checking for kernel linux/usb/audio.h… yes
checking for valid v1 in linux/usb/audio.h… yes
checking for invalid v2 in linux/usb/audio.h… no
checking for valid linux/usb/audio-v2.h… no
Creating <linux/usb/audio-v2.h>…
checking for kernel linux/usb/ch9.h… yes
checking usb_alloc_coherent… yes
checking for class_simple… no
checking for old driver suspend/resume callbacks… no
checking for removal of page-reservation for nopage/mmap… no
checking for nested class_device… no
checking for new IRQ handler… yes
checking for gfp_t… yes
checking for GFP_DMA32… yes
checking for page_to_pfn… yes
checking for PnP suspend/resume… yes
checking for device_create_drvdata… no
checking for pm_qos_request… yes
checking for static pm_qos_request… yes
checking for new unlocked/compat_ioctl… yes
checking for builtin _Bool support… yes
checking for x86-compatible PC… no
checking for High-Res timers… yes
checking for kernel PCMCIA
checking for PCMCIA support… yes
checking for PC9800 support in kernel… no
checking for parallel port support… yes
checking for power management… yes
checking for CONFIG_HAS_DMA… yes
checking for cards to compile driver for… virtuoso
checking for additonal options to compile driver for… all
configure: creating ./config.status
config.status: creating version
config.status: creating Makefile.conf
config.status: WARNING: Makefile.conf.in seems to ignore the --datarootdir setting
config.status: creating snddevices
config.status: creating utils/alsa-driver.spec
config.status: creating utils/buildrpm
config.status: creating toplevel.config
config.status: creating utils/alsasound
config.status: creating utils/alsasound.posix
config.status: creating include/pci_ids_compat.h
config.status: creating include/i2c-id_compat.h
config.status: creating include/config.h
config.status: include/config.h is unchanged
config.status: creating include/config1.h
config.status: creating include/version.h
config.status: include/version.h is unchanged
config.status: creating include/autoconf-extra.h
config.status: include/autoconf-extra.h is unchanged
Hacking autoconf.h…
make dep
make[1]: Entering directory /usr/src/alsa/alsa-driver-1.0.24' make[2]: Entering directory /usr/src/alsa/alsa-driver-1.0.24/include’
make -C sound prepare
make[3]: Entering directory /usr/src/alsa/alsa-driver-1.0.24/include/sound' make prepare2 make[4]: Entering directory /usr/src/alsa/alsa-driver-1.0.24/include/sound’
ln -s …/…/alsa-kernel/include/aci.h
ln -s …/…/alsa-kernel/include/ad1816a.h
ln -s …/…/alsa-kernel/include/ad1843.h
ln -s …/…/alsa-kernel/include/ak4113.h
ln -s …/…/alsa-kernel/include/ak4114.h
ln -s …/…/alsa-kernel/include/ak4117.h
ln -s …/…/alsa-kernel/include/ak4531_codec.h
ln -s …/…/alsa-kernel/include/ak4xxx-adda.h
ln -s …/…/alsa-kernel/include/alc5623.h
ln -s …/…/alsa-kernel/include/asequencer.h
ln -s …/…/alsa-kernel/include/asound.h
ln -s …/…/alsa-kernel/include/asound_fm.h
ln -s …/…/alsa-kernel/include/asoundef.h
ln -s …/…/alsa-kernel/include/atmel-abdac.h
ln -s …/…/alsa-kernel/include/atmel-ac97c.h
ln -s …/…/alsa-kernel/include/control.h
cp …/…/alsa-kernel/include/core.h .
patch -p0 -i core.patch core.h
make[4]: patch: Command not found
make[4]: *** [core.h] Error 127
make[4]: Leaving directory /usr/src/alsa/alsa-driver-1.0.24/include/sound' make[3]: *** [prepare] Error 2 make[3]: Leaving directory /usr/src/alsa/alsa-driver-1.0.24/include/sound’
make[2]: *** [prepare] Error 2
make[2]: Leaving directory /usr/src/alsa/alsa-driver-1.0.24/include' make[1]: *** [dep] Error 1 make[1]: Leaving directory /usr/src/alsa/alsa-driver-1.0.24’
make: *** [include/sndversions.h] Error 2
if -L /usr/include/sound ]; then
rm -f /usr/include/sound;
ln -sf /usr/src/alsa/alsa-driver-1.0.24/include/sound /usr/include/sound;
else
rm -rf /usr/include/sound;
install -d -m 755 -g root -o root /usr/include/sound;
for f in include/sound/.h; do
install -m 644 -g root -o root $f /usr/include/sound;
done
fi
find /lib/modules/2.6.37.1-1.2-desktop/kernel/sound -name 'snd.o’ | xargs rm -f
find /lib/modules/2.6.37.1-1.2-desktop/kernel/sound -name 'snd.*o.gz’ | xargs rm -f
find /lib/modules/2.6.37.1-1.2-desktop/kernel/sound -name ‘ac97_bus.*o’ | xargs rm -f
find /lib/modules/2.6.37.1-1.2-desktop/kernel/sound -name ‘ac97_bus.*o.gz’ | xargs rm -f
make[1]: Entering directory /usr/src/alsa/alsa-driver-1.0.24/include' make[1]: Nothing to be done for modules_install’.
make[1]: Leaving directory /usr/src/alsa/alsa-driver-1.0.24/include' make[1]: Entering directory /usr/src/alsa/alsa-driver-1.0.24/acore’
mkdir -p /lib/modules/2.6.37.1-1.2-desktop/kernel/sound/acore
cp snd-page-alloc.ko snd-pcm.ko snd-rawmidi.ko snd-timer.ko snd.ko /lib/modules/2.6.37.1-1.2-desktop/kernel/sound/acore
cp: cannot stat snd-page-alloc.ko': No such file or directory cp: cannot stat snd-pcm.ko’: No such file or directory
cp: cannot stat snd-rawmidi.ko': No such file or directory cp: cannot stat snd-timer.ko’: No such file or directory
cp: cannot stat snd.ko': No such file or directory make[1]: *** [modules_install] Error 1 make[1]: Leaving directory /usr/src/alsa/alsa-driver-1.0.24/acore’
make: *** [install-modules] Error 1
Sorry if I’m wasting your time with something that may not affect the outcome at all but I thought I might as well make it known in case it could be the problem.
Just reinstalled all the RPMs as per the guide. The last part was inaccessible because none of the repositories for 11.4 are online yet.
Good news: The card is now letting me start to configure it if I go to Yast2 Control Center>Hardware>Sound
I press edit and try to do the automatic configuration and recieve this error:
The kernel module snd-virtuoso for sound support
could not be loaded. This can be caused by incorrect
module parameters, including invalid IO or IRQ parameters
Typically when one see’s that error, one has to delete any old /etc/modprobe.d/50-sound.conf file and try YaST again. But I’m not convinced YaST will work with Xonar as that is a tricky sound device to configure.
Anyway, I need to do a quality and a configuration check before I can make another recommendation.
I just finished updating part of the guide … sorry it was a bit out of date. Did you install the alsa-driver-kmp-desktop rpm relevant to your kernel version ?
aaron@linux-rr98:/etc/modprobe.d> rpm -qa ‘alsa’
alsa-tools-1.0.24.1-16.1.i586
pyalsa-1.0.22-10.1.i586
alsa-oss-1.0.17-59.1.i586
alsa-utils-1.0.24.2-36.1.i586
alsa-firmware-1.0.24.1-14.1.noarch
alsamixergui-0.9.0rc1-749.1.i586
alsa-tools-gui-1.0.24.1-16.1.i586
alsa-plugins-pulse-1.0.24-39.1.i586
alsa-devel-1.0.24.1-75.1.i586
alsa-plugins-1.0.24-39.1.i586
alsa-1.0.24.1-75.1.i586
aaron@linux-rr98:/etc/modprobe.d> rpm -q libasound2
libasound2-1.0.24.1-3.1.i586
aaron@linux-rr98:/etc/modprobe.d> cat /etc/modprobe.d/50-sound.conf
cat: /etc/modprobe.d/50-sound.conf: No such file or directory
I just installed the alsa-driver-kmp-desktop. I had to use the “http://download.opensuse.org/repositories/multimedia:/audio:/KMP/openSUSE_11.4/” after searching around on the server for a little bit because all the others were old versions and there was no openSUSE_11.4 Update folder similar to the ones for the old versions. I used the guide from the Updated Kernel section because I downloaded all current updates when I installed SUSE.
Restarting now to test.
EDIT: Hell yeah! It’s all working now after I restarted.
Thanks so much for helping me through this oldcpu and jdmcdaniel. Really appreciate it.
One final bother :
Are there any scripts that I need to add to make sure the audio stays working? I know I’ve seen it mentioned places.
Be careful when there are kernel updates, as they may break your sound. So do not automatically install a kernel update, but 1st go to the multimedia site where you obtained your alsa updates just now, and ensure there is an alsa-driver-kmp-desktop available for any new kernel release, BEFORE you update the kernel.