Dan Hopper <[EMAIL PROTECTED]> remarked: > Hi, > > I recently was tossed a new motherboard at work, an Epox EP-8RDA+. > The product blurb is at: > http://www.epox.com/html/motherboard.asp?product=EP-8RDAplus&lang=1 > > Athlon Socket A motherboard, Nvidia nforce2 chipset, on-board audio, > firewire, ethernet, etc. Audio details: > > lspci -v: > > 00:05.0 Multimedia audio controller: nVidia Corporation: Unknown device 006b (rev a2) > Subsystem: Unknown device 1695:1000 > Flags: bus master, 66Mhz, fast devsel, latency 0, IRQ 5 > Memory at ee000000 (32-bit, non-prefetchable) [size=512K] > Capabilities: [44] Power Management version 2 > > 00:06.0 Multimedia audio controller: nVidia Corporation: Unknown device 006a (rev a1) > Subsystem: Unknown device 1695:1000 > Flags: bus master, 66Mhz, fast devsel, latency 0, IRQ 11 > I/O ports at d000 [size=256] > I/O ports at d400 [size=128] > Memory at ee080000 (32-bit, non-prefetchable) [size=4K] > Capabilities: [44] Power Management version 2 > > lspci -vn: > > 00:05.0 Class 0401: 10de:006b (rev a2) > Subsystem: 1695:1000 > Flags: bus master, 66Mhz, fast devsel, latency 0, IRQ 5 > Memory at ee000000 (32-bit, non-prefetchable) [size=512K] > Capabilities: [44] Power Management version 2 > > 00:06.0 Class 0401: 10de:006a (rev a1) > Subsystem: 1695:1000 > Flags: bus master, 66Mhz, fast devsel, latency 0, IRQ 11 > I/O ports at d000 [size=256] > I/O ports at d400 [size=128] > Memory at ee080000 (32-bit, non-prefetchable) [size=4K] > Capabilities: [44] Power Management version 2 > > > snd-intel8x0 doesn't seem to detect it, and I'm running alsa > 0.9+0beta12 (kernel v2.4.20-ac2, Debian Woody, not that it matters). > > So, I realize the audio on this chipset doesn't seem to be supported > in Linux yet, but I'm just curious if anyone has kludged it into > working or perhaps if anyone might be looking into adding support > for it at some point.
Using some hints and PCI IDs from the 2.4.20 kernel driver for the 810, I generated the following patch against alsa 0.9.0beta12. It works on the above mentioned motherboard just fine so far. But it wouldn't hurt for someone who knows what they're doing to sanity check it before applying to the source tree. Dan
--- alsa-kernel/pci/intel8x0.c.stock Tue Dec 31 17:03:05 2002 +++ alsa-kernel/pci/intel8x0.c Tue Dec 31 17:38:38 2002 @@ -120,6 +120,12 @@ #ifndef PCI_DEVICE_ID_NVIDIA_MCP_AUDIO #define PCI_DEVICE_ID_NVIDIA_MCP_AUDIO 0x01b1 #endif +#ifndef PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO +#define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a +#endif +#ifndef PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO +#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 0x00da +#endif #define DEVICE_INTEL 0 #define DEVICE_SIS 1 @@ -285,6 +291,8 @@ { 0x8086, 0x7195, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 440MX */ { 0x1039, 0x7012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_SIS }, /* SI7012 */ { 0x10de, 0x01b1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* NFORCE */ + { 0x10de, 0x006a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* NFORCE */ + { 0x10de, 0x00da, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* NFORCE */ { 0x764d, 0x1022, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD8111 */ { 0, } }; @@ -1392,6 +1400,8 @@ { PCI_DEVICE_ID_INTEL_ICH3, "Intel ICH3" }, { PCI_DEVICE_ID_SI_7012, "SiS SI7012" }, { PCI_DEVICE_ID_NVIDIA_MCP_AUDIO, "NVidia NForce" }, + { PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO, "NVidia NForce" }, + { PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO, "NVidia NForce" }, { 0x1022, "AMD-8111" }, { 0, 0 }, }; @@ -1537,6 +1547,8 @@ // { 0x8086, 0x7195, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* 440MX */ // { 0x1039, 0x7012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SI7012 */ { 0x10de, 0x01b2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* NFORCE */ + { 0x10de, 0x006b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* NFORCE */ + { 0x10de, 0x00db, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* NFORCE */ { 0, } };