1 |
62 |
marcus.erl |
Introduction
|
2 |
|
|
------------
|
3 |
|
|
|
4 |
|
|
This file is a collection of all the old Readme files distributed with
|
5 |
|
|
OSS/Lite by Hannu Savolainen. Since the new Linux sound driver is founded
|
6 |
|
|
on it I think these information may still be interesting for users that
|
7 |
|
|
have to configure their sound system.
|
8 |
|
|
|
9 |
|
|
Be warned: Alan Cox is the current maintainer of the Linux sound driver so if
|
10 |
|
|
you have problems with it, please contact him or the current device-specific
|
11 |
|
|
driver maintainer (e.g. for aedsp16 specific problems contact me). If you have
|
12 |
|
|
patches, contributions or suggestions send them to Alan: I'm sure they are
|
13 |
|
|
welcome.
|
14 |
|
|
|
15 |
|
|
In this document you will find a lot of references about OSS/Lite or ossfree:
|
16 |
|
|
they are gone forever. Keeping this in mind and with a grain of salt this
|
17 |
|
|
document can be still interesting and very helpful.
|
18 |
|
|
|
19 |
|
|
[ File edited 17.01.1999 - Riccardo Facchetti ]
|
20 |
|
|
[ Edited miroSOUND section 19.04.2001 - Robert Siemer ]
|
21 |
|
|
|
22 |
|
|
OSS/Free version 3.8 release notes
|
23 |
|
|
----------------------------------
|
24 |
|
|
|
25 |
|
|
Please read the SOUND-HOWTO (available from sunsite.unc.edu and other Linux FTP
|
26 |
|
|
sites). It gives instructions about using sound with Linux. It's bit out of
|
27 |
|
|
date but still very useful. Information about bug fixes and such things
|
28 |
|
|
is available from the web page (see above).
|
29 |
|
|
|
30 |
|
|
Please check http://www.opensound.com/pguide for more info about programming
|
31 |
|
|
with OSS API.
|
32 |
|
|
|
33 |
|
|
====================================================
|
34 |
|
|
- THIS VERSION ____REQUIRES____ Linux 2.1.57 OR LATER.
|
35 |
|
|
====================================================
|
36 |
|
|
|
37 |
|
|
Packages "snd-util-3.8.tar.gz" and "snd-data-0.1.tar.Z"
|
38 |
|
|
contain useful utilities to be used with this driver.
|
39 |
|
|
See http://www.opensound.com/ossfree/getting.html for
|
40 |
|
|
download instructions.
|
41 |
|
|
|
42 |
|
|
If you are looking for the installation instructions, please
|
43 |
|
|
look forward into this document.
|
44 |
|
|
|
45 |
|
|
Supported sound cards
|
46 |
|
|
---------------------
|
47 |
|
|
|
48 |
|
|
See below.
|
49 |
|
|
|
50 |
|
|
Contributors
|
51 |
|
|
------------
|
52 |
|
|
|
53 |
|
|
This driver contains code by several contributors. In addition several other
|
54 |
|
|
persons have given useful suggestions. The following is a list of major
|
55 |
|
|
contributors. (I could have forgotten some names.)
|
56 |
|
|
|
57 |
|
|
Craig Metz 1/2 of the PAS16 Mixer and PCM support
|
58 |
|
|
Rob Hooft Volume computation algorithm for the FM synth.
|
59 |
|
|
Mika Liljeberg uLaw encoding and decoding routines
|
60 |
|
|
Jeff Tranter Linux SOUND HOWTO document
|
61 |
|
|
Greg Lee Volume computation algorithm for the GUS and
|
62 |
|
|
lots of valuable suggestions.
|
63 |
|
|
Andy Warner ISC port
|
64 |
|
|
Jim Lowe,
|
65 |
|
|
Amancio Hasty Jr FreeBSD/NetBSD port
|
66 |
|
|
Anders Baekgaard Bug hunting and valuable suggestions.
|
67 |
|
|
Joerg Schubert SB16 DSP support (initial version).
|
68 |
|
|
Andrew Robinson Improvements to the GUS driver
|
69 |
|
|
Megens SA MIDI recording for SB and SB Pro (initial version).
|
70 |
|
|
Mikael Nordqvist Linear volume support for GUS and
|
71 |
|
|
nonblocking /dev/sequencer.
|
72 |
|
|
Ian Hartas SVR4.2 port
|
73 |
|
|
Markus Aroharju and
|
74 |
|
|
Risto Kankkunen Major contributions to the mixer support
|
75 |
|
|
of GUS v3.7.
|
76 |
|
|
Hunyue Yau Mixer support for SG NX Pro.
|
77 |
|
|
Marc Hoffman PSS support (initial version).
|
78 |
|
|
Rainer Vranken Initialization for Jazz16 (initial version).
|
79 |
|
|
Peter Trattler Initial version of loadable module support for Linux.
|
80 |
|
|
JRA Gibson 16 bit mode for Jazz16 (initial version)
|
81 |
|
|
Davor Jadrijevic MAD16 support (initial version)
|
82 |
|
|
Gregor Hoffleit Mozart support (initial version)
|
83 |
|
|
Riccardo Facchetti Audio Excel DSP 16 (aedsp16) support
|
84 |
|
|
James Hightower Spotting a tiny but important bug in CS423x support.
|
85 |
|
|
Denis Sablic OPTi 82C924 specific enhancements (non PnP mode)
|
86 |
|
|
Tim MacKenzie Full duplex support for OPTi 82C930.
|
87 |
|
|
|
88 |
|
|
Please look at lowlevel/README for more contributors.
|
89 |
|
|
|
90 |
|
|
There are probably many other names missing. If you have sent me some
|
91 |
|
|
patches and your name is not in the above list, please inform me.
|
92 |
|
|
|
93 |
|
|
Sending your contributions or patches
|
94 |
|
|
-------------------------------------
|
95 |
|
|
|
96 |
|
|
First of all it's highly recommended to contact me before sending anything
|
97 |
|
|
or before even starting to do any work. Tell me what you suggest to be
|
98 |
|
|
changed or what you have planned to do. Also ensure you are using the
|
99 |
|
|
very latest (development) version of OSS/Free since the change may already be
|
100 |
|
|
implemented there. In general it's a major waste of time to try to improve a
|
101 |
|
|
several months old version. Information about the latest version can be found
|
102 |
|
|
from http://www.opensound.com/ossfree. In general there is no point in
|
103 |
|
|
sending me patches relative to production kernels.
|
104 |
|
|
|
105 |
|
|
Sponsors etc.
|
106 |
|
|
-------------
|
107 |
|
|
|
108 |
|
|
The following companies have greatly helped development of this driver
|
109 |
|
|
in form of a free copy of their product:
|
110 |
|
|
|
111 |
|
|
Novell, Inc. UnixWare personal edition + SDK
|
112 |
|
|
The Santa Cruz Operation, Inc. A SCO OpenServer + SDK
|
113 |
|
|
Ensoniq Corp, a SoundScape card and extensive amount of assistance
|
114 |
|
|
MediaTrix Peripherals Inc, a AudioTrix Pro card + SDK
|
115 |
|
|
Acer, Inc. a pair of AcerMagic S23 cards.
|
116 |
|
|
|
117 |
|
|
In addition the following companies have provided me sufficient amount
|
118 |
|
|
of technical information at least some of their products (free or $$$):
|
119 |
|
|
|
120 |
|
|
Advanced Gravis Computer Technology Ltd.
|
121 |
|
|
Media Vision Inc.
|
122 |
|
|
Analog Devices Inc.
|
123 |
|
|
Logitech Inc.
|
124 |
|
|
Aztech Labs Inc.
|
125 |
|
|
Crystal Semiconductor Corporation,
|
126 |
|
|
Integrated Circuit Systems Inc.
|
127 |
|
|
OAK Technology
|
128 |
|
|
OPTi
|
129 |
|
|
Turtle Beach
|
130 |
|
|
miro
|
131 |
|
|
Ad Lib Inc. ($$)
|
132 |
|
|
Music Quest Inc. ($$)
|
133 |
|
|
Creative Labs ($$$)
|
134 |
|
|
|
135 |
|
|
If you have some problems
|
136 |
|
|
=========================
|
137 |
|
|
|
138 |
|
|
Read the sound HOWTO (sunsite.unc.edu:/pub/Linux/docs/...?).
|
139 |
|
|
Also look at the home page (http://www.opensound.com/ossfree). It may
|
140 |
|
|
contain info about some recent bug fixes.
|
141 |
|
|
|
142 |
|
|
It's likely that you have some problems when trying to use the sound driver
|
143 |
|
|
first time. Sound cards don't have standard configuration so there are no
|
144 |
|
|
good default configuration to use. Please try to use same I/O, DMA and IRQ
|
145 |
|
|
values for the sound card than with DOS.
|
146 |
|
|
|
147 |
|
|
If you get an error message when trying to use the driver, please look
|
148 |
|
|
at /var/adm/messages for more verbose error message.
|
149 |
|
|
|
150 |
|
|
|
151 |
|
|
The following errors are likely with /dev/dsp and /dev/audio.
|
152 |
|
|
|
153 |
|
|
- "No such device or address".
|
154 |
|
|
This error indicates that there are no suitable hardware for the
|
155 |
|
|
device file or the sound driver has been compiled without support for
|
156 |
|
|
this particular device. For example /dev/audio and /dev/dsp will not
|
157 |
|
|
work if "digitized voice support" was not enabled during "make config".
|
158 |
|
|
|
159 |
|
|
- "Device or resource busy". Probably the IRQ (or DMA) channel
|
160 |
|
|
required by the sound card is in use by some other device/driver.
|
161 |
|
|
|
162 |
|
|
- "I/O error". Almost certainly (99%) it's an IRQ or DMA conflict.
|
163 |
|
|
Look at the kernel messages in /var/adm/notice for more info.
|
164 |
|
|
|
165 |
|
|
- "Invalid argument". The application is calling ioctl()
|
166 |
|
|
with impossible parameters. Check that the application is
|
167 |
|
|
for sound driver version 2.X or later.
|
168 |
|
|
|
169 |
|
|
Linux installation
|
170 |
|
|
==================
|
171 |
|
|
|
172 |
|
|
IMPORTANT! Read this if you are installing a separately
|
173 |
|
|
distributed version of this driver.
|
174 |
|
|
|
175 |
|
|
Check that your kernel version works with this
|
176 |
|
|
release of the driver (see Readme). Also verify
|
177 |
|
|
that your current kernel version doesn't have more
|
178 |
|
|
recent sound driver version than this one. IT'S HIGHLY
|
179 |
|
|
RECOMMENDED THAT YOU USE THE SOUND DRIVER VERSION THAT
|
180 |
|
|
IS DISTRIBUTED WITH KERNEL SOURCES.
|
181 |
|
|
|
182 |
|
|
- When installing separately distributed sound driver you should first
|
183 |
|
|
read the above notice. Then try to find proper directory where and how
|
184 |
|
|
to install the driver sources. You should not try to install a separately
|
185 |
|
|
distributed driver version if you are not able to find the proper way
|
186 |
|
|
yourself (in this case use the version that is distributed with kernel
|
187 |
|
|
sources). Remove old version of linux/drivers/sound directory before
|
188 |
|
|
installing new files.
|
189 |
|
|
|
190 |
|
|
- To build the device files you need to run the enclosed shell script
|
191 |
|
|
(see below). You need to do this only when installing sound driver
|
192 |
|
|
first time or when upgrading to much recent version than the earlier
|
193 |
|
|
one.
|
194 |
|
|
|
195 |
|
|
- Configure and compile Linux as normally (remember to include the
|
196 |
|
|
sound support during "make config"). Please refer to kernel documentation
|
197 |
|
|
for instructions about configuring and compiling kernel. File Readme.cards
|
198 |
|
|
contains card specific instructions for configuring this driver for
|
199 |
|
|
use with various sound cards.
|
200 |
|
|
|
201 |
|
|
Boot time configuration (using lilo and insmod)
|
202 |
|
|
-----------------------------------------------
|
203 |
|
|
|
204 |
|
|
This information has been removed. Too many users didn't believe
|
205 |
|
|
that it's really not necessary to use this method. Please look at
|
206 |
|
|
Readme of sound driver version 3.0.1 if you still want to use this method.
|
207 |
|
|
|
208 |
|
|
Problems
|
209 |
|
|
--------
|
210 |
|
|
|
211 |
|
|
Common error messages:
|
212 |
|
|
|
213 |
|
|
- /dev/???????: No such file or directory.
|
214 |
|
|
Run the script at the end of this file.
|
215 |
|
|
|
216 |
|
|
- /dev/???????: No such device.
|
217 |
|
|
You are not running kernel which contains the sound driver. When using
|
218 |
|
|
modularized sound driver this error means that the sound driver is not
|
219 |
|
|
loaded.
|
220 |
|
|
|
221 |
|
|
- /dev/????: No such device or address.
|
222 |
|
|
Sound driver didn't detect suitable card when initializing. Please look at
|
223 |
|
|
Readme.cards for info about configuring the driver with your card. Also
|
224 |
|
|
check for possible boot (insmod) time error messages in /var/adm/messages.
|
225 |
|
|
|
226 |
|
|
- Other messages or problems
|
227 |
|
|
Please check http://www.opensound.com/ossfree for more info.
|
228 |
|
|
|
229 |
|
|
Configuring version 3.8 (for Linux) with some common sound cards
|
230 |
|
|
================================================================
|
231 |
|
|
|
232 |
|
|
This document describes configuring sound cards with the freeware version of
|
233 |
|
|
Open Sound Systems (OSS/Free). Information about the commercial version
|
234 |
|
|
(OSS/Linux) and its configuration is available from
|
235 |
|
|
http://www.opensound.com/linux.html. Information presented here is
|
236 |
|
|
not valid for OSS/Linux.
|
237 |
|
|
|
238 |
|
|
If you are unsure about how to configure OSS/Free
|
239 |
|
|
you can download the free evaluation version of OSS/Linux from the above
|
240 |
|
|
address. There is a chance that it can autodetect your sound card. In this case
|
241 |
|
|
you can use the information included in soundon.log when configuring OSS/Free.
|
242 |
|
|
|
243 |
|
|
|
244 |
|
|
IMPORTANT! This document covers only cards that were "known" when
|
245 |
|
|
this driver version was released. Please look at
|
246 |
|
|
http://www.opensound.com/ossfree for info about
|
247 |
|
|
cards introduced recently.
|
248 |
|
|
|
249 |
|
|
When configuring the sound driver, you should carefully
|
250 |
|
|
check each sound configuration option (particularly
|
251 |
|
|
"Support for /dev/dsp and /dev/audio"). The default values
|
252 |
|
|
offered by these programs are not necessarily valid.
|
253 |
|
|
|
254 |
|
|
|
255 |
|
|
THE BIGGEST MISTAKES YOU CAN MAKE
|
256 |
|
|
=================================
|
257 |
|
|
|
258 |
|
|
1. Assuming that the card is Sound Blaster compatible when it's not.
|
259 |
|
|
--------------------------------------------------------------------
|
260 |
|
|
|
261 |
|
|
The number one mistake is to assume that your card is compatible with
|
262 |
|
|
Sound Blaster. Only the cards made by Creative Technology or which have
|
263 |
|
|
one or more chips labeled by Creative are SB compatible. In addition there
|
264 |
|
|
are few sound chipsets which are SB compatible in Linux such as ESS1688 or
|
265 |
|
|
Jazz16. Note that SB compatibility in DOS/Windows does _NOT_ mean anything
|
266 |
|
|
in Linux.
|
267 |
|
|
|
268 |
|
|
IF YOU REALLY ARE 150% SURE YOU HAVE A SOUND BLASTER YOU CAN SKIP THE REST OF
|
269 |
|
|
THIS CHAPTER.
|
270 |
|
|
|
271 |
|
|
For most other "supposed to be SB compatible" cards you have to use other
|
272 |
|
|
than SB drivers (see below). It is possible to get most sound cards to work
|
273 |
|
|
in SB mode but in general it's a complete waste of time. There are several
|
274 |
|
|
problems which you will encounter by using SB mode with cards that are not
|
275 |
|
|
truly SB compatible:
|
276 |
|
|
|
277 |
|
|
- The SB emulation is at most SB Pro (DSP version 3.x) which means that
|
278 |
|
|
you get only 8 bit audio (there is always an another ("native") mode which
|
279 |
|
|
gives the 16 bit capability). The 8 bit only operation is the reason why
|
280 |
|
|
many users claim that sound quality in Linux is much worse than in DOS.
|
281 |
|
|
In addition some applications require 16 bit mode and they produce just
|
282 |
|
|
noise with a 8 bit only device.
|
283 |
|
|
- The card may work only in some cases but refuse to work most of the
|
284 |
|
|
time. The SB compatible mode always requires special initialization which is
|
285 |
|
|
done by the DOS/Windows drivers. This kind of cards work in Linux after
|
286 |
|
|
you have warm booted it after DOS but they don't work after cold boot
|
287 |
|
|
(power on or reset).
|
288 |
|
|
- You get the famous "DMA timed out" messages. Usually all SB clones have
|
289 |
|
|
software selectable IRQ and DMA settings. If the (power on default) values
|
290 |
|
|
currently used by the card don't match configuration of the driver you will
|
291 |
|
|
get the above error message whenever you try to record or play. There are
|
292 |
|
|
few other reasons to the DMA timeout message but using the SB mode seems
|
293 |
|
|
to be the most common cause.
|
294 |
|
|
|
295 |
|
|
2. Trying to use a PnP (Plug & Play) card just like an ordinary sound card
|
296 |
|
|
--------------------------------------------------------------------------
|
297 |
|
|
|
298 |
|
|
Plug & Play is a protocol defined by Intel and Microsoft. It lets operating
|
299 |
|
|
systems to easily identify and reconfigure I/O ports, IRQs and DMAs of ISA
|
300 |
|
|
cards. The problem with PnP cards is that the standard Linux doesn't currently
|
301 |
|
|
(versions 2.1.x and earlier) don't support PnP. This means that you will have
|
302 |
|
|
to use some special tricks (see later) to get a PnP card alive. Many PnP cards
|
303 |
|
|
work after they have been initialized but this is not always the case.
|
304 |
|
|
|
305 |
|
|
There are sometimes both PnP and non-PnP versions of the same sound card.
|
306 |
|
|
The non-PnP version is the original model which usually has been discontinued
|
307 |
|
|
more than an year ago. The PnP version has the same name but with "PnP"
|
308 |
|
|
appended to it (sometimes not). This causes major confusion since the non-PnP
|
309 |
|
|
model works with Linux but the PnP one doesn't.
|
310 |
|
|
|
311 |
|
|
You should carefully check if "Plug & Play" or "PnP" is mentioned in the name
|
312 |
|
|
of the card or in the documentation or package that came with the card.
|
313 |
|
|
Everything described in the rest of this document is not necessarily valid for
|
314 |
|
|
PnP models of sound cards even you have managed to wake up the card properly.
|
315 |
|
|
Many PnP cards are simply too different from their non-PnP ancestors which are
|
316 |
|
|
covered by this document.
|
317 |
|
|
|
318 |
|
|
|
319 |
|
|
Cards that are not (fully) supported by this driver
|
320 |
|
|
===================================================
|
321 |
|
|
|
322 |
|
|
See http://www.opensound.com/ossfree for information about sound cards
|
323 |
|
|
to be supported in future.
|
324 |
|
|
|
325 |
|
|
|
326 |
|
|
How to use sound without recompiling kernel and/or sound driver
|
327 |
|
|
===============================================================
|
328 |
|
|
|
329 |
|
|
There is a commercial sound driver which comes in precompiled form and doesn't
|
330 |
|
|
require recompiling of the kernel. See http://www.4Front-tech.com/oss.html for
|
331 |
|
|
more info.
|
332 |
|
|
|
333 |
|
|
|
334 |
|
|
Configuring PnP cards
|
335 |
|
|
=====================
|
336 |
|
|
|
337 |
|
|
New versions of most sound cards use the so-called ISA PnP protocol for
|
338 |
|
|
soft configuring their I/O, IRQ, DMA and shared memory resources.
|
339 |
|
|
Currently at least cards made by Creative Technology (SB32 and SB32AWE
|
340 |
|
|
PnP), Gravis (GUS PnP and GUS PnP Pro), Ensoniq (Soundscape PnP) and
|
341 |
|
|
Aztech (some Sound Galaxy models) use PnP technology. The CS4232/4236 audio
|
342 |
|
|
chip by Crystal Semiconductor (Intel Atlantis, HP Pavilion and many other
|
343 |
|
|
motherboards) is also based on PnP technology but there is a "native" driver
|
344 |
|
|
available for it (see information about CS4232 later in this document).
|
345 |
|
|
|
346 |
|
|
PnP sound cards (as well as most other PnP ISA cards) are not supported
|
347 |
|
|
by this version of the driver . Proper
|
348 |
|
|
support for them should be released during 97 once the kernel level
|
349 |
|
|
PnP support is available.
|
350 |
|
|
|
351 |
|
|
There is a method to get most of the PnP cards to work. The basic method
|
352 |
|
|
is the following:
|
353 |
|
|
|
354 |
|
|
1) Boot DOS so the card's DOS drivers have a chance to initialize it.
|
355 |
|
|
2) _Cold_ boot to Linux by using "loadlin.exe". Hitting ctrl-alt-del
|
356 |
|
|
works with older machines but causes a hard reset of all cards on recent
|
357 |
|
|
(Pentium) machines.
|
358 |
|
|
3) If you have the sound driver in Linux configured properly, the card should
|
359 |
|
|
work now. "Proper" means that I/O, IRQ and DMA settings are the same as in
|
360 |
|
|
DOS. The hard part is to find which settings were used. See the documentation of
|
361 |
|
|
your card for more info.
|
362 |
|
|
|
363 |
|
|
Windows 95 could work as well as DOS but running loadlin may be difficult.
|
364 |
|
|
Probably you should "shut down" your machine to MS-DOS mode before running it.
|
365 |
|
|
|
366 |
|
|
Some machines have a BIOS utility for setting PnP resources. This is a good
|
367 |
|
|
way to configure some cards. In this case you don't need to boot DOS/Win95
|
368 |
|
|
before starting Linux.
|
369 |
|
|
|
370 |
|
|
Another way to initialize PnP cards without DOS/Win95 is a Linux based
|
371 |
|
|
PnP isolation tool. When writing this there is a pre alpha test version
|
372 |
|
|
of such a tool available from ftp://ftp.demon.co.uk/pub/unix/linux/utils. The
|
373 |
|
|
file is called isapnptools-*. Please note that this tool is just a temporary
|
374 |
|
|
solution which may be incompatible with future kernel versions having proper
|
375 |
|
|
support for PnP cards. There are bugs in setting DMA channels in earlier
|
376 |
|
|
versions of isapnptools so at least version 1.6 is required with sound cards.
|
377 |
|
|
|
378 |
|
|
Yet another way to use PnP cards is to use (commercial) OSS/Linux drivers. See
|
379 |
|
|
http://www.opensound.com/linux.html for more info. This is probably the way you
|
380 |
|
|
should do it if you don't want to spend time recompiling the kernel and
|
381 |
|
|
required tools.
|
382 |
|
|
|
383 |
|
|
|
384 |
|
|
Read this before trying to configure the driver
|
385 |
|
|
===============================================
|
386 |
|
|
|
387 |
|
|
There are currently many cards that work with this driver. Some of the cards
|
388 |
|
|
have native support while others work since they emulate some other
|
389 |
|
|
card (usually SB, MSS/WSS and/or MPU401). The following cards have native
|
390 |
|
|
support in the driver. Detailed instructions for configuring these cards
|
391 |
|
|
will be given later in this document.
|
392 |
|
|
|
393 |
|
|
Pro Audio Spectrum 16 (PAS16) and compatibles:
|
394 |
|
|
Pro Audio Spectrum 16
|
395 |
|
|
Pro Audio Studio 16
|
396 |
|
|
Logitech Sound Man 16
|
397 |
|
|
NOTE! The original Pro Audio Spectrum as well as the PAS+ are not
|
398 |
|
|
and will not be supported by the driver.
|
399 |
|
|
|
400 |
|
|
Media Vision Jazz16 based cards
|
401 |
|
|
Pro Sonic 16
|
402 |
|
|
Logitech SoundMan Wave
|
403 |
|
|
(Other Jazz based cards should work but I don't have any reports
|
404 |
|
|
about them).
|
405 |
|
|
|
406 |
|
|
Sound Blasters
|
407 |
|
|
SB 1.0 to 2.0
|
408 |
|
|
SB Pro
|
409 |
|
|
SB 16
|
410 |
|
|
SB32/64/AWE
|
411 |
|
|
Configure SB32/64/AWE just like SB16. See lowlevel/README.awe
|
412 |
|
|
for information about using the wave table synth.
|
413 |
|
|
NOTE! AWE63/Gold and 16/32/AWE "PnP" cards need to be activated
|
414 |
|
|
using isapnptools before they work with OSS/Free.
|
415 |
|
|
SB16 compatible cards by other manufacturers than Creative.
|
416 |
|
|
You have been fooled since there are _no_ SB16 compatible
|
417 |
|
|
cards on the market (as of May 1997). It's likely that your card
|
418 |
|
|
is compatible just with SB Pro but there is also a non-SB-
|
419 |
|
|
compatible 16 bit mode. Usually it's MSS/WSS but it could also
|
420 |
|
|
be a proprietary one like MV Jazz16 or ESS ES688. OPTi
|
421 |
|
|
MAD16 chips are very common in so called "SB 16 bit cards"
|
422 |
|
|
(try with the MAD16 driver).
|
423 |
|
|
|
424 |
|
|
======================================================================
|
425 |
|
|
"Supposed to be SB compatible" cards.
|
426 |
|
|
Forget the SB compatibility and check for other alternatives
|
427 |
|
|
first. The only cards that work with the SB driver in
|
428 |
|
|
Linux have been made by Creative Technology (there is at least
|
429 |
|
|
one chip on the card with "CREATIVE" printed on it). The
|
430 |
|
|
only other SB compatible chips are ESS and Jazz16 chips
|
431 |
|
|
(maybe ALSxxx chips too but they probably don't work).
|
432 |
|
|
Most other "16 bit SB compatible" cards such as "OPTi/MAD16" or
|
433 |
|
|
"Crystal" are _NOT_ SB compatible in Linux.
|
434 |
|
|
|
435 |
|
|
Practically all sound cards have some kind of SB emulation mode
|
436 |
|
|
in addition to their native (16 bit) mode. In most cases this
|
437 |
|
|
(8 bit only) SB compatible mode doesn't work with Linux. If
|
438 |
|
|
you get it working it may cause problems with games and
|
439 |
|
|
applications which require 16 bit audio. Some 16 bit only
|
440 |
|
|
applications don't check if the card actually supports 16 bits.
|
441 |
|
|
They just dump 16 bit data to a 8 bit card which produces just
|
442 |
|
|
noise.
|
443 |
|
|
|
444 |
|
|
In most cases the 16 bit native mode is supported by Linux.
|
445 |
|
|
Use the SB mode with "clones" only if you don't find anything
|
446 |
|
|
better from the rest of this doc.
|
447 |
|
|
======================================================================
|
448 |
|
|
|
449 |
|
|
Gravis Ultrasound (GUS)
|
450 |
|
|
GUS
|
451 |
|
|
GUS + the 16 bit option
|
452 |
|
|
GUS MAX
|
453 |
|
|
GUS ACE (No MIDI port and audio recording)
|
454 |
|
|
GUS PnP (with RAM)
|
455 |
|
|
|
456 |
|
|
MPU-401 and compatibles
|
457 |
|
|
The driver works both with the full (intelligent mode) MPU-401
|
458 |
|
|
cards (such as MPU IPC-T and MQX-32M) and with the UART only
|
459 |
|
|
dumb MIDI ports. MPU-401 is currently the most common MIDI
|
460 |
|
|
interface. Most sound cards are compatible with it. However,
|
461 |
|
|
don't enable MPU401 mode blindly. Many cards with native support
|
462 |
|
|
in the driver have their own MPU401 driver. Enabling the standard one
|
463 |
|
|
will cause a conflict with these cards. So check if your card is
|
464 |
|
|
in the list of supported cards before enabling MPU401.
|
465 |
|
|
|
466 |
|
|
Windows Sound System (MSS/WSS)
|
467 |
|
|
Even when Microsoft has discontinued their own Sound System card
|
468 |
|
|
they managed to make it a standard. MSS compatible cards are based on
|
469 |
|
|
a codec chip which is easily available from at least two manufacturers
|
470 |
|
|
(AD1848 by Analog Devices and CS4231/CS4248 by Crystal Semiconductor).
|
471 |
|
|
Currently most sound cards are based on one of the MSS compatible codec
|
472 |
|
|
chips. The CS4231 is used in the high quality cards such as GUS MAX,
|
473 |
|
|
MediaTrix AudioTrix Pro and TB Tropez (GUS MAX is not MSS compatible).
|
474 |
|
|
|
475 |
|
|
Having a AD1848, CS4248 or CS4231 codec chip on the card is a good
|
476 |
|
|
sign. Even if the card is not MSS compatible, it could be easy to write
|
477 |
|
|
support for it. Note also that most MSS compatible cards
|
478 |
|
|
require special boot time initialization which may not be present
|
479 |
|
|
in the driver. Also, some MSS compatible cards have native support.
|
480 |
|
|
Enabling the MSS support with these cards is likely to
|
481 |
|
|
cause a conflict. So check if your card is listed in this file before
|
482 |
|
|
enabling the MSS support.
|
483 |
|
|
|
484 |
|
|
Yamaha FM synthesizers (OPL2, OPL3 (not OPL3-SA) and OPL4)
|
485 |
|
|
Most sound cards have a FM synthesizer chip. The OPL2 is a 2
|
486 |
|
|
operator chip used in the original AdLib card. Currently it's used
|
487 |
|
|
only in the cheapest (8 bit mono) cards. The OPL3 is a 4 operator
|
488 |
|
|
FM chip which provides better sound quality and/or more available
|
489 |
|
|
voices than the OPL2. The OPL4 is a new chip that has an OPL3 and
|
490 |
|
|
a wave table synthesizer packed onto the same chip. The driver supports
|
491 |
|
|
just the OPL3 mode directly. Most cards with an OPL4 (like
|
492 |
|
|
SM Wave and AudioTrix Pro) support the OPL4 mode using MPU401
|
493 |
|
|
emulation. Writing a native OPL4 support is difficult
|
494 |
|
|
since Yamaha doesn't give information about their sample ROM chip.
|
495 |
|
|
|
496 |
|
|
Enable the generic OPL2/OPL3 FM synthesizer support if your
|
497 |
|
|
card has a FM chip made by Yamaha. Don't enable it if your card
|
498 |
|
|
has a software (TRS) based FM emulator.
|
499 |
|
|
|
500 |
|
|
----------------------------------------------------------------
|
501 |
|
|
NOTE! OPL3-SA is different chip than the ordinary OPL3. In addition
|
502 |
|
|
to the FM synth this chip has also digital audio (WSS) and
|
503 |
|
|
MIDI (MPU401) capabilities. Support for OPL3-SA is described below.
|
504 |
|
|
----------------------------------------------------------------
|
505 |
|
|
|
506 |
|
|
Yamaha OPL3-SA1
|
507 |
|
|
|
508 |
|
|
Yamaha OPL3-SA1 (YMF701) is an audio controller chip used on some
|
509 |
|
|
(Intel) motherboards and on cheap sound cards. It should not be
|
510 |
|
|
confused with the original OPL3 chip (YMF278) which is entirely
|
511 |
|
|
different chip. OPL3-SA1 has support for MSS, MPU401 and SB Pro
|
512 |
|
|
(not used in OSS/Free) in addition to the OPL3 FM synth.
|
513 |
|
|
|
514 |
|
|
There are also chips called OPL3-SA2, OPL3-SA3, ..., OPL3SA-N. They
|
515 |
|
|
are PnP chips and will not work with the OPL3-SA1 driver. You should
|
516 |
|
|
use the standard MSS, MPU401 and OPL3 options with these chips and to
|
517 |
|
|
activate the card using isapnptools.
|
518 |
|
|
|
519 |
|
|
4Front Technologies SoftOSS
|
520 |
|
|
|
521 |
|
|
SoftOSS is a software based wave table emulation which works with
|
522 |
|
|
any 16 bit stereo sound card. Due to its nature a fast CPU is
|
523 |
|
|
required (P133 is minimum). Although SoftOSS does _not_ use MMX
|
524 |
|
|
instructions it has proven out that recent processors (which appear
|
525 |
|
|
to have MMX) perform significantly better with SoftOSS than earlier
|
526 |
|
|
ones. For example a P166MMX beats a PPro200. SoftOSS should not be used
|
527 |
|
|
on 486 or 386 machines.
|
528 |
|
|
|
529 |
|
|
The amount of CPU load caused by SoftOSS can be controlled by
|
530 |
|
|
selecting the CONFIG_SOFTOSS_RATE and CONFIG_SOFTOSS_VOICES
|
531 |
|
|
parameters properly (they will be prompted by make config). It's
|
532 |
|
|
recommended to set CONFIG_SOFTOSS_VOICES to 32. If you have a
|
533 |
|
|
P166MMX or faster (PPro200 is not faster) you can set
|
534 |
|
|
CONFIG_SOFTOSS_RATE to 44100 (kHz). However with slower systems it
|
535 |
|
|
recommended to use sampling rates around 22050 or even 16000 kHz.
|
536 |
|
|
Selecting too high values for these parameters may hang your
|
537 |
|
|
system when playing MIDI files with hight degree of polyphony
|
538 |
|
|
(number of concurrently playing notes). It's also possible to
|
539 |
|
|
decrease CONFIG_SOFTOSS_VOICES. This makes it possible to use
|
540 |
|
|
higher sampling rates. However using fewer voices decreases
|
541 |
|
|
playback quality more than decreasing the sampling rate.
|
542 |
|
|
|
543 |
|
|
SoftOSS keeps the samples loaded on the system's RAM so much RAM is
|
544 |
|
|
required. SoftOSS should never be used on machines with less than 16 MB
|
545 |
|
|
of RAM since this is potentially dangerous (you may accidentally run out
|
546 |
|
|
of memory which probably crashes the machine).
|
547 |
|
|
|
548 |
|
|
SoftOSS implements the wave table API originally designed for GUS. For
|
549 |
|
|
this reason all applications designed for GUS should work (at least
|
550 |
|
|
after minor modifications). For example gmod/xgmod and playmidi -g are
|
551 |
|
|
known to work.
|
552 |
|
|
|
553 |
|
|
To work SoftOSS will require GUS compatible
|
554 |
|
|
patch files to be installed on the system (in /dos/ultrasnd/midi). You
|
555 |
|
|
can use the public domain MIDIA patchset available from several ftp
|
556 |
|
|
sites.
|
557 |
|
|
|
558 |
|
|
*********************************************************************
|
559 |
|
|
IMPORTANT NOTICE! The original patch set distributed with the Gravis
|
560 |
|
|
Ultrasound card is not in public domain (even though it's available from
|
561 |
|
|
some FTP sites). You should contact Voice Crystal (www.voicecrystal.com)
|
562 |
|
|
if you like to use these patches with SoftOSS included in OSS/Free.
|
563 |
|
|
*********************************************************************
|
564 |
|
|
|
565 |
|
|
PSS based cards (AD1848 + ADSP-2115 + Echo ESC614 ASIC)
|
566 |
|
|
Analog Devices and Echo Speech have together defined a sound card
|
567 |
|
|
architecture based on the above chips. The DSP chip is used
|
568 |
|
|
for emulation of SB Pro, FM and General MIDI/MT32.
|
569 |
|
|
|
570 |
|
|
There are several cards based on this architecture. The most known
|
571 |
|
|
ones are Orchid SW32 and Cardinal DSP16.
|
572 |
|
|
|
573 |
|
|
The driver supports downloading DSP algorithms to these cards.
|
574 |
|
|
|
575 |
|
|
NOTE! You will have to use the "old" config script when configuring
|
576 |
|
|
PSS cards.
|
577 |
|
|
|
578 |
|
|
MediaTrix AudioTrix Pro
|
579 |
|
|
The ATP card is built around a CS4231 codec and an OPL4 synthesizer
|
580 |
|
|
chips. The OPL4 mode is supported by a microcontroller running a
|
581 |
|
|
General MIDI emulator. There is also a SB 1.5 compatible playback mode.
|
582 |
|
|
|
583 |
|
|
Ensoniq SoundScape and compatibles
|
584 |
|
|
Ensoniq has designed a sound card architecture based on the
|
585 |
|
|
OTTO synthesizer chip used in their professional MIDI synthesizers.
|
586 |
|
|
Several companies (including Ensoniq, Reveal and Spea) are selling
|
587 |
|
|
cards based on this architecture.
|
588 |
|
|
|
589 |
|
|
NOTE! The SoundScape PnP is not supported by OSS/Free. Ensoniq VIVO and
|
590 |
|
|
VIVO90 cards are not compatible with Soundscapes so the Soundscape
|
591 |
|
|
driver will not work with them. You may want to use OSS/Linux with these
|
592 |
|
|
cards.
|
593 |
|
|
|
594 |
|
|
OPTi MAD16 and Mozart based cards
|
595 |
|
|
The Mozart (OAK OTI-601), MAD16 (OPTi 82C928), MAD16 Pro (OPTi 82C929),
|
596 |
|
|
OPTi 82C924/82C925 (in _non_ PnP mode) and OPTi 82C930 interface
|
597 |
|
|
chips are used in many different sound cards, including some
|
598 |
|
|
cards by Reveal miro and Turtle Beach (Tropez). The purpose of these
|
599 |
|
|
chips is to connect other audio components to the PC bus. The
|
600 |
|
|
interface chip performs address decoding for the other chips.
|
601 |
|
|
NOTE! Tropez Plus is not MAD16 but CS4232 based.
|
602 |
|
|
NOTE! MAD16 PnP cards (82C924, 82C925, 82C931) are not MAD16 compatible
|
603 |
|
|
in the PnP mode. You will have to use them in MSS mode after having
|
604 |
|
|
initialized them using isapnptools or DOS. 82C931 probably requires
|
605 |
|
|
initialization using DOS/Windows (running isapnptools is not enough).
|
606 |
|
|
It's possible to use 82C931 with OSS/Free by jumpering it to non-PnP
|
607 |
|
|
mode (provided that the card has a jumper for this). In non-PnP mode
|
608 |
|
|
82C931 is compatible with 82C930 and should work with the MAD16 driver
|
609 |
|
|
(without need to use isapnptools or DOS to initialize it). All OPTi
|
610 |
|
|
chips are supported by OSS/Linux (both in PnP and non-PnP modes).
|
611 |
|
|
|
612 |
|
|
Audio Excel DSP16
|
613 |
|
|
Support for this card was written by Riccardo Faccetti
|
614 |
|
|
(riccardo@cdc8g5.cdc.polimi.it). The AEDSP16 driver included in
|
615 |
|
|
the lowlevel/ directory. To use it you should enable the
|
616 |
|
|
"Additional low level drivers" option.
|
617 |
|
|
|
618 |
|
|
Crystal CS4232 and CS4236 based cards such as AcerMagic S23, TB Tropez _Plus_ and
|
619 |
|
|
many PC motherboards (Compaq, HP, Intel, ...)
|
620 |
|
|
CS4232 is a PnP multimedia chip which contains a CS3231A codec,
|
621 |
|
|
SB and MPU401 emulations. There is support for OPL3 too.
|
622 |
|
|
Unfortunately the MPU401 mode doesn't work (I don't know how to
|
623 |
|
|
initialize it). CS4236 is an enhanced (compatible) version of CS4232.
|
624 |
|
|
NOTE! Don't ever try to use isapnptools with CS4232 since this will just
|
625 |
|
|
freeze your machine (due to chip bugs). If you have problems in getting
|
626 |
|
|
CS4232 working you could try initializing it with DOS (CS4232C.EXE) and
|
627 |
|
|
then booting Linux using loadlin. CS4232C.EXE loads a secret firmware
|
628 |
|
|
patch which is not documented by Crystal.
|
629 |
|
|
|
630 |
|
|
Turtle Beach Maui and Tropez "classic"
|
631 |
|
|
This driver version supports sample, patch and program loading commands
|
632 |
|
|
described in the Maui/Tropez User's manual.
|
633 |
|
|
There is now full initialization support too. The audio side of
|
634 |
|
|
the Tropez is based on the MAD16 chip (see above).
|
635 |
|
|
NOTE! Tropez Plus is different card than Tropez "classic" and will not
|
636 |
|
|
work fully in Linux. You can get audio features working by configuring
|
637 |
|
|
the card as a CS4232 based card (above).
|
638 |
|
|
|
639 |
|
|
|
640 |
|
|
Jumpers and software configuration
|
641 |
|
|
==================================
|
642 |
|
|
|
643 |
|
|
Some of the earliest sound cards were jumper configurable. You have to
|
644 |
|
|
configure the driver use I/O, IRQ and DMA settings
|
645 |
|
|
that match the jumpers. Just few 8 bit cards are fully jumper
|
646 |
|
|
configurable (SB 1.x/2.x, SB Pro and clones).
|
647 |
|
|
Some cards made by Aztech have an EEPROM which contains the
|
648 |
|
|
config info. These cards behave much like hardware jumpered cards.
|
649 |
|
|
|
650 |
|
|
Most cards have jumper for the base I/O address but other parameters
|
651 |
|
|
are software configurable. Sometimes there are few other jumpers too.
|
652 |
|
|
|
653 |
|
|
Latest cards are fully software configurable or they are PnP ISA
|
654 |
|
|
compatible. There are no jumpers on the board.
|
655 |
|
|
|
656 |
|
|
The driver handles software configurable cards automatically. Just configure
|
657 |
|
|
the driver to use I/O, IRQ and DMA settings which are known to work.
|
658 |
|
|
You could usually use the same values than with DOS and/or Windows.
|
659 |
|
|
Using different settings is possible but not recommended since it may cause
|
660 |
|
|
some trouble (for example when warm booting from an OS to another or
|
661 |
|
|
when installing new hardware to the machine).
|
662 |
|
|
|
663 |
|
|
Sound driver sets the soft configurable parameters of the card automatically
|
664 |
|
|
during boot. Usually you don't need to run any extra initialization
|
665 |
|
|
programs when booting Linux but there are some exceptions. See the
|
666 |
|
|
card-specific instructions below for more info.
|
667 |
|
|
|
668 |
|
|
The drawback of software configuration is that the driver needs to know
|
669 |
|
|
how the card must be initialized. It cannot initialize unknown cards
|
670 |
|
|
even if they are otherwise compatible with some other cards (like SB,
|
671 |
|
|
MPU401 or Windows Sound System).
|
672 |
|
|
|
673 |
|
|
|
674 |
|
|
What if your card was not listed above?
|
675 |
|
|
=======================================
|
676 |
|
|
|
677 |
|
|
The first thing to do is to look at the major IC chips on the card.
|
678 |
|
|
Many of the latest sound cards are based on some standard chips. If you
|
679 |
|
|
are lucky, all of them could be supported by the driver. The most common ones
|
680 |
|
|
are the OPTi MAD16, Mozart, SoundScape (Ensoniq) and the PSS architectures
|
681 |
|
|
listed above. Also look at the end of this file for list of unsupported
|
682 |
|
|
cards and the ones which could be supported later.
|
683 |
|
|
|
684 |
|
|
The last resort is to send _exact_ name and model information of the card
|
685 |
|
|
to me together with a list of the major IC chips (manufactured, model) to
|
686 |
|
|
me. I could then try to check if your card looks like something familiar.
|
687 |
|
|
|
688 |
|
|
There are many more cards in the world than listed above. The first thing to
|
689 |
|
|
do with these cards is to check if they emulate some other card or interface
|
690 |
|
|
such as SB, MSS and/or MPU401. In this case there is a chance to get the
|
691 |
|
|
card to work by booting DOS before starting Linux (boot DOS, hit ctrl-alt-del
|
692 |
|
|
and boot Linux without hard resetting the machine). In this method the
|
693 |
|
|
DOS based driver initializes the hardware to use known I/O, IRQ and DMA
|
694 |
|
|
settings. If sound driver is configured to use the same settings, everything
|
695 |
|
|
should work OK.
|
696 |
|
|
|
697 |
|
|
|
698 |
|
|
Configuring sound driver (with Linux)
|
699 |
|
|
=====================================
|
700 |
|
|
|
701 |
|
|
The sound driver is currently distributed as part of the Linux kernel. The
|
702 |
|
|
files are in /usr/src/linux/drivers/sound/.
|
703 |
|
|
|
704 |
|
|
****************************************************************************
|
705 |
|
|
* ALWAYS USE THE SOUND DRIVER VERSION WHICH IS DISTRIBUTED WITH *
|
706 |
|
|
* THE KERNEL SOURCE PACKAGE YOU ARE USING. SOME ALPHA AND BETA TEST *
|
707 |
|
|
* VERSIONS CAN BE INSTALLED FROM A SEPARATELY DISTRIBUTED PACKAGE *
|
708 |
|
|
* BUT CHECK THAT THE PACKAGE IS NOT MUCH OLDER (OR NEWER) THAN THE *
|
709 |
|
|
* KERNEL YOU ARE USING. IT'S POSSIBLE THAT THE KERNEL/DRIVER *
|
710 |
|
|
* INTERFACE CHANGES BETWEEN KERNEL RELEASES WHICH MAY CAUSE SOME *
|
711 |
|
|
* INCOMPATIBILITY PROBLEMS. *
|
712 |
|
|
* *
|
713 |
|
|
* IN CASE YOU INSTALL A SEPARATELY DISTRIBUTED SOUND DRIVER VERSION, *
|
714 |
|
|
* BE SURE TO REMOVE OR RENAME THE OLD SOUND DRIVER DIRECTORY BEFORE *
|
715 |
|
|
* INSTALLING THE NEW ONE. LEAVING OLD FILES TO THE SOUND DRIVER *
|
716 |
|
|
* DIRECTORY _WILL_ CAUSE PROBLEMS WHEN THE DRIVER IS USED OR *
|
717 |
|
|
* COMPILED. *
|
718 |
|
|
****************************************************************************
|
719 |
|
|
|
720 |
|
|
To configure the driver, run "make config" in the kernel source directory
|
721 |
|
|
(/usr/src/linux). Answer "y" or "m" to the question about Sound card support
|
722 |
|
|
(after the questions about mouse, CD-ROM, ftape, etc. support). Questions
|
723 |
|
|
about options for sound will then be asked.
|
724 |
|
|
|
725 |
|
|
After configuring the kernel and sound driver and compile the kernel
|
726 |
|
|
following instructions in the kernel README.
|
727 |
|
|
|
728 |
|
|
The sound driver configuration dialog
|
729 |
|
|
-------------------------------------
|
730 |
|
|
|
731 |
|
|
Sound configuration starts by making some yes/no questions. Be careful
|
732 |
|
|
when answering to these questions since answering y to a question may
|
733 |
|
|
prevent some later ones from being asked. For example don't answer y to
|
734 |
|
|
the first question (PAS16) if you don't really have a PAS16. Don't enable
|
735 |
|
|
more cards than you really need since they just consume memory. Also
|
736 |
|
|
some drivers (like MPU401) may conflict with your SCSI controller and
|
737 |
|
|
prevent kernel from booting. If you card was in the list of supported
|
738 |
|
|
cards (above), please look at the card specific config instructions
|
739 |
|
|
(later in this file) before starting to configure. Some cards must be
|
740 |
|
|
configured in way which is not obvious.
|
741 |
|
|
|
742 |
|
|
So here is the beginning of the config dialog. Answer 'y' or 'n' to these
|
743 |
|
|
questions. The default answer is shown so that (y/n) means 'y' by default and
|
744 |
|
|
(n/y) means 'n'. To use the default value, just hit ENTER. But be careful
|
745 |
|
|
since using the default _doesn't_ guarantee anything.
|
746 |
|
|
|
747 |
|
|
Note also that all questions may not be asked. The configuration program
|
748 |
|
|
may disable some questions depending on the earlier choices. It may also
|
749 |
|
|
select some options automatically as well.
|
750 |
|
|
|
751 |
|
|
"ProAudioSpectrum 16 support",
|
752 |
|
|
- Answer 'y'_ONLY_ if you have a Pro Audio Spectrum _16_,
|
753 |
|
|
Pro Audio Studio 16 or Logitech SoundMan 16 (be sure that
|
754 |
|
|
you read the above list correctly). Don't answer 'y' if you
|
755 |
|
|
have some other card made by Media Vision or Logitech since they
|
756 |
|
|
are not PAS16 compatible.
|
757 |
|
|
NOTE! Since 3.5-beta10 you need to enable SB support (next question)
|
758 |
|
|
if you want to use the SB emulation of PAS16. It's also possible to
|
759 |
|
|
the emulation if you want to use a true SB card together with PAS16
|
760 |
|
|
(there is another question about this that is asked later).
|
761 |
|
|
"Sound Blaster support",
|
762 |
|
|
- Answer 'y' if you have an original SB card made by Creative Labs
|
763 |
|
|
or a full 100% hardware compatible clone (like Thunderboard or
|
764 |
|
|
SM Games). If your card was in the list of supported cards (above),
|
765 |
|
|
please look at the card specific instructions later in this file
|
766 |
|
|
before answering this question. For an unknown card you may answer
|
767 |
|
|
'y' if the card claims to be SB compatible.
|
768 |
|
|
Enable this option also with PAS16 (changed since v3.5-beta9).
|
769 |
|
|
|
770 |
|
|
Don't enable SB if you have a MAD16 or Mozart compatible card.
|
771 |
|
|
|
772 |
|
|
"Generic OPL2/OPL3 FM synthesizer support",
|
773 |
|
|
- Answer 'y' if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4).
|
774 |
|
|
Answering 'y' is usually a safe and recommended choice. However some
|
775 |
|
|
cards may have software (TSR) FM emulation. Enabling FM support
|
776 |
|
|
with these cards may cause trouble. However I don't currently know
|
777 |
|
|
such cards.
|
778 |
|
|
"Gravis Ultrasound support",
|
779 |
|
|
- Answer 'y' if you have GUS or GUS MAX. Answer 'n' if you don't
|
780 |
|
|
have GUS since the GUS driver consumes much memory.
|
781 |
|
|
Currently I don't have experiences with the GUS ACE so I don't
|
782 |
|
|
know what to answer with it.
|
783 |
|
|
"MPU-401 support (NOT for SB16)",
|
784 |
|
|
- Be careful with this question. The MPU401 interface is supported
|
785 |
|
|
by almost any sound card today. However some natively supported cards
|
786 |
|
|
have their own driver for MPU401. Enabling the MPU401 option with
|
787 |
|
|
these cards will cause a conflict. Also enabling MPU401 on a system
|
788 |
|
|
that doesn't really have a MPU401 could cause some trouble. If your
|
789 |
|
|
card was in the list of supported cards (above), please look at
|
790 |
|
|
the card specific instructions later in this file.
|
791 |
|
|
|
792 |
|
|
In MOST cases this MPU401 driver should only be used with "true"
|
793 |
|
|
MIDI-only MPU401 professional cards. In most other cases there
|
794 |
|
|
is another way to get the MPU401 compatible interface of a
|
795 |
|
|
sound card to work.
|
796 |
|
|
Support for the MPU401 compatible MIDI port of SB16, ESS1688
|
797 |
|
|
and MV Jazz16 cards is included in the SB driver. Use it instead
|
798 |
|
|
of this separate MPU401 driver with these cards. As well
|
799 |
|
|
Soundscape, PSS and Maui drivers include their own MPU401
|
800 |
|
|
options.
|
801 |
|
|
|
802 |
|
|
It's safe to answer 'y' if you have a true MPU401 MIDI interface
|
803 |
|
|
card.
|
804 |
|
|
"6850 UART Midi support",
|
805 |
|
|
- It's safe to answer 'n' to this question in all cases. The 6850
|
806 |
|
|
UART interface is so rarely used.
|
807 |
|
|
"PSS (ECHO-ADI2111) support",
|
808 |
|
|
- Answer 'y' only if you have Orchid SW32, Cardinal DSP16 or some
|
809 |
|
|
other card based on the PSS chipset (AD1848 codec + ADSP-2115
|
810 |
|
|
DSP chip + Echo ESC614 ASIC CHIP).
|
811 |
|
|
"16 bit sampling option of GUS (_NOT_ GUS MAX)",
|
812 |
|
|
- Answer 'y' if you have installed the 16 bit sampling daughtercard
|
813 |
|
|
to your GUS. Answer 'n' if you have GUS MAX. Enabling this option
|
814 |
|
|
disables GUS MAX support.
|
815 |
|
|
"GUS MAX support",
|
816 |
|
|
- Answer 'y' only if you have a GUS MAX.
|
817 |
|
|
"Microsoft Sound System support",
|
818 |
|
|
- Again think carefully before answering 'y' to this question. It's
|
819 |
|
|
safe to answer 'y' in case you have the original Windows Sound
|
820 |
|
|
System card made by Microsoft or Aztech SG 16 Pro (or NX16 Pro).
|
821 |
|
|
Also you may answer 'y' in case your card was not listed earlier
|
822 |
|
|
in this file. For cards having native support in the driver, consult
|
823 |
|
|
the card specific instructions later in this file. Some drivers
|
824 |
|
|
have their own MSS support and enabling this option will cause a
|
825 |
|
|
conflict.
|
826 |
|
|
Note! The MSS driver permits configuring two DMA channels. This is a
|
827 |
|
|
"nonstandard" feature and works only with very few cards (if any).
|
828 |
|
|
In most cases the second DMA channel should be disabled or set to
|
829 |
|
|
the same channel than the first one. Trying to configure two separate
|
830 |
|
|
channels with cards that don't support this feature will prevent
|
831 |
|
|
audio (at least recording) from working.
|
832 |
|
|
"Ensoniq Soundscape support",
|
833 |
|
|
- Answer 'y' if you have a sound card based on the Ensoniq SoundScape
|
834 |
|
|
chipset. Such cards are being manufactured at least by Ensoniq,
|
835 |
|
|
Spea and Reveal (note that Reveal makes other cards also). The oldest
|
836 |
|
|
cards made by Spea don't work properly with Linux.
|
837 |
|
|
Soundscape PnP as well as Ensoniq VIVO work only with the commercial
|
838 |
|
|
OSS/Linux version.
|
839 |
|
|
"MediaTrix AudioTrix Pro support",
|
840 |
|
|
- Answer 'y' if you have the AudioTrix Pro.
|
841 |
|
|
"Support for MAD16 and/or Mozart based cards",
|
842 |
|
|
- Answer y if your card has a Mozart (OAK OTI-601) or MAD16
|
843 |
|
|
(OPTi 82C928, 82C929, 82C924/82C925 or 82C930) audio interface chip.
|
844 |
|
|
These chips are
|
845 |
|
|
currently quite common so it's possible that many no-name cards
|
846 |
|
|
have one of them. In addition the MAD16 chip is used in some
|
847 |
|
|
cards made by known manufacturers such as Turtle Beach (Tropez),
|
848 |
|
|
Reveal (some models) and Diamond (some recent models).
|
849 |
|
|
Note OPTi 82C924 and 82C925 are MAD16 compatible only in non PnP
|
850 |
|
|
mode (jumper selectable on many cards).
|
851 |
|
|
"Support for TB Maui"
|
852 |
|
|
- This enables TB Maui specific initialization. Works with TB Maui
|
853 |
|
|
and TB Tropez (may not work with Tropez Plus).
|
854 |
|
|
|
855 |
|
|
|
856 |
|
|
Then the configuration program asks some y/n questions about the higher
|
857 |
|
|
level services. It's recommended to answer 'y' to each of these questions.
|
858 |
|
|
Answer 'n' only if you know you will not need the option.
|
859 |
|
|
|
860 |
|
|
"MIDI interface support",
|
861 |
|
|
- Answering 'n' disables /dev/midi## devices and access to any
|
862 |
|
|
MIDI ports using /dev/sequencer and /dev/music. This option
|
863 |
|
|
also affects any MPU401 and/or General MIDI compatible devices.
|
864 |
|
|
"FM synthesizer (YM3812/OPL-3) support",
|
865 |
|
|
- Answer 'y' here.
|
866 |
|
|
"/dev/sequencer support",
|
867 |
|
|
- Answering 'n' disables /dev/sequencer and /dev/music.
|
868 |
|
|
|
869 |
|
|
Entering the I/O, IRQ and DMA config parameters
|
870 |
|
|
-----------------------------------------------
|
871 |
|
|
|
872 |
|
|
After the above questions the configuration program prompts for the
|
873 |
|
|
card specific configuration information. Usually just a set of
|
874 |
|
|
I/O address, IRQ and DMA numbers are asked. With some cards the program
|
875 |
|
|
asks for some files to be used during initialization of the card. For example
|
876 |
|
|
many cards have a DSP chip or microprocessor which must be initialized by
|
877 |
|
|
downloading a program (microcode) file to the card.
|
878 |
|
|
|
879 |
|
|
Instructions for answering these questions are given in the next section.
|
880 |
|
|
|
881 |
|
|
|
882 |
|
|
Card specific information
|
883 |
|
|
=========================
|
884 |
|
|
|
885 |
|
|
This section gives additional instructions about configuring some cards.
|
886 |
|
|
Please refer manual of your card for valid I/O, IRQ and DMA numbers. Using
|
887 |
|
|
the same settings with DOS/Windows and Linux is recommended. Using
|
888 |
|
|
different values could cause some problems when switching between
|
889 |
|
|
different operating systems.
|
890 |
|
|
|
891 |
|
|
Sound Blasters (the original ones by Creative)
|
892 |
|
|
---------------------------------------------
|
893 |
|
|
|
894 |
|
|
NOTE! Check if you have a PnP Sound Blaster (cards sold after summer 1995
|
895 |
|
|
are almost certainly PnP ones). With PnP cards you should use isapnptools
|
896 |
|
|
to activate them (see above).
|
897 |
|
|
|
898 |
|
|
It's possible to configure these cards to use different I/O, IRQ and
|
899 |
|
|
DMA settings. Since the possible/default settings have changed between various
|
900 |
|
|
models, you have to consult manual of your card for the proper ones. It's
|
901 |
|
|
a good idea to use the same values than with DOS/Windows. With SB and SB Pro
|
902 |
|
|
it's the only choice. SB16 has software selectable IRQ and DMA channels but
|
903 |
|
|
using different values with DOS and Linux is likely to cause troubles. The
|
904 |
|
|
DOS driver is not able to reset the card properly after warm boot from Linux
|
905 |
|
|
if Linux has used different IRQ or DMA values.
|
906 |
|
|
|
907 |
|
|
The original (steam) Sound Blaster (versions 1.x and 2.x) use always
|
908 |
|
|
DMA1. There is no way to change it.
|
909 |
|
|
|
910 |
|
|
The SB16 needs two DMA channels. A 8 bit one (1 or 3) is required for
|
911 |
|
|
8 bit operation and a 16 bit one (5, 6 or 7) for the 16 bit mode. In theory
|
912 |
|
|
it's possible to use just one (8 bit) DMA channel by answering the 8 bit
|
913 |
|
|
one when the configuration program asks for the 16 bit one. This may work
|
914 |
|
|
in some systems but is likely to cause terrible noise on some other systems.
|
915 |
|
|
|
916 |
|
|
It's possible to use two SB16/32/64 at the same time. To do this you should
|
917 |
|
|
first configure OSS/Free for one card. Then edit local.h manually and define
|
918 |
|
|
SB2_BASE, SB2_IRQ, SB2_DMA and SB2_DMA2 for the second one. You can't get
|
919 |
|
|
the OPL3, MIDI and EMU8000 devices of the second card to work. If you are
|
920 |
|
|
going to use two PnP Sound Blasters, ensure that they are of different model
|
921 |
|
|
and have different PnP IDs. There is no way to get two cards with the same
|
922 |
|
|
card ID and serial number to work. The easiest way to check this is trying
|
923 |
|
|
if isapnptools can see both cards or just one.
|
924 |
|
|
|
925 |
|
|
NOTE! Don't enable the SM Games option (asked by the configuration program)
|
926 |
|
|
if you are not 101% sure that your card is a Logitech Soundman Games
|
927 |
|
|
(not a SM Wave or SM16).
|
928 |
|
|
|
929 |
|
|
SB Clones
|
930 |
|
|
---------
|
931 |
|
|
|
932 |
|
|
First of all: There are no SB16 clones. There are SB Pro clones with a
|
933 |
|
|
16 bit mode which is not SB16 compatible. The most likely alternative is that
|
934 |
|
|
the 16 bit mode means MSS/WSS.
|
935 |
|
|
|
936 |
|
|
There are just a few fully 100% hardware SB or SB Pro compatible cards.
|
937 |
|
|
I know just Thunderboard and SM Games. Other cards require some kind of
|
938 |
|
|
hardware initialization before they become SB compatible. Check if your card
|
939 |
|
|
was listed in the beginning of this file. In this case you should follow
|
940 |
|
|
instructions for your card later in this file.
|
941 |
|
|
|
942 |
|
|
For other not fully SB clones you may try initialization using DOS in
|
943 |
|
|
the following way:
|
944 |
|
|
|
945 |
|
|
- Boot DOS so that the card specific driver gets run.
|
946 |
|
|
- Hit ctrl-alt-del (or use loadlin) to boot Linux. Don't
|
947 |
|
|
switch off power or press the reset button.
|
948 |
|
|
- If you use the same I/O, IRQ and DMA settings in Linux, the
|
949 |
|
|
card should work.
|
950 |
|
|
|
951 |
|
|
If your card is both SB and MSS compatible, I recommend using the MSS mode.
|
952 |
|
|
Most cards of this kind are not able to work in the SB and the MSS mode
|
953 |
|
|
simultaneously. Using the MSS mode provides 16 bit recording and playback.
|
954 |
|
|
|
955 |
|
|
ProAudioSpectrum 16 and compatibles
|
956 |
|
|
-----------------------------------
|
957 |
|
|
|
958 |
|
|
PAS16 has a SB emulation chip which can be used together with the native
|
959 |
|
|
(16 bit) mode of the card. To enable this emulation you should configure
|
960 |
|
|
the driver to have SB support too (this has been changed since version
|
961 |
|
|
3.5-beta9 of this driver).
|
962 |
|
|
|
963 |
|
|
With current driver versions it's also possible to use PAS16 together with
|
964 |
|
|
another SB compatible card. In this case you should configure SB support
|
965 |
|
|
for the other card and to disable the SB emulation of PAS16 (there is a
|
966 |
|
|
separate questions about this).
|
967 |
|
|
|
968 |
|
|
With PAS16 you can use two audio device files at the same time. /dev/dsp (and
|
969 |
|
|
/dev/audio) is connected to the 8/16 bit native codec and the /dev/dsp1 (and
|
970 |
|
|
/dev/audio1) is connected to the SB emulation (8 bit mono only).
|
971 |
|
|
|
972 |
|
|
Gravis Ultrasound
|
973 |
|
|
-----------------
|
974 |
|
|
|
975 |
|
|
There are many different revisions of the Ultrasound card (GUS). The
|
976 |
|
|
earliest ones (pre 3.7) don't have a hardware mixer. With these cards
|
977 |
|
|
the driver uses a software emulation for synth and pcm playbacks. It's
|
978 |
|
|
also possible to switch some of the inputs (line in, mic) off by setting
|
979 |
|
|
mixer volume of the channel level below 10%. For recording you have
|
980 |
|
|
to select the channel as a recording source and to use volume above 10%.
|
981 |
|
|
|
982 |
|
|
GUS 3.7 has a hardware mixer.
|
983 |
|
|
|
984 |
|
|
GUS MAX and the 16 bit sampling daughtercard have a CS4231 codec chip which
|
985 |
|
|
also contains a mixer.
|
986 |
|
|
|
987 |
|
|
Configuring GUS is simple. Just enable the GUS support and GUS MAX or
|
988 |
|
|
the 16 bit daughtercard if you have them. Note that enabling the daughter
|
989 |
|
|
card disables GUS MAX driver.
|
990 |
|
|
|
991 |
|
|
NOTE for owners of the 16 bit daughtercard: By default the daughtercard
|
992 |
|
|
uses /dev/dsp (and /dev/audio). Command "ln -sf /dev/dsp1 /dev/dsp"
|
993 |
|
|
selects the daughter card as the default device.
|
994 |
|
|
|
995 |
|
|
With just the standard GUS enabled the configuration program prompts
|
996 |
|
|
for the I/O, IRQ and DMA numbers for the card. Use the same values than
|
997 |
|
|
with DOS.
|
998 |
|
|
|
999 |
|
|
With the daughter card option enabled you will be prompted for the I/O,
|
1000 |
|
|
IRQ and DMA numbers for the daughter card. You have to use different I/O
|
1001 |
|
|
and DMA values than for the standard GUS. The daughter card permits
|
1002 |
|
|
simultaneous recording and playback. Use /dev/dsp (the daughtercard) for
|
1003 |
|
|
recording and /dev/dsp1 (GUS GF1) for playback.
|
1004 |
|
|
|
1005 |
|
|
GUS MAX uses the same I/O address and IRQ settings than the original GUS
|
1006 |
|
|
(GUS MAX = GUS + a CS4231 codec). In addition an extra DMA channel may be used.
|
1007 |
|
|
Using two DMA channels permits simultaneous playback using two devices
|
1008 |
|
|
(dev/dsp0 and /dev/dsp1). The second DMA channel is required for
|
1009 |
|
|
full duplex audio.
|
1010 |
|
|
To enable the second DMA channels, give a valid DMA channel when the config
|
1011 |
|
|
program asks for the GUS MAX DMA (entering -1 disables the second DMA).
|
1012 |
|
|
Using 16 bit DMA channels (5,6 or 7) is recommended.
|
1013 |
|
|
|
1014 |
|
|
If you have problems in recording with GUS MAX, you could try to use
|
1015 |
|
|
just one 8 bit DMA channel. Recording will not work with one DMA
|
1016 |
|
|
channel if it's a 16 bit one.
|
1017 |
|
|
|
1018 |
|
|
Microphone input of GUS MAX is connected to mixer in little bit nonstandard
|
1019 |
|
|
way. There is actually two microphone volume controls. Normal "mic" controls
|
1020 |
|
|
only recording level. Mixer control "speaker" is used to control volume of
|
1021 |
|
|
microphone signal connected directly to line/speaker out. So just decrease
|
1022 |
|
|
volume of "speaker" if you have problems with microphone feedback.
|
1023 |
|
|
|
1024 |
|
|
GUS ACE works too but any attempt to record or to use the MIDI port
|
1025 |
|
|
will fail.
|
1026 |
|
|
|
1027 |
|
|
GUS PnP (with RAM) is partially supported but it needs to be initialized using
|
1028 |
|
|
DOS or isapnptools before starting the driver.
|
1029 |
|
|
|
1030 |
|
|
MPU401 and Windows Sound System
|
1031 |
|
|
-------------------------------
|
1032 |
|
|
|
1033 |
|
|
Again. Don't enable these options in case your card is listed
|
1034 |
|
|
somewhere else in this file.
|
1035 |
|
|
|
1036 |
|
|
Configuring these cards is obvious (or it should be). With MSS
|
1037 |
|
|
you should probably enable the OPL3 synth also since
|
1038 |
|
|
most MSS compatible cards have it. However check that this is true
|
1039 |
|
|
before enabling OPL3.
|
1040 |
|
|
|
1041 |
|
|
Sound driver supports more than one MPU401 compatible cards at the same time
|
1042 |
|
|
but the config program asks config info for just the first of them.
|
1043 |
|
|
Adding the second or third MPU interfaces must be done manually by
|
1044 |
|
|
editing sound/local.h (after running the config program). Add defines for
|
1045 |
|
|
MPU2_BASE & MPU2_IRQ (and MPU3_BASE & MPU3_IRQ) to the file.
|
1046 |
|
|
|
1047 |
|
|
CAUTION!
|
1048 |
|
|
|
1049 |
|
|
The default I/O base of Adaptec AHA-1542 SCSI controller is 0x330 which
|
1050 |
|
|
is also the default of the MPU401 driver. Don't configure the sound driver to
|
1051 |
|
|
use 0x330 as the MPU401 base if you have a AHA1542. The kernel will not boot
|
1052 |
|
|
if you make this mistake.
|
1053 |
|
|
|
1054 |
|
|
PSS
|
1055 |
|
|
---
|
1056 |
|
|
|
1057 |
|
|
Even the PSS cards are compatible with SB, MSS and MPU401, you must not
|
1058 |
|
|
enable these options when configuring the driver. The configuration
|
1059 |
|
|
program handles these options itself. (You may use the SB, MPU and MSS options
|
1060 |
|
|
together with PSS if you have another card on the system).
|
1061 |
|
|
|
1062 |
|
|
The PSS driver enables MSS and MPU401 modes of the card. SB is not enabled
|
1063 |
|
|
since it doesn't work concurrently with MSS. The driver loads also a
|
1064 |
|
|
DSP algorithm which is used to for the general MIDI emulation. The
|
1065 |
|
|
algorithm file (.ld) is read by the config program and written to a
|
1066 |
|
|
file included when the pss.c is compiled. For this reason the config
|
1067 |
|
|
program asks if you want to download the file. Use the genmidi.ld file
|
1068 |
|
|
distributed with the DOS/Windows drivers of the card (don't use the mt32.ld).
|
1069 |
|
|
With some cards the file is called 'synth.ld'. You must have access to
|
1070 |
|
|
the file when configuring the driver. The easiest way is to mount the DOS
|
1071 |
|
|
partition containing the file with Linux.
|
1072 |
|
|
|
1073 |
|
|
It's possible to load your own DSP algorithms and run them with the card.
|
1074 |
|
|
Look at the directory pss_test of snd-util-3.0.tar.gz for more info.
|
1075 |
|
|
|
1076 |
|
|
AudioTrix Pro
|
1077 |
|
|
-------------
|
1078 |
|
|
|
1079 |
|
|
You have to enable the OPL3 and SB (not SB Pro or SB16) drivers in addition
|
1080 |
|
|
to the native AudioTrix driver. Don't enable MSS or MPU drivers.
|
1081 |
|
|
|
1082 |
|
|
Configuring ATP is little bit tricky since it uses so many I/O, IRQ and
|
1083 |
|
|
DMA numbers. Using the same values than with DOS/Win is a good idea. Don't
|
1084 |
|
|
attempt to use the same IRQ or DMA channels twice.
|
1085 |
|
|
|
1086 |
|
|
The SB mode of ATP is implemented so the ATP driver just enables SB
|
1087 |
|
|
in the proper address. The SB driver handles the rest. You have to configure
|
1088 |
|
|
both the SB driver and the SB mode of ATP to use the same IRQ, DMA and I/O
|
1089 |
|
|
settings.
|
1090 |
|
|
|
1091 |
|
|
Also the ATP has a microcontroller for the General MIDI emulation (OPL4).
|
1092 |
|
|
For this reason the driver asks for the name of a file containing the
|
1093 |
|
|
microcode (TRXPRO.HEX). This file is usually located in the directory
|
1094 |
|
|
where the DOS drivers were installed. You must have access to this file
|
1095 |
|
|
when configuring the driver.
|
1096 |
|
|
|
1097 |
|
|
If you have the effects daughtercard, it must be initialized by running
|
1098 |
|
|
the setfx program of snd-util-3.0.tar.gz package. This step is not required
|
1099 |
|
|
when using the (future) binary distribution version of the driver.
|
1100 |
|
|
|
1101 |
|
|
Ensoniq SoundScape
|
1102 |
|
|
------------------
|
1103 |
|
|
|
1104 |
|
|
NOTE! The new PnP SoundScape is not supported yet. Soundscape compatible
|
1105 |
|
|
cards made by Reveal don't work with Linux. They use older revision
|
1106 |
|
|
of the Soundscape chipset which is not fully compatible with
|
1107 |
|
|
newer cards made by Ensoniq.
|
1108 |
|
|
|
1109 |
|
|
The SoundScape driver handles initialization of MSS and MPU supports
|
1110 |
|
|
itself so you don't need to enable other drivers than SoundScape
|
1111 |
|
|
(enable also the /dev/dsp, /dev/sequencer and MIDI supports).
|
1112 |
|
|
|
1113 |
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
1114 |
|
|
!!!!! !!!!
|
1115 |
|
|
!!!!! NOTE! Before version 3.5-beta6 there WERE two sets of audio !!!!
|
1116 |
|
|
!!!!! device files (/dev/dsp0 and /dev/dsp1). The first one WAS !!!!
|
1117 |
|
|
!!!!! used only for card initialization and the second for audio !!!!
|
1118 |
|
|
!!!!! purposes. It WAS required to change /dev/dsp (a symlink) to !!!!
|
1119 |
|
|
!!!!! point to /dev/dsp1. !!!!
|
1120 |
|
|
!!!!! !!!!
|
1121 |
|
|
!!!!! This is not required with OSS versions 3.5-beta6 and later !!!!
|
1122 |
|
|
!!!!! since there is now just one audio device file. Please !!!!
|
1123 |
|
|
!!!!! change /dev/dsp to point back to /dev/dsp0 if you are !!!!
|
1124 |
|
|
!!!!! upgrading from an earlier driver version using !!!!
|
1125 |
|
|
!!!!! (cd /dev;rm dsp;ln -s dsp0 dsp). !!!!
|
1126 |
|
|
!!!!! !!!!
|
1127 |
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
1128 |
|
|
|
1129 |
|
|
The configuration program asks one DMA channel and two interrupts. One IRQ
|
1130 |
|
|
and one DMA is used by the MSS codec. The second IRQ is required for the
|
1131 |
|
|
MPU401 mode (you have to use different IRQs for both purposes).
|
1132 |
|
|
There were earlier two DMA channels for SoundScape but the current driver
|
1133 |
|
|
version requires just one.
|
1134 |
|
|
|
1135 |
|
|
The SoundScape card has a Motorola microcontroller which must initialized
|
1136 |
|
|
_after_ boot (the driver doesn't initialize it during boot).
|
1137 |
|
|
The initialization is done by running the 'ssinit' program which is
|
1138 |
|
|
distributed in the snd-util-3.0.tar.gz package. You have to edit two
|
1139 |
|
|
defines in the ssinit.c and then compile the program. You may run ssinit
|
1140 |
|
|
manually (after each boot) or add it to /etc/rc.d/rc.local.
|
1141 |
|
|
|
1142 |
|
|
The ssinit program needs the microcode file that comes with the DOS/Windows
|
1143 |
|
|
driver of the card. You will need to use version 1.30.00 or later
|
1144 |
|
|
of the microcode file (sndscape.co0 or sndscape.co1 depending on
|
1145 |
|
|
your card model). THE OLD sndscape.cod WILL NOT WORK. IT WILL HANG YOUR
|
1146 |
|
|
MACHINE. The only way to get the new microcode file is to download
|
1147 |
|
|
and install the DOS/Windows driver from ftp://ftp.ensoniq.com/pub.
|
1148 |
|
|
|
1149 |
|
|
Then you have to select the proper microcode file to use: soundscape.co0
|
1150 |
|
|
is the right one for most cards and sndscape.co1 is for few (older) cards
|
1151 |
|
|
made by Reveal and/or Spea. The driver has capability to detect the card
|
1152 |
|
|
version during boot. Look at the boot log messages in /var/adm/messages
|
1153 |
|
|
and locate the sound driver initialization message for the SoundScape
|
1154 |
|
|
card. If the driver displays string , you have
|
1155 |
|
|
an old card and you will need to use sndscape.co1. For other cards use
|
1156 |
|
|
soundscape.co0. New Soundscape revisions such as Elite and PnP use
|
1157 |
|
|
code files with higher numbers (.co2, .co3, etc.).
|
1158 |
|
|
|
1159 |
|
|
NOTE! Ensoniq Soundscape VIVO is not compatible with other Soundscape cards.
|
1160 |
|
|
Currently it's possible to use it in Linux only with OSS/Linux
|
1161 |
|
|
drivers.
|
1162 |
|
|
|
1163 |
|
|
Check /var/adm/messages after running ssinit. The driver prints
|
1164 |
|
|
the board version after downloading the microcode file. That version
|
1165 |
|
|
number must match the number in the name of the microcode file (extension).
|
1166 |
|
|
|
1167 |
|
|
Running ssinit with a wrong version of the sndscape.co? file is not
|
1168 |
|
|
dangerous as long as you don't try to use a file called sndscape.cod.
|
1169 |
|
|
If you have initialized the card using a wrong microcode file (sounds
|
1170 |
|
|
are terrible), just modify ssinit.c to use another microcode file and try
|
1171 |
|
|
again. It's possible to use an earlier version of sndscape.co[01] but it
|
1172 |
|
|
may sound weird.
|
1173 |
|
|
|
1174 |
|
|
MAD16 (Pro) and Mozart
|
1175 |
|
|
----------------------
|
1176 |
|
|
|
1177 |
|
|
You need to enable just the MAD16 /Mozart support when configuring
|
1178 |
|
|
the driver. _Don't_ enable SB, MPU401 or MSS. However you will need the
|
1179 |
|
|
/dev/audio, /dev/sequencer and MIDI supports.
|
1180 |
|
|
|
1181 |
|
|
Mozart and OPTi 82C928 (the original MAD16) chips don't support
|
1182 |
|
|
MPU401 mode so enter just 0 when the configuration program asks the
|
1183 |
|
|
MPU/MIDI I/O base. The MAD16 Pro (OPTi 82C929) and 82C930 chips have MPU401
|
1184 |
|
|
mode.
|
1185 |
|
|
|
1186 |
|
|
TB Tropez is based on the 82C929 chip. It has two MIDI ports.
|
1187 |
|
|
The one connected to the MAD16 chip is the second one (there is a second
|
1188 |
|
|
MIDI connector/pins somewhere??). If you have not connected the second MIDI
|
1189 |
|
|
port, just disable the MIDI port of MAD16. The 'Maui' compatible synth of
|
1190 |
|
|
Tropez is jumper configurable and not connected to the MAD16 chip (the
|
1191 |
|
|
Maui driver can be used with it).
|
1192 |
|
|
|
1193 |
|
|
Some MAD16 based cards may cause feedback, whistle or terrible noise if the
|
1194 |
|
|
line3 mixer channel is turned too high. This happens at least with Shuttle
|
1195 |
|
|
Sound System. Current driver versions set volume of line3 low enough so
|
1196 |
|
|
this should not be a problem.
|
1197 |
|
|
|
1198 |
|
|
If you have a MAD16 card which have an OPL4 (FM + Wave table) synthesizer
|
1199 |
|
|
chip (_not_ an OPL3), you have to append a line containing #define MAD16_OPL4
|
1200 |
|
|
to the file linux/drivers/sound/local.h (after running make config).
|
1201 |
|
|
|
1202 |
|
|
MAD16 cards having a CS4231 codec support full duplex mode. This mode
|
1203 |
|
|
can be enabled by configuring the card to use two DMA channels. Possible
|
1204 |
|
|
DMA channel pairs are: 0&1, 1&0 and 3&0.
|
1205 |
|
|
|
1206 |
|
|
NOTE! Cards having an OPTi 82C924/82C925 chip work with OSS/Free only in
|
1207 |
|
|
non-PnP mode (usually jumper selectable). The PnP mode is supported only
|
1208 |
|
|
by OSS/Linux.
|
1209 |
|
|
|
1210 |
|
|
MV Jazz (ProSonic)
|
1211 |
|
|
------------------
|
1212 |
|
|
|
1213 |
|
|
The Jazz16 driver is just a hack made to the SB Pro driver. However it works
|
1214 |
|
|
fairly well. You have to enable SB, SB Pro (_not_ SB16) and MPU401 supports
|
1215 |
|
|
when configuring the driver. The configuration program asks later if you
|
1216 |
|
|
want support for MV Jazz16 based cards (after asking SB base address). Answer
|
1217 |
|
|
'y' here and the driver asks the second (16 bit) DMA channel.
|
1218 |
|
|
|
1219 |
|
|
The Jazz16 driver uses the MPU401 driver in a way which will cause
|
1220 |
|
|
problems if you have another MPU401 compatible card. In this case you must
|
1221 |
|
|
give address of the Jazz16 based MPU401 interface when the config
|
1222 |
|
|
program prompts for the MPU401 information. Then look at the MPU401
|
1223 |
|
|
specific section for instructions about configuring more than one MPU401 cards.
|
1224 |
|
|
|
1225 |
|
|
Logitech Soundman Wave
|
1226 |
|
|
----------------------
|
1227 |
|
|
|
1228 |
|
|
Read the above MV Jazz specific instructions first.
|
1229 |
|
|
|
1230 |
|
|
The Logitech SoundMan Wave (don't confuse this with the SM16 or SM Games) is
|
1231 |
|
|
a MV Jazz based card which has an additional OPL4 based wave table
|
1232 |
|
|
synthesizer. The OPL4 chip is handled by an on board microcontroller
|
1233 |
|
|
which must be initialized during boot. The config program asks if
|
1234 |
|
|
you have a SM Wave immediately after asking the second DMA channel of jazz16.
|
1235 |
|
|
If you answer 'y', the config program will ask name of the file containing
|
1236 |
|
|
code to be loaded to the microcontroller. The file is usually called
|
1237 |
|
|
MIDI0001.BIN and it's located in the DOS/Windows driver directory. The file
|
1238 |
|
|
may also be called as TSUNAMI.BIN or something else (older cards?).
|
1239 |
|
|
|
1240 |
|
|
The OPL4 synth will be inaccessible without loading the microcontroller code.
|
1241 |
|
|
|
1242 |
|
|
Also remember to enable SB MPU401 support if you want to use the OPL4 mode.
|
1243 |
|
|
(Don't enable the 'normal' MPU401 device as with some earlier driver
|
1244 |
|
|
versions (pre 3.5-alpha8)).
|
1245 |
|
|
|
1246 |
|
|
NOTE! Don't answer 'y' when the driver asks about SM Games support
|
1247 |
|
|
(the next question after the MIDI0001.BIN name). However
|
1248 |
|
|
answering 'y' doesn't cause damage your computer so don't panic.
|
1249 |
|
|
|
1250 |
|
|
Sound Galaxies
|
1251 |
|
|
--------------
|
1252 |
|
|
|
1253 |
|
|
There are many different Sound Galaxy cards made by Aztech. The 8 bit
|
1254 |
|
|
ones are fully SB or SB Pro compatible and there should be no problems
|
1255 |
|
|
with them.
|
1256 |
|
|
|
1257 |
|
|
The older 16 bit cards (SG Pro16, SG NX Pro16, Nova and Lyra) have
|
1258 |
|
|
an EEPROM chip for storing the configuration data. There is a microcontroller
|
1259 |
|
|
which initializes the card to match the EEPROM settings when the machine
|
1260 |
|
|
is powered on. These cards actually behave just like they have jumpers
|
1261 |
|
|
for all of the settings. Configure driver for MSS, MPU, SB/SB Pro and OPL3
|
1262 |
|
|
supports with these cards.
|
1263 |
|
|
|
1264 |
|
|
There are some new Sound Galaxies in the market. I have no experience with
|
1265 |
|
|
them so read the card's manual carefully.
|
1266 |
|
|
|
1267 |
|
|
ESS ES1688 and ES688 'AudioDrive' based cards
|
1268 |
|
|
---------------------------------------------
|
1269 |
|
|
|
1270 |
|
|
Support for these two ESS chips is embedded in the SB driver.
|
1271 |
|
|
Configure these cards just like SB. Enable the 'SB MPU401 MIDI port'
|
1272 |
|
|
if you want to use MIDI features of ES1688. ES688 doesn't have MPU mode
|
1273 |
|
|
so you don't need to enable it (the driver uses normal SB MIDI automatically
|
1274 |
|
|
with ES688).
|
1275 |
|
|
|
1276 |
|
|
NOTE! ESS cards are not compatible with MSS/WSS so don't worry if MSS support
|
1277 |
|
|
of OSS doesn't work with it.
|
1278 |
|
|
|
1279 |
|
|
There are some ES1688/688 based sound cards and (particularly) motherboards
|
1280 |
|
|
which use software configurable I/O port relocation feature of the chip.
|
1281 |
|
|
This ESS proprietary feature is supported only by OSS/Linux.
|
1282 |
|
|
|
1283 |
|
|
There are ES1688 based cards which use different interrupt pin assignment than
|
1284 |
|
|
recommended by ESS (5, 7, 9/2 and 10). In this case all IRQs don't work.
|
1285 |
|
|
At least a card called (Pearl?) Hypersound 16 supports IRQ 15 but it doesn't
|
1286 |
|
|
work.
|
1287 |
|
|
|
1288 |
|
|
ES1868 is a PnP chip which is (supposed to be) compatible with ESS1688
|
1289 |
|
|
probably works with OSS/Free after initialization using isapnptools.
|
1290 |
|
|
|
1291 |
|
|
Reveal cards
|
1292 |
|
|
------------
|
1293 |
|
|
|
1294 |
|
|
There are several different cards made/marketed by Reveal. Some of them
|
1295 |
|
|
are compatible with SoundScape and some use the MAD16 chip. You may have
|
1296 |
|
|
to look at the card and try to identify its origin.
|
1297 |
|
|
|
1298 |
|
|
Diamond
|
1299 |
|
|
-------
|
1300 |
|
|
|
1301 |
|
|
The oldest (Sierra Aria based) sound cards made by Diamond are not supported
|
1302 |
|
|
(they may work if the card is initialized using DOS). The recent (LX?)
|
1303 |
|
|
models are based on the MAD16 chip which is supported by the driver.
|
1304 |
|
|
|
1305 |
|
|
Audio Excel DSP16
|
1306 |
|
|
-----------------
|
1307 |
|
|
|
1308 |
|
|
Support for this card is currently not functional. A new driver for it
|
1309 |
|
|
should be available later this year.
|
1310 |
|
|
|
1311 |
|
|
PCMCIA cards
|
1312 |
|
|
------------
|
1313 |
|
|
|
1314 |
|
|
Sorry, can't help. Some cards may work and some don't.
|
1315 |
|
|
|
1316 |
|
|
TI TM4000M notebooks
|
1317 |
|
|
--------------------
|
1318 |
|
|
|
1319 |
|
|
These computers have a built in sound support based on the Jazz chipset.
|
1320 |
|
|
Look at the instructions for MV Jazz (above). It's also important to note
|
1321 |
|
|
that there is something wrong with the mouse port and sound at least on
|
1322 |
|
|
some TM models. Don't enable the "C&T 82C710 mouse port support" when
|
1323 |
|
|
configuring Linux. Having it enabled is likely to cause mysterious problems
|
1324 |
|
|
and kernel failures when sound is used.
|
1325 |
|
|
|
1326 |
|
|
miroSOUND
|
1327 |
|
|
---------
|
1328 |
|
|
|
1329 |
|
|
The miroSOUND PCM1-pro, PCM12 and PCM20 radio has been used
|
1330 |
|
|
successfully. These cards are based on the MAD16, OPL4, and CS4231A chips
|
1331 |
|
|
and everything said in the section about MAD16 cards applies here,
|
1332 |
|
|
too. The only major difference between the PCMxx and other MAD16 cards
|
1333 |
|
|
is that instead of the mixer in the CS4231 codec a separate mixer
|
1334 |
|
|
controlled by an on-board 80C32 microcontroller is used. Control of
|
1335 |
|
|
the mixer takes place via the ACI (miro's audio control interface)
|
1336 |
|
|
protocol that is implemented in a separate lowlevel driver. Make sure
|
1337 |
|
|
you compile this ACI driver together with the normal MAD16 support
|
1338 |
|
|
when you use a miroSOUND PCMxx card. The ACI mixer is controlled by
|
1339 |
|
|
/dev/mixer and the CS4231 mixer by /dev/mixer1 (depends on load
|
1340 |
|
|
time). Only in special cases you want to change something regularly on
|
1341 |
|
|
the CS4231 mixer.
|
1342 |
|
|
|
1343 |
|
|
The miroSOUND PCM12 and PCM20 radio is capable of full duplex
|
1344 |
|
|
operation (simultaneous PCM replay and recording), which allows you to
|
1345 |
|
|
implement nice real-time signal processing audio effect software and
|
1346 |
|
|
network telephones. The ACI mixer has to be switched into the "solo"
|
1347 |
|
|
mode for duplex operation in order to avoid feedback caused by the
|
1348 |
|
|
mixer (input hears output signal). You can de-/activate this mode
|
1349 |
|
|
through toggleing the record button for the wave controller with an
|
1350 |
|
|
OSS-mixer.
|
1351 |
|
|
|
1352 |
|
|
The PCM20 contains a radio tuner, which is also controlled by
|
1353 |
|
|
ACI. This radio tuner is supported by the ACI driver together with the
|
1354 |
|
|
miropcm20.o module. Also the 7-band equalizer is integrated
|
1355 |
|
|
(limited by the OSS-design). Developement has started and maybe
|
1356 |
|
|
finished for the RDS decoder on this card, too. You will be able to
|
1357 |
|
|
read RadioText, the Programme Service name, Programme TYpe and
|
1358 |
|
|
others. Even the v4l radio module benefits from it with a refined
|
1359 |
|
|
strength value. See aci.[ch] and miropcm20*.[ch] for more details.
|
1360 |
|
|
|
1361 |
|
|
The following configuration parameters have worked fine for the PCM12
|
1362 |
|
|
in Markus Kuhn's system, many other configurations might work, too:
|
1363 |
|
|
CONFIG_MAD16_BASE=0x530, CONFIG_MAD16_IRQ=11, CONFIG_MAD16_DMA=3,
|
1364 |
|
|
CONFIG_MAD16_DMA2=0, CONFIG_MAD16_MPU_BASE=0x330, CONFIG_MAD16_MPU_IRQ=10,
|
1365 |
|
|
DSP_BUFFSIZE=65536, SELECTED_SOUND_OPTIONS=0x00281000.
|
1366 |
|
|
|
1367 |
|
|
Bas van der Linden is using his PCM1-pro with a configuration that
|
1368 |
|
|
differs in: CONFIG_MAD16_IRQ=7, CONFIG_MAD16_DMA=1, CONFIG_MAD16_MPU_IRQ=9
|
1369 |
|
|
|
1370 |
|
|
Compaq Deskpro XL
|
1371 |
|
|
-----------------
|
1372 |
|
|
|
1373 |
|
|
The builtin sound hardware of Compaq Deskpro XL is now supported.
|
1374 |
|
|
You need to configure the driver with MSS and OPL3 supports enabled.
|
1375 |
|
|
In addition you need to manually edit linux/drivers/sound/local.h and
|
1376 |
|
|
to add a line containing "#define DESKPROXL" if you used
|
1377 |
|
|
make menuconfig/xconfig.
|
1378 |
|
|
|
1379 |
|
|
Others?
|
1380 |
|
|
-------
|
1381 |
|
|
|
1382 |
|
|
Since there are so many different sound cards, it's likely that I have
|
1383 |
|
|
forgotten to mention many of them. Please inform me if you know yet another
|
1384 |
|
|
card which works with Linux, please inform me (or is anybody else
|
1385 |
|
|
willing to maintain a database of supported cards (just like in XF86)?).
|
1386 |
|
|
|
1387 |
|
|
Cards not supported yet
|
1388 |
|
|
=======================
|
1389 |
|
|
|
1390 |
|
|
Please check the version of sound driver you are using before
|
1391 |
|
|
complaining that your card is not supported. It's possible you are
|
1392 |
|
|
using a driver version which was released months before your card was
|
1393 |
|
|
introduced.
|
1394 |
|
|
|
1395 |
|
|
First of all, there is an easy way to make most sound cards work with Linux.
|
1396 |
|
|
Just use the DOS based driver to initialize the card to a known state, then use
|
1397 |
|
|
loadlin.exe to boot Linux. If Linux is configured to use the same I/O, IRQ and
|
1398 |
|
|
DMA numbers as DOS, the card could work.
|
1399 |
|
|
(ctrl-alt-del can be used in place of loadlin.exe but it doesn't work with
|
1400 |
|
|
new motherboards). This method works also with all/most PnP sound cards.
|
1401 |
|
|
|
1402 |
|
|
Don't get fooled with SB compatibility. Most cards are compatible with
|
1403 |
|
|
SB but that may require a TSR which is not possible with Linux. If
|
1404 |
|
|
the card is compatible with MSS, it's a better choice. Some cards
|
1405 |
|
|
don't work in the SB and MSS modes at the same time.
|
1406 |
|
|
|
1407 |
|
|
Then there are cards which are no longer manufactured and/or which
|
1408 |
|
|
are relatively rarely used (such as the 8 bit ProAudioSpectrum
|
1409 |
|
|
models). It's extremely unlikely that such cards ever get supported.
|
1410 |
|
|
Adding support for a new card requires much work and increases time
|
1411 |
|
|
required in maintaining the driver (some changes need to be done
|
1412 |
|
|
to all low level drivers and be tested too, maybe with multiple
|
1413 |
|
|
operating systems). For this reason I have made a decision to not support
|
1414 |
|
|
obsolete cards. It's possible that someone else makes a separately
|
1415 |
|
|
distributed driver (diffs) for the card.
|
1416 |
|
|
|
1417 |
|
|
Writing a driver for a new card is not possible if there are no
|
1418 |
|
|
programming information available about the card. If you don't
|
1419 |
|
|
find your new card from this file, look from the home page
|
1420 |
|
|
(http://www.opensound.com/ossfree). Then please contact
|
1421 |
|
|
manufacturer of the card and ask if they have (or are willing to)
|
1422 |
|
|
released technical details of the card. Do this before contacting me. I
|
1423 |
|
|
can only answer 'no' if there are no programming information available.
|
1424 |
|
|
|
1425 |
|
|
I have made decision to not accept code based on reverse engineering
|
1426 |
|
|
to the driver. There are three main reasons: First I don't want to break
|
1427 |
|
|
relationships to sound card manufacturers. The second reason is that
|
1428 |
|
|
maintaining and supporting a driver without any specs will be a pain.
|
1429 |
|
|
The third reason is that companies have freedom to refuse selling their
|
1430 |
|
|
products to other than Windows users.
|
1431 |
|
|
|
1432 |
|
|
Some companies don't give low level technical information about their
|
1433 |
|
|
products to public or at least their require signing a NDA. It's not
|
1434 |
|
|
possible to implement a freeware driver for them. However it's possible
|
1435 |
|
|
that support for such cards become available in the commercial version
|
1436 |
|
|
of this driver (see http://www.4Front-tech.com/oss.html for more info).
|
1437 |
|
|
|
1438 |
|
|
There are some common audio chipsets that are not supported yet. For example
|
1439 |
|
|
Sierra Aria and IBM Mwave. It's possible that these architectures
|
1440 |
|
|
get some support in future but I can't make any promises. Just look
|
1441 |
|
|
at the home page (http://www.opensound.com/ossfree/new_cards.html)
|
1442 |
|
|
for latest info.
|
1443 |
|
|
|
1444 |
|
|
Information about unsupported sound cards and chipsets is welcome as well
|
1445 |
|
|
as free copies of sound cards, SDKs and operating systems.
|
1446 |
|
|
|
1447 |
|
|
If you have any corrections and/or comments, please contact me.
|
1448 |
|
|
|
1449 |
|
|
Hannu Savolainen
|
1450 |
|
|
hannu@opensound.com
|
1451 |
|
|
|
1452 |
|
|
Personal home page: http://www.compusonic.fi/~hannu
|
1453 |
|
|
home page of OSS/Free: http://www.opensound.com/ossfree
|
1454 |
|
|
|
1455 |
|
|
home page of commercial OSS
|
1456 |
|
|
(Open Sound System) drivers: http://www.opensound.com/oss.html
|