dae59180a1
a real example of a CS4237 soundcard. Luigi said all contributions like this were welcome in this file.
363 lines
12 KiB
Plaintext
363 lines
12 KiB
Plaintext
In this file I will try to build a database of cards supported by
|
|
this driver. I also include the command to use for manual configuration
|
|
of the card in case your BIOS is not PnP-aware. Of course it is
|
|
your responsibility to pick up free port ranges and irq and drq
|
|
channels.
|
|
|
|
For PnP cards, I also include the vendor_id and serial numbers of
|
|
cards I have encountered. Underscores in the PnP id mean that
|
|
(I believe) there is a large variety of values in those positions,
|
|
and the code in the audio driver generally masks those bits.
|
|
|
|
Finally, where available, I have put the URL where you can find the
|
|
data sheets of the chip.
|
|
|
|
To my knowledge, there are the following families of audio cards:
|
|
|
|
* WSS (also called MSS) and clones:
|
|
these are true full duplex cards, have a very nice architecture and
|
|
are well documented. Chipsets implementing these functionalities
|
|
are made from Crystal, Analog Devices, Yamaha, OPTI.
|
|
|
|
* SB16 and clones:
|
|
these cards have a higly asymmetric architecture, and are not very
|
|
well suited to full duplex operation. Made by Creative, Realtek.
|
|
There is no documentation on the newer codecs (Vibra16X and ALS100+),
|
|
so they are not fully working.
|
|
|
|
* ESS
|
|
ESS builds cards that implement a superset of SB16. They are
|
|
often capable of full duplex, but my driver does not support them
|
|
other than in full duplex emulation. My fault, since documentation
|
|
on these cards _is_ available.
|
|
|
|
* PCI cards.
|
|
There are a quite few PCI audio cards around based on a number of
|
|
different chipsets. Some of them are documented (e.g. S3 Sonic
|
|
Vibes, Ensoniq ES1370), some are not (e.g. Yamaha YMF724),
|
|
work is in progress to support such cards. See the notes below.
|
|
Note that CreativeLabs has recently (fall'97) acquired Ensoniq
|
|
and the audio division of OPTI, both of which had a PCI audio
|
|
chipset. I don't know if there are other manufacturers of PCI
|
|
audio cards.
|
|
|
|
Finally, some people wrote patches for the following chips:
|
|
|
|
AD1816
|
|
MAD16
|
|
ESS
|
|
--------------------------
|
|
CHIPSET:
|
|
CS4235: PnP id 0x25__630e
|
|
CS4236: PnP id 0x36__630e 0x35__630e
|
|
CS4237: PnP id 0x37__630e
|
|
|
|
MANUFACTURER:
|
|
A/Open (or AcerOpen) AW32, AW35, AW37
|
|
Also, integrated on the motherboard on some machines.
|
|
|
|
DATA SHEETS:
|
|
http://www.crystal.com/ 4237full.pdf
|
|
|
|
PNP CONFIG:
|
|
pnp 1 0 os enable port0 0x534 port2 0x220 irq0 5 drq0 1 drq1 3
|
|
|
|
COMMENTS:
|
|
Work like a charm. All modes, including full duplex, supported in
|
|
MSS mode.
|
|
|
|
Cards based on the 4237, and possibly the 4236 as well, connect
|
|
the CD to AUX2. When used in MODE1/2 (as this driver does)
|
|
there is no route in the input mixer from AUX2 to the ADC. So,
|
|
to record directly from the CD, the only way is to set the
|
|
input to SOUND_MASK_IMIX.
|
|
|
|
Some machines with the cs4235 in non-pnp mode map the codec at 0x530
|
|
instead of 0x534. For those machines you need an unusual config line
|
|
|
|
device pcm0 at isa ? port 0x52C ...
|
|
|
|
Actual product: Turtle Beach Malibu soundcard (CS4237). The pnp
|
|
config here is adjusted to leave dma 3 clear for lpr use:
|
|
|
|
pnp 1 0 os irq0 15 irq1 0 drq0 1 drq1 0 port0 1332
|
|
|
|
That line is in my /boot/kernel.conf (C. Robey, 3/24/99)
|
|
|
|
--------------------------
|
|
CHIPSET:
|
|
CS4232: PnP id 0x3242630e
|
|
|
|
MANUFACTURER:
|
|
???
|
|
|
|
DATA SHEETS:
|
|
http://www.crystal.com/
|
|
|
|
PNP CONFIG:
|
|
pnp 1 0 os enable port0 0x534 port2 0x220 irq0 5 drq0 1 drq1 3
|
|
|
|
COMMENTS:
|
|
This chip is reported as broken in the OSS documentation. As a
|
|
matter of fact, on my Intel Zappa motherboard, I have problems in
|
|
make it use the secondary DMA channel. I have it working in
|
|
half duplex (both capture and playback) in SB3.2 emulation,
|
|
and working in playback mode in MSS emulation.
|
|
Also have reports from some user that it works ok.
|
|
|
|
--------------------------
|
|
CHIPSET:
|
|
AD1815/1816
|
|
|
|
MANUFACTURER:
|
|
Analog Devices
|
|
|
|
DOCUMENTATION:
|
|
http://www.analog.com
|
|
|
|
COMMENTS:
|
|
This is a chip for ISA-PnP cards, and so should be configured
|
|
using the PnP interface. For full function configure port2,
|
|
irq0, drq0 and drq1 of ldn0.
|
|
The driver is contributed by German Tischler
|
|
|
|
FORMATS:
|
|
ALAW/ULAW/8bit/16bit(le)/16bit(be),8kHz-55.2kHz,full duplex
|
|
|
|
--------------------------
|
|
CHIPSET:
|
|
OPTi931: PnP id 0x3109143e
|
|
OPTi933: PnP id 0x3109143e (yes, it's the same)
|
|
|
|
MANUFACTURER:
|
|
ExpertColor MED931 (europe)
|
|
Shuttle HOT-247 (uses the 933, $15 retail in the US)
|
|
|
|
DATA SHEETS:
|
|
http://www.opti.com/ opti931_21.pdf
|
|
|
|
PNP CONFIG:
|
|
pnp 1 1 os enable port0 0x534 port2 0x220 port3 0xe0d irq0 10 drq0 1 drq1 6
|
|
|
|
COMMENTS:
|
|
The data sheets of this chip are very cryptic and do not match
|
|
what the cards I have seem to do. I have it working
|
|
in WSS emulation, in full duplex and all modes.
|
|
In SB emulation mode the driver does not work yet (maybe I do
|
|
not initialize it the right way). It is not a major concern
|
|
anyways.
|
|
I am strongly convinced of a couple of bugs in the chip. I have
|
|
sent email to OPTI but got no reply so far. The bugs are:
|
|
- you cannot set both playback and capture format to use
|
|
a companded mode (ULAW, ALAW). If you do, the card will screw
|
|
up on the capture section.
|
|
The driver has a partial fix in software: when using ULAW, it
|
|
programs ULAW on the playback section, U8 on the capture, and
|
|
does a conversion in software (much like the SBPro). Of course
|
|
you lose 4-5 bits of dynamic range in the process.
|
|
- in full duplex (and single DMA mode), the card occasionally
|
|
misses interrupts, or generates spurious ones, or generates
|
|
interrupts before setting the status bits in the registers.
|
|
Spurious ints are not problematic since they can be easily
|
|
ignored, but missing interrupts are a nightmare to handle...
|
|
The only way to have this card work semi-reliably is to use
|
|
auto-dma mode (which is the default mode of operation in the
|
|
driver).
|
|
In any case, these cards are very cheap and widely available and
|
|
are a reasonable solution if you cannot find some other decent WSS
|
|
device.
|
|
|
|
-------------------------------
|
|
CHIPSET:
|
|
SB16: PnP id 0x__008c0e
|
|
Vibra16X: PnP id 0xf0008c0e
|
|
|
|
MANUFACTURER:
|
|
CreativeLabs
|
|
|
|
DATA SHEETS:
|
|
http://www.creative.com sbhwpg.pdf or SBHWPG.EXE
|
|
ftp://www.creaf.com/pub/creative/devinfo/ctsbhwpg.exe
|
|
|
|
PNP CONFIG:
|
|
pnp 1 0 os enable port0 0x220 irq0 5 drq0 1 drq1 5
|
|
|
|
COMMENTS:
|
|
SB16 really refers to a large number of different cards, starting
|
|
from the original, non-PnP SB16, to more modern cards (SB16PnP,
|
|
Vibra16C) and other including Wavetable Synthesis (AWE32, AWE64,
|
|
etc.). All these cards have different PnP ID. They have
|
|
different synthesis devices, which we do not support, so we
|
|
are not affected by these differences. Don't worry if the driver
|
|
identifies the card as a different SB16 than the one you have.
|
|
|
|
BEWARE -- all recent (1998 ?) SB16 use a new codec, Vibra16X,
|
|
which is sufficiently different from the old one to not work with
|
|
this driver in capture mode or in full duplex. Documentation is
|
|
not available from Creative. I suggest to stay away from these
|
|
cards (and from SB16 in general).
|
|
|
|
Full duplex support of this card is tricky since one channel can
|
|
work in 16-bit and the other in 8-bit mode. You will need to use
|
|
the new set of ioctl to use separate data formats on the two
|
|
channels (the vat driver does this). Of course, quality in 8-bit
|
|
is much lower than in 16-bit.
|
|
|
|
Full duplex operation is unsupported by Creative. It seems to
|
|
work, although on my Vibra16C the command to stop DMA transfer
|
|
seems to erroneously affect both channels instead of the one
|
|
they are issued for. The driver has a workaround, but I cannot
|
|
guarantee that it works for everybody. I have had several
|
|
positive reports.
|
|
|
|
Some docs on how to use this card with the voxware driver
|
|
are at http://multiverse.com/~rhh/awedrv
|
|
|
|
--------------------------
|
|
CHIPSET:
|
|
ALS100, ALS110, ...
|
|
Avance Asound 100: PnP id 0x01009305
|
|
|
|
MANUFACTURER:
|
|
Realtek (also Avance Asound and possibly other names)
|
|
|
|
|
|
DOCUMENTATION:
|
|
|
|
http://www.realtek.com.tw/cp/cp.html
|
|
but not very useful or detailed.
|
|
|
|
COMMENTS:
|
|
These card should be recognised as SB16 clones. Some of them
|
|
emulate the Vibra16X, so the comments above apply.
|
|
|
|
|
|
------------------------------
|
|
CHIPSET:
|
|
Yamaha SA2/SA3 . Both PnP and non-PnP versions.
|
|
OPL3-SA2 Sound Chip: PnP id 0x2000a865
|
|
OPL/SA3 : PnP id 0x3000a865
|
|
|
|
MANUFACTURER:
|
|
no-name cards, and also used in various laptops, e.g. Toshiba
|
|
Libretto and others. I
|
|
|
|
DATA SHEETS:
|
|
http://www.yamaha.com ? YM711.pdf
|
|
ftp://ftp.yamahayst.com/pub/Fax_Back_Doc/Sound
|
|
http://www.imail.net.tw/qtronix/qumax_product_yamaha.htm
|
|
|
|
This is a huge file containing a few pages scanned and converted
|
|
to pdf. Not very detailed. Luckily, this chipset appears to do a
|
|
good (i.e. bug-free) emulation of the WSS, so it is fully
|
|
supported by the driver.
|
|
|
|
pnp 1 0 os enable port0 0x220 port1 0x530 port2 0x388 port3 0x370 irq0 5 drq0 1 drq1 0
|
|
|
|
this card emulates a WSS or SB. Have reports that it works, although
|
|
it has incomplete mixer support (Yamaha defines an additional set
|
|
of registers to control some mixer functions, such as the master
|
|
output volume -- this is at 0x370 or 0x310). Currently we set
|
|
the master volume to 100% for the PnP card. Will put in code to do the
|
|
same for the non PnP card as soon as I find out how to tell
|
|
the Yamaha from other cards.
|
|
Driver reported to work also on
|
|
Toshiba DynaBook Portege 300CT with OPL3SA-3(non-PNP), and on the
|
|
Libretto50CT (has the non-PnP device).
|
|
|
|
------------------------
|
|
CHIPSET:
|
|
ENSONIQ SoundscapeVIVO ENS4081: PnP id 0x8140d315
|
|
MANUFACTURER:
|
|
Ensoniq Soundscape VIVO
|
|
|
|
PNP CONFIG:
|
|
pnp 1 0 os enable port0 0x220 port1 0x530 irq0 5 drq0 1 drq1 5
|
|
|
|
COMMENTS:
|
|
this card emulates a WSS or SB. Have reports that it works.
|
|
|
|
-------------------------
|
|
CHIPSET:
|
|
AMD...
|
|
|
|
MANUFACTURER:
|
|
GusPnP: PnP id 0x0100561e
|
|
|
|
PNP CONFIG:
|
|
pnp 1 0 os enable port0 0x220 port1 0x320 port2 0x32c irq0 5 drq0 7 drq1 5
|
|
|
|
COMMENTS:
|
|
It works in U8 and S16 mode, ulaw support still not working.
|
|
The Gus has been discontinued, so support for this card is only
|
|
there for historical reasons (the Gus used to be the only card
|
|
well supported in full duplex mode).
|
|
|
|
|
|
---- THE FOLLOWING CARDS ARE NOT FULLY SUPPORTED: ----
|
|
|
|
CHIPSET:
|
|
OPTI925: PnP id 0x2509143e
|
|
|
|
COMMENTS:
|
|
there is code to recognize it as a SB clone. I have reports that
|
|
it probes ok, but not sure if it works.
|
|
|
|
-------------------------
|
|
CHIPSET:
|
|
OPTI924: PnP
|
|
|
|
COMMENT:
|
|
I have this card but it is still unsupported.
|
|
|
|
-------------------------
|
|
CHIPSET:
|
|
OPTI930:
|
|
|
|
should work as an MSS clone, but support for it is not implemented
|
|
yet.
|
|
|
|
CHIPSET:
|
|
ESS1868
|
|
ESS688
|
|
|
|
http://www.esstech.com
|
|
|
|
pnp 1 1 os enable irq0 7 drq0 1 port0 0x220
|
|
|
|
There used to be documentation for the 1868 on the ESS site
|
|
(files ds1868b1.pdf and ds1868b2.pdf) but I am unable to find
|
|
it now (980122). I have asked ESS but no reply so far.
|
|
|
|
partly supported in SB emulation.
|
|
|
|
(the ESS688 is used on many notebooks. It is probably able to do 8
|
|
and 16-bit, half duplex).
|
|
|
|
-------------------------
|
|
CHIPSET:
|
|
es1370 (ensoniq)
|
|
es1371 (ensoniq)
|
|
used on SB64 PCI, Shuttle HOT-255, and maybe others
|
|
|
|
A driver for this is in the works.
|
|
see http://www.ensoniq.com/multimedia/semi_html/index.htm
|
|
for documentation. See also http://alsa.jcu.cz/alsa/ for a Linux
|
|
driver.
|
|
|
|
-------------------------
|
|
CHIPSET:
|
|
YMF724
|
|
used on various Yamaha (WaveForce) and other cards.
|
|
|
|
NOT SUPPORTED.
|
|
|
|
There is no public docs on this card, the closest thing being
|
|
http://www.imail.net.tw/qtronix/driver/qumax/yamaha/ds1e1110.pdf
|
|
http://www.imail.net.tw/qtronix/qumax_product_yamaha.htm
|
|
which however does not document how the card works in non-legacy
|
|
mode and how to make it talk to the AC97 codec.
|
|
|
|
|
|
--------------------------------------------------------------------
|