Joined: 01 Dec 2002
|Posted: Thu Oct 07, 2010 9:12 pm Post subject: OSS4 support for Asus Xonar DS
Already in August I bought a Asus Xonar DS sound card. With a lot of enthusiasm I plugged in the card and heard ... nothing. The card isn't supported in OSS4. I tried it with a Live CD and Alsa. There it worked without any problems.
Ok, next I created a thread in the oss4 forum. The answer was: they don't have such a card, therefore they won't realize the support within the next months.
The Asus Xonar Cards use the CMI878-Chip. as audio processor. It's called AV200 (D2, D2x, HDA1.3), AV100 (D1/DX/Essence) and AV66 (DS). Therefore the driver file is kernel/drv/oss_cmi878x/oss_cmi878x.c for all that cards.
The big difference lies in the DA and AD converter.
- D2 uses PCM1796 (DA) and CS5381 (AD).
- D1 uses CS4398/4362 (DA) and CS5361 (AD).
- DS uses Wolfson WM8776 (DA, Headphones), WM8766 (DA, Surround) and WM8776 (AD).
The card is recognized as Asus Xonar Unknown. Due to the missing DAC-implementation there's no chance to get any sound out of this card.
With my very limited knowledge of hardware programming at least I inserted the sub-id into the driver. The problem is the implementation of the volume functions with the correct registers of the wolfsons.
|#define SUBID_XONAR_DS 0x838e
and at the end of the file:
devc->chip_name = "Asus Xonar DS (AV66)";
The specification or what I've found:
I've spent a few hours to analyze the Alsa files, but in case of Xonar D1 or D2 they use complete different values for the registers and define a lot more constants. So I gave up to find the needed information for the OSS4 driver. My experience in C is quite limited and my understanding of the oss4 code too.
So what I need are some basics in understanding howto modify that driver and where to extract the needed information.