[alsa-devel] [PATCH] New Aztech Sound Galaxy driver

Rene Herman rene.herman at gmail.com
Thu Sep 20 14:20:01 CEST 2007

Hi Takashi.

This is a new driver for Aztech Sound Galaxy ISA soundcards based on the 
AZT1605 and AZT2316 chipsets. It's constructed as two seperate drivers for 
either chipset generated from the same source file, with (very) minimal 

The drivers check the SB DSP version to decide if they are being loaded for 
the right chip. AZT1605 returns 2.1 by default, and AZT2316 3.1. This isn't 
full-proof as the DSP version can actually be set through software but it's 
close enough -- as far as I've been able to see, the DSP version can not be 
stored in the EEPROM and the cards will therefore startup with the defaults.

This distinction could (with the same success rate) also be used to decide 
which chip we're looking at at runtime meaning a single, merged driver is 
also an option but I feel it's actually nicer this way. A merged driver 
would have to postpone translating the passed in resource values to the card 
configuration until it knew which one it was looking at and would need to 
postpone erring out on mpu_irq=10 for azt1605 and mpu_irq=3 for azt2316. If 
you differ, I will merge them, but I'd rather keep them seperate.

The drivers have been tested on various cards. For snd-azt1605:

FCC-ID I38-MMSN811: Aztech Sound Galaxy Nova 16 Extra
FCC-ID I38-MMSN822: Aztech Sound Galaxy Pro 16 II

and for snd-azt2316:

FCC-ID I38-MMSN824: Aztech Sound Galaxy Pro 16 AB
FCC-ID I38-MMSN826: Trust Sound Expert DeLuxe Wave 32 (05201)
FCC-ID I38-MMSN830: Trust Sound Expert DeLuxe 16+ (05202)
FCC-ID I38-MMSN847: Trust Sound Expert DeLuxe Wave 32-3D (06301)
FCC-ID I38-MMSN852: Aztech Sound Galaxy Waverider Pro 32-3D

I38-MMSN826 is also known as "Aztech Sound Galaxy Waverider 32+".

All cards work fully -- full-duplex PCM, MIDI and FM. Full-duplex is a 
little flaky on some.

I38-MSN811 tends to not work in full duplex, but sometimes does with the 
highest success rate being achieved when you first start the capture and 
then a playback instead of the other way around (it's a CS4231-KL codec).

The cards with an AD1845XP codec (my I38-MMSN826 and one of my I38-MMSN830s) 
are also somewhat duplex-challenged. Sometimes full-duplex works, sometimes 
not and this varies from try to try. This seems likely to be a timing 
problem somewhere inside cs4231-lib.

I38-MMSN826 has an additional "ICS2115 WaveFront" wavetable synth onboard 
that isn't supported yet. The wavetable synths on I38-MMSN847 and 
I38-MMSN852 are wired directly to the standard MPU-401 UART and the AUX1 
input on the codec and work without problem.

CD-ROM audio on the cards is routed to the codec "Line" input, Line-In to 
its Aux input, and FM/Wavetable to its AUX1 input. I did not rename the 
controls due to the capture source enumeration: I see that capture-source 
overrides are hardcoded in cs4231-lib and this is just too ugly to live.

Versus the old snd-sgalaxy driver, these drivers add support for the models 
without a configuration EEPROM (common), full-duplex, MPU-401 UART and OPL3. 
In the future they should grow support for that ICS2115 WaveFront synth on 
826 and an hwdep interface to write to the EEPROM on the models that have one.

lib.c was split off in preparation of having snd-azt2320 use it as well and 
generally containing non soundgalaxy specific code that might at some point 
make it into an isa/lib.c or something. It's tiny, so it's not constructed 
as a helper module but simply compiled into both drivers.

Signed-off-by: Rene Herman <rene.herman at gmail.com>

[ all of the above is intended as a changelog ]

Given that they are new drivers with new names, they shouldn't disturb 
anything and can as far as I'm concerned make 1.0.15 but if you feel it's 
too late (and/or don't want the two seperate drivers), so be it. I can also 
submit a next patch removing the old sgalaxy driver now or just wait with 
that one...

Patch is against current alsa-kernel hg.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: galaxy.diff
Url: http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20070920/c80b3f4d/attachment-0001.bat 

More information about the Alsa-devel mailing list