[Pkg-alsa-devel] Bug#726837: Asus Xonar D1: doesn't work in modes that are different from Stereo 2.0

Serhii Horeskyi kt3107 at gmail.com
Sat Oct 26 17:24:50 UTC 2013


Hi,
maybe i found workaround!
It tested only Debian Wheezy, now i have no so much time to check it on 
Jessie, maybe i will do it later.

The same trouble are present in Debian Wheezy (stable Linux Lizarra 
3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux) after downgrade 
from Jessie.
Maybe it some dependency problem, because, before upgrading to Jessie. 
On Debian Wheezy i use long time Creative SBLive 5.1, and in one day
i change this sound card to Asus Xonar D1, and all work fine before 
upgrade to Jessie. I want to say, that i'm not did clean installation in 
all situations.

First of all, i remind, that i have three sound cards:

lspci:
00:14.2 Audio device: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia 
(Intel HDA) (rev 40)
01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Juniper HDMI 
Audio [Radeon HD 5700 Series]
07:06.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 
[Oxygen HD Audio]

lspci -v for Asus Xonar:
07:06.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 
[Oxygen HD Audio]
         Subsystem: ASUSTeK Computer Inc. Virtuoso 100 (Xonar D1)
         Flags: bus master, medium devsel, latency 32, IRQ 21
         I/O ports at a000 [size=256]
         Capabilities: <access denied>
         Kernel driver in use: snd_virtuoso

Remember name: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]

After standart boot, without any changes in modules, i have:
lsmod| grep -i snd | sort :
snd                    52889  31 
snd_timer,snd_seq_device,snd_seq,snd_rawmidi,snd_pcm,snd_mixer_oss,snd_pcm_oss,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_mpu401_uart,snd_oxygen_lib,snd_virtuoso,snd_hda_codec_hdmi,snd_hda_codec_realtek
snd_hda_codec          78031  3 
snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_realtek
snd_hda_codec_hdmi     30824  1
snd_hda_codec_realtek   188858  1
snd_hda_intel          26259  3
snd_hwdep              13186  1 snd_hda_codec
snd_mixer_oss          17916  1 snd_pcm_oss
snd_mpu401_uart        13507  1 snd_oxygen_lib
snd_oxygen_lib         32809  1 snd_virtuoso
snd_page_alloc         13003  2 snd_pcm,snd_hda_intel
snd_pcm                68083  7 
snd_pcm_oss,snd_hda_codec,snd_hda_intel,snd_oxygen_lib,snd_hda_codec_hdmi
snd_pcm_oss            41081  0
snd_rawmidi            23060  2 snd_seq_midi,snd_mpu401_uart
snd_seq                45126  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         13176  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_seq_midi           12848  0
snd_seq_midi_event     13316  1 snd_seq_midi
snd_timer              22917  2 snd_seq,snd_pcm
snd_virtuoso           34917  6
soundcore              13065  1 snd

Asus Xonar D1 used "snd_virtuoso" module.
Alsamixer says, that chip is AV200, but on alsa documents pages it must 
be AV100 - http://www.alsa-project.org/main/index.php/Matrix:Vendor-Asus
Okey, something wrong in detection hardware.

I try statically compile module for asus xonar into the kernel - it 
gives nothing. And founded solution is - load module as a last :-D

Steps for solution:
1. Run "speaker-test -c6" and you will hear, that sound is only from 
Front channels
     * in pavucontrol and kmix sound card have name "Xonar D1 Analog 
Surround 5.1"
2. By root: echo "blacklist snd-virtuoso" >> 
/etc/etc/modules/modprobe.d/snd_asus_xonar.conf
3. By root: echo "snd-virtuoso" >> /etc/modules
4. update-initramfs -u -k all
5. Run "speaker-test -c6" and you will hear, that sound is works on all 
requested channels
     * in pavucontrol and kmix sound card sometimes will get new name 
"CMI8788 [Oxygen HD Audio]" or stay "Xonar D1 Analog Surround 5.1", see 
above for remembered name.

On booting, kernel doesn't load snd_virtuoso module, it will be loaded 
by /etc/modules directives before alsa-utils. Then started alsa-utils, 
pulseaudio and KDE(kdm) respectively.

After workaround solution (i'm not found big differences)
lsmod| grep -i snd | sort :
snd                    52889  30 
snd_timer,snd_seq_device,snd_seq,snd_pcm,snd_mixer_oss,snd_pcm_oss,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_rawmidi,snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_mpu401_uart,snd_oxygen_lib,snd_virtuoso
snd_hda_codec          78031  3 
snd_hda_intel,snd_hda_codec_realtek,snd_hda_codec_hdmi
snd_hda_codec_hdmi     30824  1
snd_hda_codec_realtek   188858  1
snd_hda_intel          26259  3
snd_hwdep              13186  1 snd_hda_codec
snd_mixer_oss          17916  1 snd_pcm_oss
snd_mpu401_uart        13507  1 snd_oxygen_lib
snd_oxygen_lib         32809  1 snd_virtuoso
snd_page_alloc         13003  2 snd_pcm,snd_hda_intel
snd_pcm                68083  6 
snd_pcm_oss,snd_hda_codec,snd_hda_intel,snd_hda_codec_hdmi,snd_oxygen_lib
snd_pcm_oss            41081  0
snd_rawmidi            23060  2 snd_seq_midi,snd_mpu401_uart
snd_seq                45126  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         13176  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_seq_midi           12848  0
snd_seq_midi_event     13316  1 snd_seq_midi
snd_timer              22917  2 snd_seq,snd_pcm
snd_virtuoso           34917  5
soundcore              13065  1 snd

/etc/modprobe.d/snd_asus_xonar.conf:
blacklist snd-virtuoso

/etc/modules:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

sbp2
loop

# Fire-Wire IEEE 1394
firewire-core
firewire-sbp2
firewire-ohci
firewire-net

# Termal section
it87
#k8temp
k10temp

# Network FS
# NFS
nfs
lockd
nfs_acl
sunrpc

# APC
#usbhid
#hid

# KVM for qemu
#kvm
#kvm_amd

# Parallel ports drivers
parport_serial
parport_pc
ppdev
lp
parport

# USB devices
usb_storage

snd-virtuoso


-- 
Regards,
Serhii Horelskyi!



More information about the Pkg-alsa-devel mailing list