[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#721346: linux-image-3.2.0-0.bpo.4-rt-686-pae: Xonar DSX not recognized although there is a functional driver (patch included).



Package: src:linux
Version: 3.2.46-1~bpo60+1
Severity: normal
Tags: upstream patch

Hi, the Asus Xonar DSX sound card is not recognized despite the driver is
there.
This bug affect Wheezy and Squeeze and could be solved for these two
distributions.

It's a PCIe sound card:
http://www.asus.com/Sound_Cards_and_DigitaltoAnalog_Converters/Xonar_DSX/

The 3.2 kernel have a functional driver for this sound card (snd_virtuoso), but
does not recognize it.

I found a patch here:
http://permalink.gmane.org/gmane.linux.alsa.devel/100921

The patch add a PCI_SUBID recognition.

I adapted it to kernel 3.2 (squeeze-backports), I attached the patch rewritten
for Debian 3.2 linux kernel.

If the kernel is compiled with this patch, the sound card appears like that:

# lspci -vvv -s 07:00.0
07:00.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD
Audio]
        Subsystem: ASUSTeK Computer Inc. Device 8522
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 64 (500ns min, 6000ns max)
        Interrupt: pin A routed to IRQ 17
        Region 0: I/O ports at a800 [size=256]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Kernel driver in use: snd_virtuoso

# cat /proc/asound/cards
 2 [DSX            ]: AV200 - Xonar DSX
                      Asus Virtuoso 66 at 0xa800, irq 17

With this patch, the sound card is functional, and alsamixer controls are
functional.

There are not many PCIe sound card on the market, it would be nice if this card
is supported.
This patch works for squeeze-backports and wheezy 3.2 linux kernel.



-- Package-specific info:
** Kernel log: boot messages should be attached


-- System Information:
Debian Release: 6.0.7
  APT prefers oldstable-updates
  APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: i386 (x86_64)

Kernel: Linux 3.2.0-0.bpo.4-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages linux-image-3.2.0-0.bpo.4-rt-686-pae depends on:
ii  debconf [debconf-2.0]       1.5.36.1     Debian configuration management sy
ii  initramfs-tools [linux-init 0.99~bpo60+1 tools for generating an initramfs
ii  linux-base                  3.4~bpo60+1  Linux image base package
ii  module-init-tools           3.12-2+b1    tools for managing Linux kernel mo

Versions of packages linux-image-3.2.0-0.bpo.4-rt-686-pae recommends:
ii  firmware-linux-free    2.6.32-48squeeze3 Binary firmware for various driver
ii  libc6-i686             2.11.3-4          Embedded GNU C Library: Shared lib

Versions of packages linux-image-3.2.0-0.bpo.4-rt-686-pae suggests:
pn  debian-kernel- <none>                    (no description available)
ii  extlinux       2:4.02+dfsg-7             collection of boot loaders (ext2/3
ii  grub-pc        1.98+20100804-14+squeeze1 GRand Unified Bootloader, version 
pn  linux-doc-3.2  <none>                    (no description available)

Versions of packages linux-image-3.2.0-0.bpo.4-rt-686-pae is related to:
pn  firmware-atheros   <none>                (no description available)
pn  firmware-bnx2      <none>                (no description available)
pn  firmware-bnx2x     <none>                (no description available)
pn  firmware-brcm80211 <none>                (no description available)
pn  firmware-intelwima <none>                (no description available)
pn  firmware-ipw2x00   <none>                (no description available)
pn  firmware-ivtv      <none>                (no description available)
pn  firmware-iwlwifi   <none>                (no description available)
pn  firmware-libertas  <none>                (no description available)
ii  firmware-linux     0.36+wheezy.1~bpo60+1 Binary firmware for various driver
ii  firmware-linux-non 0.36+wheezy.1~bpo60+1 Binary firmware for various driver
pn  firmware-myricom   <none>                (no description available)
pn  firmware-netxen    <none>                (no description available)
pn  firmware-qlogic    <none>                (no description available)
pn  firmware-ralink    <none>                (no description available)
pn  firmware-realtek   <none>                (no description available)
ii  xen-hypervisor-4.0 4.0.1-5.11            The Xen Hypervisor on i386

-- debconf information excluded
--- a/sound/pci/oxygen/virtuoso.c
+++ b/sound/pci/oxygen/virtuoso.c
@@ -52,6 +52,7 @@
 	{ OXYGEN_PCI_SUBID(0x1043, 0x835d) },
 	{ OXYGEN_PCI_SUBID(0x1043, 0x835e) },
 	{ OXYGEN_PCI_SUBID(0x1043, 0x838e) },
+	{ OXYGEN_PCI_SUBID(0x1043, 0x8522) },
 	{ OXYGEN_PCI_SUBID_BROKEN_EEPROM },
 	{ }
 };
--- a/sound/pci/oxygen/xonar_wm87x6.c
+++ b/sound/pci/oxygen/xonar_wm87x6.c
@@ -1255,7 +1255,6 @@
 }
 
 static const struct oxygen_model model_xonar_ds = {
-	.shortname = "Xonar DS",
 	.longname = "Asus Virtuoso 66",
 	.chip = "AV200",
 	.init = xonar_ds_init,
@@ -1325,6 +1324,11 @@
 	switch (id->subdevice) {
 	case 0x838e:
 		chip->model = model_xonar_ds;
+		chip->model.shortname = "Xonar DS";
+		break;
+	case 0x8522:
+		chip->model = model_xonar_ds;
+		chip->model.shortname = "Xonar DSX";
 		break;
 	case 0x835e:
 		chip->model = model_xonar_hdav_slim;

Reply to: