1 |
1626 |
jcastillo |
Configuring version 3.5.4 (for Linux) with some most common soundcards
|
2 |
|
|
======================================================================
|
3 |
|
|
|
4 |
|
|
IMPORTANT! This document covers only cards that were "known" when
|
5 |
|
|
this driver version was released. Please look at
|
6 |
|
|
http://www.4front-tech.com/ossfree for info about
|
7 |
|
|
cards introduced recently.
|
8 |
|
|
|
9 |
|
|
The following covers mainly the "old" configuration
|
10 |
|
|
method (make config). Most of it is valid for the "new"
|
11 |
|
|
configuration (make menuconfig/xconfig) too.
|
12 |
|
|
|
13 |
|
|
Cards having some kind of loadable "microcode" such as
|
14 |
|
|
PSS, SM Wave, AudioTrix Pro and Maui/Tropez must be
|
15 |
|
|
configured using the old method. The new one will not
|
16 |
|
|
work with them.
|
17 |
|
|
|
18 |
|
|
When using make xconfig and/or make menuconfig, you should
|
19 |
|
|
carefully check each sound configuration option (particularly
|
20 |
|
|
"Support for /dev/dsp and /dev/audio").
|
21 |
|
|
|
22 |
|
|
Cards that are not (fully) supported by this driver
|
23 |
|
|
---------------------------------------------------
|
24 |
|
|
|
25 |
|
|
There are many soundcards which don't work with this driver
|
26 |
|
|
version (v3.5). Support for some of them is expected to be
|
27 |
|
|
available during/after summer 1996 (in version 3.6). Please check
|
28 |
|
|
http://www.4front-tech.com/ossfree for latest news. Please don't
|
29 |
|
|
mail me and ask about these cards. The unsupported cards are:
|
30 |
|
|
|
31 |
|
|
- All PnP soundcards (SB PnP, GUS PnP, Soundscape PnP etc.)
|
32 |
|
|
Schedule for availability of PnP soundcard support in
|
33 |
|
|
OSS/Free depends on progress made by kernel PnP team
|
34 |
|
|
(probably in Linux 2.1.xx versions). With Linux 2.0.x
|
35 |
|
|
versions there are two ways to get PnP soundcards to work:
|
36 |
|
|
- Use isapnptools, DOS, Win95 or PnP aware BIOS to wake up the
|
37 |
|
|
card before starting the sound driver. See "Configuring PnP
|
38 |
|
|
soundcards" below for some hints.
|
39 |
|
|
- Support for SB PnP and GUS PnP is present in OSS/Linux (the
|
40 |
|
|
commercial version of this driver).
|
41 |
|
|
- Mwave soundcards and motherboards
|
42 |
|
|
(Version 3.6 or 3.7. Depends on how fast I get
|
43 |
|
|
suitable documents for Mwave).
|
44 |
|
|
- Emu8k (SB 32/AWE)
|
45 |
|
|
(Probably not _before_ summer 97. I know the unofficial
|
46 |
|
|
AWE programmers guide so don't send me more copies of it).
|
47 |
|
|
- Diamond Edge 3D
|
48 |
|
|
(ASAP. In practice this may take relatively long time).
|
49 |
|
|
- Compaq Deskpro
|
50 |
|
|
(Version 3.5.4-beta6 (already released))
|
51 |
|
|
- Sound Galaxy Washington/Waverider
|
52 |
|
|
(Audio features already in OSS/Linux (OSS/Free soon).
|
53 |
|
|
Can't promise the waverider synth since
|
54 |
|
|
availability of chip specs is uncertain).
|
55 |
|
|
- Yamaha OPL4 (on cards having _RAM_ for samples)
|
56 |
|
|
(Late 96?. Works as OPL3 with current driver versions)
|
57 |
|
|
|
58 |
|
|
How to use sound without recompiling kernel and/or sound driver
|
59 |
|
|
---------------------------------------------------------------
|
60 |
|
|
|
61 |
|
|
There is commercial sound driver which should be released during Apr 96.
|
62 |
|
|
It comes in precompiled form and doesn't require recompiling of kernel. See
|
63 |
|
|
http://www.4Front-tech.com/uss.html for more info.
|
64 |
|
|
|
65 |
|
|
Configuring PnP cards
|
66 |
|
|
---------------------
|
67 |
|
|
|
68 |
|
|
New versions of most soundcards use so called ISA PnP protocol for
|
69 |
|
|
soft configuring their I/O, IRQ, DMA and shared memory resources.
|
70 |
|
|
Currently at least cards made by Creative Technology (SB32 and SB32AWE
|
71 |
|
|
PnP), Gravis (GUS PnP and GUS PnP Pro), Ensoniq (Soundscape PnP) and
|
72 |
|
|
Aztech (some Sound Galaxy models) use PnP technology. The CS4232 audio
|
73 |
|
|
chip by Crystal Semiconductor (Intel Atlantis, HP Pavilion and many other
|
74 |
|
|
motherboards) is also based on PnP technology but there is a "native" driver
|
75 |
|
|
available for it (see information about CS4232 later in this document).
|
76 |
|
|
|
77 |
|
|
PnP soundcards (as well as most other PnP ISA cards) are not supported
|
78 |
|
|
by version 3.5 of this driver (Linux 1.3.xx and Linux 2.0.x). Proper
|
79 |
|
|
support for them should be released during spring 96
|
80 |
|
|
(see http://www.4front-tech.com/ossfree for latest info).
|
81 |
|
|
|
82 |
|
|
There is a method to get most of the PnP cards to work. The basic method
|
83 |
|
|
is the following:
|
84 |
|
|
|
85 |
|
|
1) Boot DOS so that card's DOS drivers have chance to initialize the
|
86 |
|
|
card.
|
87 |
|
|
2) _Cold_ boot to Linux by using "loadlin.exe". Hitting ctrl-alt-del
|
88 |
|
|
works with older machines but causes hard reset of all cards on latest
|
89 |
|
|
(Pentium) machines.
|
90 |
|
|
3) If you have sound driver in Linux configured properly, the card should work
|
91 |
|
|
now. "Proper" means here that I/O, IRQ and DMA settings are the same than in
|
92 |
|
|
DOS. The hard part is to find which settings were used. See documentation of
|
93 |
|
|
your card for more info.
|
94 |
|
|
|
95 |
|
|
Windows 95 could work as well as DOS but running loadlin may be somehow
|
96 |
|
|
difficult. Probably you should "shut down" your machine to MS-DOS mode
|
97 |
|
|
before running it.
|
98 |
|
|
|
99 |
|
|
Some machines have BIOS utility for setting PnP resources. This is a good
|
100 |
|
|
way to configure some cards. In this case you don't need to boot DOS/Win95
|
101 |
|
|
prior starting Linux.
|
102 |
|
|
Another way to initialize PnP cards without DOS/Win95 is a Linux based
|
103 |
|
|
PnP isolation tool. When writing this there is a pre alpha test version
|
104 |
|
|
of such tool available from ftp://ftp.demon.co.uk/pub/unix/linux/utils. The
|
105 |
|
|
file is called isapnptools-*. Please note that this tool is just a temporary
|
106 |
|
|
solution which may be incompatible with future kernel versions having proper
|
107 |
|
|
support for PnP cards. There are bugs in setting DMA channels in earlier
|
108 |
|
|
versions of isapnptools so at least version 1.6 is required with soundcards.
|
109 |
|
|
You can find latest version of isapnptools from
|
110 |
|
|
ftp://ftp.demon.co.uk/pub/unix/linux/utils/
|
111 |
|
|
|
112 |
|
|
These two methods don't work with GUS PnP which requires some additional
|
113 |
|
|
initialization (cards DOS/Win95 driver does it).
|
114 |
|
|
|
115 |
|
|
Read this before trying to configure the driver
|
116 |
|
|
-----------------------------------------------
|
117 |
|
|
|
118 |
|
|
There are currently many cards that work with this driver. Some of the cards
|
119 |
|
|
have native support while others work since they emulate some other
|
120 |
|
|
card (usually SB, MSS/WSS and/or MPU401). The following cards have native
|
121 |
|
|
support in the driver. Detailed instructions for configuring these cards
|
122 |
|
|
will be given later in this document.
|
123 |
|
|
|
124 |
|
|
Pro Audio Spectrum 16 (PAS16) and compatibles:
|
125 |
|
|
Pro Audio Spectrum 16
|
126 |
|
|
Pro Audio Studio 16
|
127 |
|
|
Logitech Sound Man 16
|
128 |
|
|
NOTE! The original Pro Audio Spectrum as well as the PAS+ are not
|
129 |
|
|
and will not be supported by the driver.
|
130 |
|
|
|
131 |
|
|
Media Vision Jazz16 based cards
|
132 |
|
|
Pro Sonic 16
|
133 |
|
|
Logitech SoundMan Wave
|
134 |
|
|
(Other Jazz based cards should work but I don't have any reports
|
135 |
|
|
about them).
|
136 |
|
|
|
137 |
|
|
Sound Blasters
|
138 |
|
|
SB 1.0 to 2.0
|
139 |
|
|
SB Pro
|
140 |
|
|
SB 16
|
141 |
|
|
NOTE! The ASP chip and the EMU synth of AWE32 are not supported
|
142 |
|
|
since their manufacturer doesn't release information about
|
143 |
|
|
the card. However, both SB16ASP and AWE32 work with
|
144 |
|
|
the driver just like a SB16. Also see the comment about some
|
145 |
|
|
unsupported cards at the end of this file.
|
146 |
|
|
(The OPL3 FM chip of SB32/AWE works but you cannot hear it).
|
147 |
|
|
SB16 compatible cards by other manufacturers than Creative.
|
148 |
|
|
You have been fooled since there are no SB16 compatible
|
149 |
|
|
cards on the market (Feb 96). It's likely that your card
|
150 |
|
|
is compatible just with SB Pro but there is also a non-SB-
|
151 |
|
|
compatible 16 bit mode. Usually it's MSS/WSS but it could also
|
152 |
|
|
be a proprietary one like MV Jazz16 or ESS ES688.
|
153 |
|
|
|
154 |
|
|
Gravis Ultrasound (GUS)
|
155 |
|
|
GUS
|
156 |
|
|
GUS + the 16 bit option
|
157 |
|
|
GUS MAX
|
158 |
|
|
GUS ACE (No MIDI port and audio recording)
|
159 |
|
|
GUS PnP (Partially supported)
|
160 |
|
|
|
161 |
|
|
MPU-401 and compatibles
|
162 |
|
|
The driver works both with the full (intelligent mode) MPU-401
|
163 |
|
|
cards (such as MPU IPC-T and MQX-32M) and with the UART only
|
164 |
|
|
dumb MIDI ports. MPU-401 is currently the most common MIDI
|
165 |
|
|
interface. Most soundcards are compatible with it. However,
|
166 |
|
|
don't enable MPU401 mode blindly. Many cards with native support
|
167 |
|
|
in the driver have their own MPU401 driver. Enabling the standard one
|
168 |
|
|
will cause a conflict with these cards. So check if your card is
|
169 |
|
|
in the list of supported cards before enabling MPU401.
|
170 |
|
|
|
171 |
|
|
Windows Sound System (MSS/WSS)
|
172 |
|
|
Even when Microsoft has discontinued their own Sound System card
|
173 |
|
|
they managed to make it a standard. MSS compatible cards are based on
|
174 |
|
|
a codec chip which is easily available from at least two manufacturers
|
175 |
|
|
(AD1848 by Analog Devices and CS4231/CS4248 by Crystal Semiconductor).
|
176 |
|
|
Currently most soundcards are based on one of the MSS compatible codec
|
177 |
|
|
chips. The CS4231 is used in the high quality cards such as GUS MAX,
|
178 |
|
|
MediaTrix AudioTrix Pro and TB Tropez (GUS MAX is not MSS compatible).
|
179 |
|
|
|
180 |
|
|
Having a AD1848, CS4248 or CS4231 codec chip on the card is a good
|
181 |
|
|
sign. Even if the card is not MSS compatible, it could be easy to write
|
182 |
|
|
support for it. Note also that most MSS compatible cards
|
183 |
|
|
require special boot time initialization which may not be present
|
184 |
|
|
in the driver. Also, some MSS compatible cards have native support.
|
185 |
|
|
Enabling the MSS support with these cards is likely to
|
186 |
|
|
cause a conflict. So check if your card is listed in this file before
|
187 |
|
|
enabling the MSS support.
|
188 |
|
|
|
189 |
|
|
6850 UART MIDI
|
190 |
|
|
This UART chip is used in the MIDI interface of some (rare)
|
191 |
|
|
soundcards. It's supported by the driver in case you need it.
|
192 |
|
|
|
193 |
|
|
Yamaha FM synthesizers (OPL2, OPL3 and OPL4)
|
194 |
|
|
Most soundcards have a FM synthesizer chip. The OPL2 is a 2
|
195 |
|
|
operator chip used in the original AdLib card. Currently it's used
|
196 |
|
|
only in the cheapest (8 bit mono) cards. The OPL3 is a 4 operator
|
197 |
|
|
FM chip which provides better sound quality and/or more available
|
198 |
|
|
voices than the OPL2. The OPL4 is a new chip that has an OPL3 and
|
199 |
|
|
a wave table synthesizer packed onto the same chip. The driver supports
|
200 |
|
|
just the OPL3 mode directly. Most cards with an OPL4 (like
|
201 |
|
|
SM Wave and AudioTrix Pro) support the OPL4 mode using MPU401
|
202 |
|
|
emulation. Writing a native OPL4 support is difficult
|
203 |
|
|
since Yamaha doesn't give information about their sample ROM chip.
|
204 |
|
|
|
205 |
|
|
Enable the generic OPL2/OPL3 FM synthesizer support if your
|
206 |
|
|
card has a FM chip made by Yamaha. Don't enable it if your card
|
207 |
|
|
has a software (TRS) based FM emulator.
|
208 |
|
|
|
209 |
|
|
PSS based cards (AD1848 + ADSP-2115 + Echo ESC614 ASIC)
|
210 |
|
|
Analog Devices and Echo Speech have together defined a soundcard
|
211 |
|
|
architecture based on the above chips. The DSP chip is used
|
212 |
|
|
for emulation of SB Pro, FM and General MIDI/MT32.
|
213 |
|
|
|
214 |
|
|
There are several cards based on this architecture. The most known
|
215 |
|
|
ones are Orchid SW32 and Cardinal DSP16.
|
216 |
|
|
|
217 |
|
|
The driver supports downloading DSP algorithms to these cards.
|
218 |
|
|
|
219 |
|
|
MediaTrix AudioTrix Pro
|
220 |
|
|
The ATP card is built around a CS4231 codec and an OPL4 synthesizer
|
221 |
|
|
chips. The OPL4 mode is supported by a microcontroller running a
|
222 |
|
|
General MIDI emulator. There is also a SB 1.5 compatible playback mode.
|
223 |
|
|
|
224 |
|
|
Ensoniq SoundScape and compatibles
|
225 |
|
|
Ensoniq has designed a soundcard architecture based on the
|
226 |
|
|
OTTO synthesizer chip used in their professional MIDI synthesizers.
|
227 |
|
|
Several companies (including Ensoniq, Reveal and Spea) are selling
|
228 |
|
|
cards based on this architecture.
|
229 |
|
|
|
230 |
|
|
NOTE! The new PnP SoundScape is not supported yet.
|
231 |
|
|
|
232 |
|
|
MAD16 and Mozart based cards
|
233 |
|
|
The Mozart (OAK OTI-601), MAD16 (OPTi 82C928), MAD16 Pro (OPTi 82C929)
|
234 |
|
|
and OPTi 82C930 interface
|
235 |
|
|
chips are used in many different soundcards, including some
|
236 |
|
|
cards by Reveal miro and Turtle Beach (Tropez). The purpose of these
|
237 |
|
|
chips is to connect other audio components to the PC bus. The
|
238 |
|
|
interface chip performs address decoding for the other chips.
|
239 |
|
|
NOTE! Tropez Plus is not MAD16 but CS4232 based.
|
240 |
|
|
|
241 |
|
|
Audio Excel DSP16
|
242 |
|
|
Support for this card was written by Riccardo Faccetti
|
243 |
|
|
(riccardo@cdc8g5.cdc.polimi.it). See aedsp16.c for more info.
|
244 |
|
|
(This driver is not functional in version 3.5 of this driver. A
|
245 |
|
|
patch should be made available during April 96 (sunsite.unc.edu)).
|
246 |
|
|
|
247 |
|
|
Crystal CS4232 based cards such as AcerMagic S23, TB Tropez _Plus_ and
|
248 |
|
|
many PC motherboards (Compaq, HP, Intel, ...)
|
249 |
|
|
CS4232 is a PnP multimedia chip which contains a CS3231A codec,
|
250 |
|
|
SB and MPU401 emulations. There is support for OPL3 too.
|
251 |
|
|
This is a temporary driver which uses the chip in non PnP mode
|
252 |
|
|
(The final driver should be included in version 3.6 of the driver).
|
253 |
|
|
Unfortunately the MPU401 mode doesn't work (I don't know how to
|
254 |
|
|
initialize it).
|
255 |
|
|
|
256 |
|
|
Turtle Beach Maui and Tropez
|
257 |
|
|
This driver version supports sample, patch and program loading commands
|
258 |
|
|
described in the Maui/Tropez User's manual.
|
259 |
|
|
There is now full initialization support too. The audio side of
|
260 |
|
|
the Tropez is based on the MAD16 chip (see above).
|
261 |
|
|
|
262 |
|
|
Jumpers and software configuration
|
263 |
|
|
----------------------------------
|
264 |
|
|
|
265 |
|
|
Some of the earliest soundcards were jumper configurable. You have to
|
266 |
|
|
configure the driver use I/O, IRQ and DMA settings
|
267 |
|
|
that match the jumpers. Just few 8 bit cards are fully jumper
|
268 |
|
|
configurable (SB 1.x/2.x, SB Pro and clones).
|
269 |
|
|
Some cards made by Aztech have an EEPROM which contains the
|
270 |
|
|
config info. These cards behave much like hardware jumpered cards.
|
271 |
|
|
|
272 |
|
|
Most cards have jumper for the base I/O address but other parameters
|
273 |
|
|
are software configurable. Sometimes there are few other jumpers too.
|
274 |
|
|
|
275 |
|
|
Latest cards are fully software configurable or they are PnP ISA
|
276 |
|
|
compatible. There are no jumpers on the board.
|
277 |
|
|
|
278 |
|
|
The driver handles software configurable cards automatically. Just configure
|
279 |
|
|
the driver to use I/O, IRQ and DMA settings which are known to work.
|
280 |
|
|
You could usually use the same values than with DOS and/or Windows.
|
281 |
|
|
Using different settings is possible but not recommended since it may cause
|
282 |
|
|
some trouble (for example when warm booting from an OS to another or
|
283 |
|
|
when installing new hardware to the machine).
|
284 |
|
|
|
285 |
|
|
Sound driver sets the soft configurable parameters of the card automatically
|
286 |
|
|
during boot. Usually you don't need to run any extra initialization
|
287 |
|
|
programs when booting Linux but there are some exceptions. See the
|
288 |
|
|
card specific instructions (below) for more info.
|
289 |
|
|
|
290 |
|
|
The drawback of software configuration is that the driver needs to know
|
291 |
|
|
how the card must be initialized. It cannot initialize unknown cards
|
292 |
|
|
even if they are otherwise compatible with some other cards (like SB,
|
293 |
|
|
MPU401 or Windows Sound System).
|
294 |
|
|
|
295 |
|
|
What if your card was not listed above?
|
296 |
|
|
---------------------------------------
|
297 |
|
|
|
298 |
|
|
The first thing to do is to look at the major IC chips on the card.
|
299 |
|
|
Many of the latest soundcards are based on some standard chips. If you
|
300 |
|
|
are lucky, all of them could be supported by the driver. The most common ones
|
301 |
|
|
are the OPTi MAD16, Mozart, SoundScape (Ensoniq) and the PSS architectures
|
302 |
|
|
listed above. Also look at the end of this file for list of unsupported
|
303 |
|
|
cards and the ones which could be supported later.
|
304 |
|
|
|
305 |
|
|
The last resort is to send _exact_ name and model information of the card
|
306 |
|
|
to me together with a list of the major IC chips (manufactured, model) to
|
307 |
|
|
me. I could then try to check if your card looks like something familiar.
|
308 |
|
|
|
309 |
|
|
There are much more cards in the word than listed above. The first thing to
|
310 |
|
|
do with these cards is to check if they emulate some other card/interface
|
311 |
|
|
such as SB, MSS and/or MPU401. In this case there is a chance to get the
|
312 |
|
|
card to work by booting DOS before starting Linux (boot DOS, hit ctrl-alt-del
|
313 |
|
|
and boot Linux without hard resetting the machine). In this method the
|
314 |
|
|
DOS based driver initializes the hardware to use a known I/O, IRQ and DMA
|
315 |
|
|
settings. If sound driver is configured to use the same settings, everything should
|
316 |
|
|
work OK.
|
317 |
|
|
|
318 |
|
|
|
319 |
|
|
Configuring sound driver (with Linux)
|
320 |
|
|
=====================================
|
321 |
|
|
|
322 |
|
|
Sound driver is currently a part of Linux kernel distribution. The
|
323 |
|
|
driver files are located in directory /usr/src/linux/drivers/sound.
|
324 |
|
|
|
325 |
|
|
****************************************************************************
|
326 |
|
|
* ALWAYS USE THE SOUND DRIVER VERSION WHICH IS DISTRIBUTED WITH *
|
327 |
|
|
* THE KERNEL SOURCE PACKAGE YOU ARE USING. SOME ALPHA AND BETA TEST *
|
328 |
|
|
* VERSIONS CAN BE INSTALLED FROM A SEPARATELY DISTRIBUTED PACKAGE *
|
329 |
|
|
* BUT CHECK THAT THE PACKAGE IS NOT MUCH OLDER (OR NEWER) THAN THE *
|
330 |
|
|
* KERNEL YOU ARE USING. IT'S POSSIBLE THAT THE KERNEL/DRIVER *
|
331 |
|
|
* INTERFACE CHANGES BETWEEN KERNEL RELEASES WHICH MAY CAUSE SOME *
|
332 |
|
|
* INCOMPATIBILITY PROBLEMS. *
|
333 |
|
|
* *
|
334 |
|
|
* IN CASE YOU INSTALL A SEPARATELY DISTRIBUTED SOUND DRIVER VERSION, *
|
335 |
|
|
* BE SURE TO REMOVE OR RENAME THE OLD SOUND DRIVER DIRECTORY BEFORE *
|
336 |
|
|
* INSTALLING THE NEW ONE. LEAVING OLD FILES TO THE SOUND DRIVER *
|
337 |
|
|
* DIRECTORY _WILL_ CAUSE PROBLEMS WHEN THE DRIVER IS USED OR *
|
338 |
|
|
* COMPILED. *
|
339 |
|
|
****************************************************************************
|
340 |
|
|
|
341 |
|
|
To configure the driver, run "make config" in the kernel source directory
|
342 |
|
|
(/usr/src/linux). Answer y to the question about Sound card support (after
|
343 |
|
|
questions about mouse, CD-ROM, ftape, etc. supports). Sound config options
|
344 |
|
|
will then be asked after some additional questions.
|
345 |
|
|
|
346 |
|
|
After configuring the kernel and sound driver, run "make dep" and compile
|
347 |
|
|
the kernel following instructions in the kernel README.
|
348 |
|
|
|
349 |
|
|
The sound driver configuration dialog
|
350 |
|
|
-------------------------------------
|
351 |
|
|
|
352 |
|
|
All config information of the sound driver is written to file
|
353 |
|
|
linux/drivers/sound/local.h. You may save the old version is this file and
|
354 |
|
|
use it again in case you want to use the same config later. In this case
|
355 |
|
|
just answer n to each question made by the sound config program and put
|
356 |
|
|
the original local.h back before running "make dep".
|
357 |
|
|
Don't do this if the version number of the sound driver has changed. In this
|
358 |
|
|
case you have to enter the configuration information again.
|
359 |
|
|
|
360 |
|
|
If you already have the sound driver installed, consult printout of
|
361 |
|
|
"cat /dev/sndstat" when configuring the driver again. It gives the I/O,
|
362 |
|
|
IRQ and DMA settings you have used earlier.
|
363 |
|
|
|
364 |
|
|
|
365 |
|
|
The sound config program (linux/drivers/sound/configure) starts by making
|
366 |
|
|
some yes/no questions. Be careful when answering to these questions since
|
367 |
|
|
answering y to a question may prevent some later ones from being asked. For
|
368 |
|
|
example don't answer y to the first question (PAS16) if you don't really
|
369 |
|
|
have a PAS16. Don't enable more cards than you really need since they
|
370 |
|
|
just consume memory. Also some drivers (like MPU401) may conflict with your
|
371 |
|
|
SCSI controller and prevent kernel from booting. If you card was in the list
|
372 |
|
|
of supported cards (above), please look at the card specific config
|
373 |
|
|
instructions (later in this file) before starting to configure. Some cards
|
374 |
|
|
must be configured in way which is not obvious.
|
375 |
|
|
|
376 |
|
|
So here is the beginning of the config dialog. Answer 'y' or 'n' to these
|
377 |
|
|
questions. The default answer is shown so that (y/n) means 'y' by default and
|
378 |
|
|
(n/y) means 'n'. To use the default value, just hit ENTER. But be careful
|
379 |
|
|
since using the default _doesn't_ guarantee anything.
|
380 |
|
|
|
381 |
|
|
Note also that all questions may not be asked. The configuration program
|
382 |
|
|
may disable some questions depending on the earlier choices. It may also
|
383 |
|
|
select some options automatically as well.
|
384 |
|
|
|
385 |
|
|
"ProAudioSpectrum 16 support",
|
386 |
|
|
- Answer 'y'_ONLY_ if you have a Pro Audio Spectrum _16_,
|
387 |
|
|
Pro Audio Studio 16 or Logitech SoundMan 16 (be sure that
|
388 |
|
|
you read the above list correctly). Don't answer 'y' if you
|
389 |
|
|
have some other card made by Media Vision or Logitech since they
|
390 |
|
|
are not PAS16 compatible.
|
391 |
|
|
NOTE! Since 3.5-beta10 you need to enable SB support (next question)
|
392 |
|
|
if you want to use the SB emulation of PAS16. It's also possible to
|
393 |
|
|
the emulation if you want to use a true SB card together with PAS16
|
394 |
|
|
(there is another question about this that is asked later).
|
395 |
|
|
"Sound Blaster support",
|
396 |
|
|
- Answer 'y' if you have an original SB card made by Creative Labs
|
397 |
|
|
or a full 100% hardware compatible clone (like Thunderboard or
|
398 |
|
|
SM Games). If your card was in the list of supported cards (above),
|
399 |
|
|
please look at the card specific instructions later in this file
|
400 |
|
|
before answering this question. For an unknown card you may answer
|
401 |
|
|
'y' if the card claims to be SB compatible.
|
402 |
|
|
Enable this option also with PAS16 (changed since v3.5-beta9).
|
403 |
|
|
|
404 |
|
|
Don't enable SB if you have a MAD16 or Mozart compatible card.
|
405 |
|
|
|
406 |
|
|
"Generic OPL2/OPL3 FM synthesizer support",
|
407 |
|
|
- Answer 'y' if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4).
|
408 |
|
|
Answering 'y' is usually a safe and recommended choice. However some
|
409 |
|
|
cards may have software (TSR) FM emulation. Enabling FM support
|
410 |
|
|
with these cards may cause trouble. However I don't currently know
|
411 |
|
|
such cards.
|
412 |
|
|
"Gravis Ultrasound support",
|
413 |
|
|
- Answer 'y' if you have GUS or GUS MAX. Answer 'n' if you don't
|
414 |
|
|
have GUS since the GUS driver consumes much memory.
|
415 |
|
|
Currently I don't have experiences with the GUS ACE so I don't
|
416 |
|
|
know what to answer with it.
|
417 |
|
|
"MPU-401 support (NOT for SB16)",
|
418 |
|
|
- Be careful with this question. The MPU401 interface is supported
|
419 |
|
|
by almost any soundcard today. However some natively supported cards
|
420 |
|
|
have their own driver for MPU401. Enabling the MPU401 option with
|
421 |
|
|
these cards will cause a conflict. Also enabling MPU401 on a system
|
422 |
|
|
that doesn't really have a MPU401 could cause some trouble. If your
|
423 |
|
|
card was in the list of supported cards (above), please look at
|
424 |
|
|
the card specific instructions later in this file.
|
425 |
|
|
It's safe to answer 'y' if you have a true MPU401 MIDI interface
|
426 |
|
|
card.
|
427 |
|
|
"6850 UART Midi support",
|
428 |
|
|
- It's safe to answer 'n' to this question in all cases. The 6850
|
429 |
|
|
UART interface is so rarely used.
|
430 |
|
|
"PSS (ECHO-ADI2111) support",
|
431 |
|
|
- Answer 'y' only if you have Orchid SW32, Cardinal DSP16 or some
|
432 |
|
|
other card based on the PSS chipset (AD1848 codec + ADSP-2115
|
433 |
|
|
DSP chip + Echo ESC614 ASIC CHIP).
|
434 |
|
|
"16 bit sampling option of GUS (_NOT_ GUS MAX)",
|
435 |
|
|
- Answer 'y' if you have installed the 16 bit sampling daughtercard
|
436 |
|
|
to your GUS. Answer 'n' if you have GUS MAX. Enabling this option
|
437 |
|
|
disables GUS MAX support.
|
438 |
|
|
"GUS MAX support",
|
439 |
|
|
- Answer 'y' only if you have a GUS MAX.
|
440 |
|
|
"Microsoft Sound System support",
|
441 |
|
|
- Again think carefully before answering 'y' to this question. It's
|
442 |
|
|
safe to answer 'y' in case you have the original Windows Sound
|
443 |
|
|
System card made by Microsoft or Aztech SG 16 Pro (or NX16 Pro).
|
444 |
|
|
Also you may answer 'y' in case your card was not listed earlier
|
445 |
|
|
in this file. For cards having native support in the driver, consult
|
446 |
|
|
the card specific instructions later in this file. Some drivers
|
447 |
|
|
have their own MSS support and enabling this option will cause a
|
448 |
|
|
conflict.
|
449 |
|
|
"Ensoniq Soundscape support",
|
450 |
|
|
- Answer 'y' if you have a soundcard based on the Ensoniq SoundScape
|
451 |
|
|
chipset. Such cards are being manufactured at least by Ensoniq,
|
452 |
|
|
Spea and Reveal (note that Reveal makes other cards also).
|
453 |
|
|
"MediaTrix AudioTrix Pro support",
|
454 |
|
|
- Answer 'y' if you have the AudioTrix Pro.
|
455 |
|
|
"Support for MAD16 and/or Mozart based cards",
|
456 |
|
|
- Answer y if your card has a Mozart (OAK OTI-601) or MAD16
|
457 |
|
|
(OPTi 82C928, 82C929 or 82C930) audio interface chip. These chips are
|
458 |
|
|
currently quite common so it's possible that many no-name cards
|
459 |
|
|
have one of them. In addition the MAD16 chip is used in some
|
460 |
|
|
cards made by known manufacturers such as Turtle Beach (Tropez),
|
461 |
|
|
Reveal (some models) and Diamond (some recent models).
|
462 |
|
|
"Support for TB Maui"
|
463 |
|
|
- This enables TB Maui specific initialization. Works with TB Maui
|
464 |
|
|
and TB Tropez (may not work with Tropez Plus).
|
465 |
|
|
|
466 |
|
|
"Audio Excel DSP 16 initialization support",
|
467 |
|
|
- Don't know much about this card. Look at aedsp16.c for more info.
|
468 |
|
|
|
469 |
|
|
Then the configuration program asks some y/n questions about the higher
|
470 |
|
|
level services. It's recommended to answer 'y' to each of these questions.
|
471 |
|
|
Answer 'n' only if you know you will not need the option.
|
472 |
|
|
|
473 |
|
|
"/dev/dsp and /dev/audio supports (usually required)",
|
474 |
|
|
- Answering 'n' disables /dev/dsp and /dev/audio. Answer 'y'.
|
475 |
|
|
"MIDI interface support",
|
476 |
|
|
- Answering 'n' disables /dev/midi## devices and access to any
|
477 |
|
|
MIDI ports using /dev/sequencer and /dev/music. This option
|
478 |
|
|
also affects any MPU401 and/or General MIDI compatible devices.
|
479 |
|
|
"FM synthesizer (YM3812/OPL-3) support",
|
480 |
|
|
- Answer 'y' here.
|
481 |
|
|
"/dev/sequencer support",
|
482 |
|
|
- Answering 'n' disables /dev/sequencer and /dev/music.
|
483 |
|
|
|
484 |
|
|
Entering the I/O, IRQ and DMA config parameters
|
485 |
|
|
-----------------------------------------------
|
486 |
|
|
|
487 |
|
|
After the above questions the configuration program prompts for the
|
488 |
|
|
card specific configuration information. Usually just a set of
|
489 |
|
|
I/O address, IRQ and DMA numbers are asked. With some cards the program
|
490 |
|
|
asks for some files to be used during initialization of the card. For example
|
491 |
|
|
many cards have a DSP chip or microprocessor which must be initialized by
|
492 |
|
|
downloading a program (microcode) file to the card. In some cases this file
|
493 |
|
|
is written to a .h file by the config program and then included to the driver
|
494 |
|
|
during compile.
|
495 |
|
|
|
496 |
|
|
Instructions for answering these questions are given in the next section.
|
497 |
|
|
|
498 |
|
|
|
499 |
|
|
Card specific information
|
500 |
|
|
=========================
|
501 |
|
|
|
502 |
|
|
This section gives additional instructions about configuring some cards.
|
503 |
|
|
Please refer manual of your card for valid I/O, IRQ and DMA numbers. Using
|
504 |
|
|
the same settings with DOS/Windows and Linux is recommended. Using
|
505 |
|
|
different values could cause some problems when switching between
|
506 |
|
|
different operating systems.
|
507 |
|
|
|
508 |
|
|
Sound Blasters (the original ones by Creative)
|
509 |
|
|
---------------------------------------------
|
510 |
|
|
|
511 |
|
|
It's possible to configure these cards to use different I/O, IRQ and
|
512 |
|
|
DMA settings. Since the available settings have changed between various
|
513 |
|
|
models, you have to consult manual of your card for the proper ones. It's
|
514 |
|
|
a good idea to use the same values than with DOS/Windows. With SB and SB Pro
|
515 |
|
|
it's the only choice. SB16 has software selectable IRQ and DMA channels but
|
516 |
|
|
using different values with DOS and Linux is likely to cause troubles. The
|
517 |
|
|
DOS driver is not able to reset the card properly after warm boot from Linux
|
518 |
|
|
if Linux has used different IRQ or DMA values.
|
519 |
|
|
|
520 |
|
|
The original (steam) Sound Blaster (versions 1.x and 2.x) use always
|
521 |
|
|
DMA1. There is no way to change it.
|
522 |
|
|
|
523 |
|
|
The SB16 needs two DMA channels. A 8 bit one (1 or 3) is required for
|
524 |
|
|
8 bit operation and a 16 bit one (5, 6 or 7) for the 16 bit mode. In theory
|
525 |
|
|
it's possible to use just one (8 bit) DMA channel by answering the 8 bit
|
526 |
|
|
one when the configuration program asks for the 16 bit one. This may work
|
527 |
|
|
in some systems but is likely to cause terrible noise on some other systems.
|
528 |
|
|
|
529 |
|
|
NOTE! Don't enable the SM Games option (asked by the configuration program)
|
530 |
|
|
if you are not 101% sure that your card is a Logitech Soundman Games
|
531 |
|
|
(not a SM Wave or SM16).
|
532 |
|
|
|
533 |
|
|
SB Clones
|
534 |
|
|
---------
|
535 |
|
|
|
536 |
|
|
First of all: There are no SB16 clones. There are SB Pro clones with a
|
537 |
|
|
16 bit mode which is not SB16 compatible. The most likely alternative is that
|
538 |
|
|
the 16 bit mode means MSS/WSS.
|
539 |
|
|
|
540 |
|
|
There are just few fully 100% hardware SB or SB Pro compatible cards.
|
541 |
|
|
I know just Thunderboard and SM Games. Other cards require some kind of
|
542 |
|
|
hardware initialization before they become SB compatible. Check if your card
|
543 |
|
|
was listed in the beginning of this file. In this case you should follow
|
544 |
|
|
instructions for your card later in this file.
|
545 |
|
|
|
546 |
|
|
For other not fully SB clones you may try initialization using DOS in
|
547 |
|
|
the following way:
|
548 |
|
|
|
549 |
|
|
- Boot DOS so that the card specific driver gets run.
|
550 |
|
|
- Hit ctrl-alt-del (or use loadlin) to boot Linux. Don't
|
551 |
|
|
switch off power or press the reset button.
|
552 |
|
|
- If you use the same I/O, IRQ and DMA settings in Linux, the
|
553 |
|
|
card should work.
|
554 |
|
|
|
555 |
|
|
If your card is both SB and MSS compatible, I recommend using the MSS mode.
|
556 |
|
|
Most cards of this kind are not able to work in the SB and the MSS mode
|
557 |
|
|
simultaneously. Using the MSS mode provides 16 bit recording and playback.
|
558 |
|
|
|
559 |
|
|
ProAudioSpectrum 16 and compatibles
|
560 |
|
|
-----------------------------------
|
561 |
|
|
|
562 |
|
|
PAS16 has a SB emulation chip which can be used together with the native
|
563 |
|
|
(16 bit) mode of the card. To enable this emulation you should configure
|
564 |
|
|
the driver to have SB support too (this has been changed since version
|
565 |
|
|
3.5-beta9 of this driver).
|
566 |
|
|
|
567 |
|
|
With current driver versions it's also possible to use PAS16 together with
|
568 |
|
|
another SB compatible card. In this case you should configure SB support
|
569 |
|
|
for the other card and to disable the SB emulation of PAS16 (there is a
|
570 |
|
|
separate questions about this).
|
571 |
|
|
|
572 |
|
|
With PAS16 you can use two audio device files at the same time. /dev/dsp (and
|
573 |
|
|
/dev/audio) is connected to the 8/16 bit native codec and the /dev/dsp1 (and
|
574 |
|
|
/dev/audio1) is connected to the SB emulation (8 bit mono only).
|
575 |
|
|
|
576 |
|
|
Gravis Ultrasound
|
577 |
|
|
-----------------
|
578 |
|
|
|
579 |
|
|
There are many different revisions of the Ultrasound card (GUS). The
|
580 |
|
|
earliest ones (pre 3.7) don't have a hardware mixer. With these cards
|
581 |
|
|
the driver uses a software emulation for synth and pcm playbacks. It's
|
582 |
|
|
also possible to switch some of the inputs (line in, mic) off by setting
|
583 |
|
|
mixer volume of the channel level below 10%. For recording you have
|
584 |
|
|
to select the channel as a recording source and to use volume above 10%.
|
585 |
|
|
|
586 |
|
|
GUS 3.7 has a hardware mixer.
|
587 |
|
|
|
588 |
|
|
GUS MAX and the 16 bit sampling daughtercard have a CS4231 codec chip which
|
589 |
|
|
also contains a mixer.
|
590 |
|
|
|
591 |
|
|
Configuring GUS is simple. Just enable the GUS support and GUS MAX or
|
592 |
|
|
the 16 bit daughtercard if you have them. Note that enabling the daughter
|
593 |
|
|
card disables GUS MAX driver.
|
594 |
|
|
|
595 |
|
|
NOTE for owners of the 16 bit daughtercard: By default the daughtercard
|
596 |
|
|
uses /dev/dsp (and /dev/audio). Command "ln -sf /dev/dsp1 /dev/dsp"
|
597 |
|
|
selects the daughter card as the default device.
|
598 |
|
|
|
599 |
|
|
With just the standard GUS enabled the configuration program prompts
|
600 |
|
|
for the I/O, IRQ and DMA numbers for the card. Use the same values than
|
601 |
|
|
with DOS.
|
602 |
|
|
|
603 |
|
|
With the daughter card option enabled you will be prompted for the I/O,
|
604 |
|
|
IRQ and DMA numbers for the daughter card. You have to use different I/O
|
605 |
|
|
and DMA values than for the standard GUS. The daughter card permits
|
606 |
|
|
simultaneous recording and playback. Use /dev/dsp (the daughtercard) for
|
607 |
|
|
recording and /dev/dsp1 (GUS GF1) for playback.
|
608 |
|
|
|
609 |
|
|
GUS MAX uses the same I/O address and IRQ settings than the original GUS
|
610 |
|
|
(GUS MAX = GUS + a CS4231 codec). In addition an extra DMA channel may be used.
|
611 |
|
|
Using two DMA channels permits simultaneous playback using two devices
|
612 |
|
|
(dev/dsp0 and /dev/dsp1). The second DMA channel is required for
|
613 |
|
|
full duplex audio.
|
614 |
|
|
To enable the second DMA channels, give a valid DMA channel when the config
|
615 |
|
|
program asks for the GUS MAX DMA (entering -1 disables the second DMA).
|
616 |
|
|
Using 16 bit DMA channels (5,6 or 7) is recommended.
|
617 |
|
|
|
618 |
|
|
If you have problems in recording with GUS MAX, you could try to use
|
619 |
|
|
just one 8 bit DMA channel. Recording will not work with one DMA
|
620 |
|
|
channel if it's a 16 bit one.
|
621 |
|
|
|
622 |
|
|
Microphone input of GUS MAX is connected to mixer in little bit nonstandard
|
623 |
|
|
way. There is actually two microphone volume controls. Normal "mic" controls
|
624 |
|
|
only recording level. Mixer control "speaker" is used to control volume of
|
625 |
|
|
microphone signal connected directly to line/speaker out. So just decrease
|
626 |
|
|
volume of "speaker" if you have problems with microphone feedback.
|
627 |
|
|
|
628 |
|
|
GUS ACE works too but any attempt to record or to use the MIDI port
|
629 |
|
|
will fail.
|
630 |
|
|
|
631 |
|
|
GUS PnP (with RAM) is partially supported but it needs to be initialized using
|
632 |
|
|
DOS or isapnptools before starting the driver.
|
633 |
|
|
|
634 |
|
|
MPU401 and Windows Sound System
|
635 |
|
|
-------------------------------
|
636 |
|
|
|
637 |
|
|
Again. Don't enable these options in case your card is listed
|
638 |
|
|
somewhere else in this file.
|
639 |
|
|
|
640 |
|
|
Configuring these cards is obvious (or it should be). With MSS
|
641 |
|
|
you should probably enable the OPL3 synth also since
|
642 |
|
|
most MSS compatible cards have it. However check that this is true
|
643 |
|
|
before enabling OPL3.
|
644 |
|
|
|
645 |
|
|
Sound driver supports more than one MPU401 compatible cards at the same time
|
646 |
|
|
but the config program asks config info for just the first of them.
|
647 |
|
|
Adding the second or third MPU interfaces must be done manually by
|
648 |
|
|
editing sound/local.h (after running the config program). Add defines for
|
649 |
|
|
MPU2_BASE & MPU2_IRQ (and MPU3_BASE & MPU3_IRQ) to the file.
|
650 |
|
|
|
651 |
|
|
CAUTION!
|
652 |
|
|
|
653 |
|
|
The default I/O base of Adaptec AHA-1542 SCSI controller is 0x330 which
|
654 |
|
|
is also the default of the MPU401 driver. Don't configure the sound driver to
|
655 |
|
|
use 0x330 as the MPU401 base if you have a AHA1542. The kernel will not boot
|
656 |
|
|
if you make this mistake.
|
657 |
|
|
|
658 |
|
|
PSS
|
659 |
|
|
---
|
660 |
|
|
|
661 |
|
|
Even the PSS cards are compatible with SB, MSS and MPU401, you must not
|
662 |
|
|
enable these options when configuring the driver. The configuration
|
663 |
|
|
program handles these options itself. (You may use the SB, MPU and MSS options
|
664 |
|
|
together with PSS if you have another card on the system).
|
665 |
|
|
|
666 |
|
|
The PSS driver enables MSS and MPU401 modes of the card. SB is not enabled
|
667 |
|
|
since it doesn't work concurrently with MSS. The driver loads also a
|
668 |
|
|
DSP algorithm which is used to for the general MIDI emulation. The
|
669 |
|
|
algorithm file (.ld) is read by the config program and written to a
|
670 |
|
|
file included when the pss.c is compiled. For this reason the config
|
671 |
|
|
program asks if you want to download the file. Use the genmidi.ld file
|
672 |
|
|
distributed with the DOS/Windows drivers of the card (don't use the mt32.ld).
|
673 |
|
|
With some cards the file is called 'synth.ld'. You must have access to
|
674 |
|
|
the file when configuring the driver. The easiest way is to mount the DOS
|
675 |
|
|
partition containing the file with Linux.
|
676 |
|
|
|
677 |
|
|
It's possible to load your own DSP algorithms and run them with the card.
|
678 |
|
|
Look at the directory pss_test of snd-util-3.0.tar.gz for more info.
|
679 |
|
|
|
680 |
|
|
AudioTrix Pro
|
681 |
|
|
-------------
|
682 |
|
|
|
683 |
|
|
You have to enable the OPL3 and SB (not SB Pro or SB16) drivers in addition
|
684 |
|
|
to the native AudioTrix driver. Don't enable MSS or MPU drivers.
|
685 |
|
|
|
686 |
|
|
Configuring ATP is little bit tricky since it uses so many I/O, IRQ and
|
687 |
|
|
DMA numbers. Using the same values than with DOS/Win is a good idea. Don't
|
688 |
|
|
attempt to use the same IRQ or DMA channels twice.
|
689 |
|
|
|
690 |
|
|
The SB mode of ATP is implemented so the ATP driver just enables SB
|
691 |
|
|
in the proper address. The SB driver handles the rest. You have to configure
|
692 |
|
|
both the SB driver and the SB mode of ATP to use the same IRQ, DMA and I/O
|
693 |
|
|
settings.
|
694 |
|
|
|
695 |
|
|
Also the ATP has a microcontroller for the General MIDI emulation (OPL4).
|
696 |
|
|
For this reason the driver asks for the name of a file containing the
|
697 |
|
|
microcode (TRXPRO.HEX). This file is usually located in the directory
|
698 |
|
|
where the DOS drivers were installed. You must have access to this file
|
699 |
|
|
when configuring the driver.
|
700 |
|
|
|
701 |
|
|
If you have the effects daughtercard, it must be initialized by running
|
702 |
|
|
the setfx program of snd-util-3.0.tar.gz package. This step is not required
|
703 |
|
|
when using the (future) binary distribution version of the driver.
|
704 |
|
|
|
705 |
|
|
Ensoniq SoundScape
|
706 |
|
|
------------------
|
707 |
|
|
|
708 |
|
|
NOTE! The new PnP SoundScape is not supported yet.
|
709 |
|
|
|
710 |
|
|
The SoundScape driver handles initialization of MSS and MPU supports
|
711 |
|
|
itself so you don't need to enable other drivers than SoundScape
|
712 |
|
|
(enable also the /dev/dsp, /dev/sequencer and MIDI supports).
|
713 |
|
|
|
714 |
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
715 |
|
|
!!!!! !!!!
|
716 |
|
|
!!!!! NOTE! Before version 3.5-beta6 there WERE two sets of audio !!!!
|
717 |
|
|
!!!!! device files (/dev/dsp0 and /dev/dsp1). The first one WAS !!!!
|
718 |
|
|
!!!!! used only for card initialization and the second for audio !!!!
|
719 |
|
|
!!!!! purposes. It WAS required to change /dev/dsp (a symlink) to !!!!
|
720 |
|
|
!!!!! point to /dev/dsp1. !!!!
|
721 |
|
|
!!!!! !!!!
|
722 |
|
|
!!!!! This is not required with OSS versions 3.5-beta6 and later !!!!
|
723 |
|
|
!!!!! since there is now just one audio device file. Please !!!!
|
724 |
|
|
!!!!! change /dev/dsp to point back to /dev/dsp0 if you are !!!!
|
725 |
|
|
!!!!! upgrading from an earlier driver version using !!!!
|
726 |
|
|
!!!!! (cd /dev;rm dsp;ln -s dsp0 dsp). !!!!
|
727 |
|
|
!!!!! !!!!
|
728 |
|
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
729 |
|
|
|
730 |
|
|
The configuration program asks one DMA channel and two interrupts. One IRQ
|
731 |
|
|
and one DMA is used by the MSS codec. The second IRQ is required for the
|
732 |
|
|
MPU401 mode (you have to use different IRQs for both purposes).
|
733 |
|
|
There were earlier two DMA channels for SoundScape but the current driver
|
734 |
|
|
version requires just one.
|
735 |
|
|
|
736 |
|
|
The SoundScape card has a Motorola microcontroller which must initialized
|
737 |
|
|
_after_ boot (the driver doesn't initialize it during boot).
|
738 |
|
|
The initialization is done by running the 'ssinit' program which is
|
739 |
|
|
distributed in the snd-util-3.0.tar.gz package. You have to edit two
|
740 |
|
|
defines in the ssinit.c and then compile the program. You may run ssinit
|
741 |
|
|
manually (after each boot) or add it to /etc/rc.d/rc.local.
|
742 |
|
|
|
743 |
|
|
The ssinit program needs the microcode file that comes with the DOS/Windows
|
744 |
|
|
driver of the card. You will need to use version 1.30.00 or later
|
745 |
|
|
of the microcode file (sndscape.co0 or sndscape.co1 depending on
|
746 |
|
|
your card model). THE OLD sndscape.cod WILL NOT WORK. IT WILL HANG YOUR
|
747 |
|
|
MACHINE. The only way to get the new microcode file is to download
|
748 |
|
|
and install the DOS/Windows driver from ftp://ftp.ensoniq.com/pub.
|
749 |
|
|
|
750 |
|
|
Then you have to select the proper microcode file to use: soundscape.co0
|
751 |
|
|
is the right one for most cards and sndscape.co1 is for few (older) cards
|
752 |
|
|
made by Reveal and/or Spea. The driver has capability to detect the card
|
753 |
|
|
version during boot. Look at the boot log messages in /var/adm/messages
|
754 |
|
|
and locate the sound driver initialization message for the SoundScape
|
755 |
|
|
card. If the driver displays string , you have
|
756 |
|
|
an old card and you will need to use sndscape.co1. For other cards use
|
757 |
|
|
soundscape.co0. New Soundscape revisions such as Elite and PnP use
|
758 |
|
|
code files with higher numbers (.co2, .co3, etc.).
|
759 |
|
|
|
760 |
|
|
Check /var/adm/messages after running ssinit. The driver prints
|
761 |
|
|
the board version after downloading the microcode file. That version
|
762 |
|
|
number must match the number in the name of the microcode file (extension).
|
763 |
|
|
|
764 |
|
|
Running ssinit with a wrong version of the sndscape.co? file is not
|
765 |
|
|
dangerous as long as you don't try to use a file called sndscape.cod.
|
766 |
|
|
If you have initialized the card using a wrong microcode file (sounds
|
767 |
|
|
are terrible), just modify ssinit.c to use another microcode file and try
|
768 |
|
|
again. It's possible to use an earlier version of sndscape.co[01] but it
|
769 |
|
|
may sound weird.
|
770 |
|
|
|
771 |
|
|
MAD16 (Pro) and Mozart
|
772 |
|
|
----------------------
|
773 |
|
|
|
774 |
|
|
You need to enable just the MAD16 /Mozart support when configuring
|
775 |
|
|
the driver. _Don't_ enable SB, MPU401 or MSS. However you will need the
|
776 |
|
|
/dev/audio, /dev/sequencer and MIDI supports.
|
777 |
|
|
|
778 |
|
|
Mozart and OPTi 82C928 (the original MAD16) chips don't support
|
779 |
|
|
MPU401 mode so enter just 0 when the configuration program asks the
|
780 |
|
|
MPU/MIDI I/O base. The MAD16 Pro (OPTi 82C929) and 82C930 chips have MPU401
|
781 |
|
|
mode.
|
782 |
|
|
|
783 |
|
|
TB Tropez is based on the 82C929 chip. It has two MIDI ports.
|
784 |
|
|
The one connected to the MAD16 chip is the second one (there is a second
|
785 |
|
|
MIDI connector/pins somewhere??). If you have not connected the second MIDI
|
786 |
|
|
port, just disable the MIDI port of MAD16. The 'Maui' compatible synth of
|
787 |
|
|
Tropez is jumper configurable and not connected to the MAD16 chip.
|
788 |
|
|
It can be used by enabling the stand alone MPU401 support but you have
|
789 |
|
|
to initialize it by using the MS-DOS SNDSETUP program.
|
790 |
|
|
|
791 |
|
|
Some MAD16 based cards may cause feedback, whistle or terrible noise if the
|
792 |
|
|
line3 mixer channel is turned too high. This happens at least with Shuttle
|
793 |
|
|
Sound System. Current driver versions set volume of line3 low enough so
|
794 |
|
|
this should not be a problem.
|
795 |
|
|
|
796 |
|
|
If you have a MAD16 card which have an OPL4 (FM + Wave table) synthesizer
|
797 |
|
|
chip (_not_ an OPL3), you have to append a line containing #define MAD16_OPL4
|
798 |
|
|
to the file linux/drivers/sound/local.h (after running make config).
|
799 |
|
|
|
800 |
|
|
MAD16 cards having a CS4231 codec support full duplex mode. This mode
|
801 |
|
|
can be enabled by configuring the card to use two DMA channels. Possible
|
802 |
|
|
DMA channel pairs are: 0&1, 1&0 and 3&0.
|
803 |
|
|
|
804 |
|
|
MV Jazz (ProSonic)
|
805 |
|
|
------------------
|
806 |
|
|
|
807 |
|
|
The Jazz16 driver is just a hack made to the SB Pro driver. However it works
|
808 |
|
|
fairly well. You have to enable SB, SB Pro (_not_ SB16) and MPU401 supports
|
809 |
|
|
when configuring the driver. The configuration program asks later if you
|
810 |
|
|
want support for MV Jazz16 based cards (after asking SB base address). Answer
|
811 |
|
|
'y' here and the driver asks the second (16 bit) DMA channel.
|
812 |
|
|
|
813 |
|
|
The Jazz16 driver uses the MPU401 driver in a way which will cause
|
814 |
|
|
problems if you have another MPU401 compatible card. In this case you must
|
815 |
|
|
give address of the Jazz16 based MPU401 interface when the config
|
816 |
|
|
program prompts for the MPU401 information. Then look at the MPU401
|
817 |
|
|
specific section for instructions about configuring more than one MPU401 cards.
|
818 |
|
|
|
819 |
|
|
Logitech Soundman Wave
|
820 |
|
|
----------------------
|
821 |
|
|
|
822 |
|
|
Read the above MV Jazz specific instructions first.
|
823 |
|
|
|
824 |
|
|
The Logitech SoundMan Wave (don't confuse with the SM16 or SM Games) is
|
825 |
|
|
a MV Jazz based card which has an additional OPL4 based wave table
|
826 |
|
|
synthesizer. The OPL4 chip is handled by an on board microcontroller
|
827 |
|
|
which must be initialized during boot. The config program asks if
|
828 |
|
|
you have a SM Wave immediately after asking the second DMA channel of jazz16.
|
829 |
|
|
If you answer 'y', the config program will ask name of the file containing
|
830 |
|
|
code to be loaded to the microcontroller. The file is usually called
|
831 |
|
|
MIDI0001.BIN and it's located in the DOS/Windows driver directory. The file
|
832 |
|
|
may also be called as TSUNAMI.BIN or something else (older cards?).
|
833 |
|
|
|
834 |
|
|
The OPL4 synth will be inaccessible without loading the microcontroller code.
|
835 |
|
|
|
836 |
|
|
Also remember to enable SB MPU401 support if you want to use the OPL4 mode.
|
837 |
|
|
(Don't enable the 'normal' MPU401 device as with some earlier driver
|
838 |
|
|
versions (pre 3.5-alpha8)).
|
839 |
|
|
|
840 |
|
|
NOTE! Don't answer 'y' when the driver asks about SM Games support
|
841 |
|
|
(the next question after the MIDI0001.BIN name). However
|
842 |
|
|
answering 'y' doesn't cause damage your computer so don't panic.
|
843 |
|
|
|
844 |
|
|
Sound Galaxies
|
845 |
|
|
--------------
|
846 |
|
|
|
847 |
|
|
There are many different Sound Galaxy cards made by Aztech. The 8 bit
|
848 |
|
|
ones are fully SB or SB Pro compatible and there should be no problems
|
849 |
|
|
with them.
|
850 |
|
|
|
851 |
|
|
The older 16 bit cards (SG Pro16, SG NX Pro16, Nova and Lyra) have
|
852 |
|
|
an EEPROM chip for storing the configuration data. There is a microcontroller
|
853 |
|
|
which initializes the card to match the EEPROM settings when the machine
|
854 |
|
|
is powered on. These cards actually behave just like they have jumpers
|
855 |
|
|
for all of the settings. Configure driver for MSS, MPU, SB/SB Pro and OPL3
|
856 |
|
|
supports with these cards.
|
857 |
|
|
|
858 |
|
|
The config program asks if you want support for the mixer of
|
859 |
|
|
SG NX Pro. Answer 'y' to these questions if you have one of the above 8 or
|
860 |
|
|
16 bit Aztech cards.
|
861 |
|
|
|
862 |
|
|
There are some new Sound Galaxies in the market. I have no experience with
|
863 |
|
|
them so read the card's manual carefully.
|
864 |
|
|
|
865 |
|
|
ESS ES1688 and ES688 'AudioDrive' based cards
|
866 |
|
|
---------------------------------------------
|
867 |
|
|
|
868 |
|
|
Support for these two ESS chips is embedded in the SB driver.
|
869 |
|
|
Configure these cards just like SB. Enable the 'SB MPU401 MIDI port'
|
870 |
|
|
if you want to use MIDI features of ES1688. ES688 doesn't have MPU mode
|
871 |
|
|
so you don't need to enable it (the driver uses normal SB MIDI automatically
|
872 |
|
|
with ES688).
|
873 |
|
|
|
874 |
|
|
NOTE! ESS cards are not compatible with MSS/WSS.
|
875 |
|
|
|
876 |
|
|
Reveal cards
|
877 |
|
|
------------
|
878 |
|
|
|
879 |
|
|
There are several different cards made/marketed by Reveal. Some of them
|
880 |
|
|
are compatible with SoundScape and some use the MAD16 chip. You may have
|
881 |
|
|
to look at the card and try to identify origin of the card.
|
882 |
|
|
|
883 |
|
|
Diamond
|
884 |
|
|
-------
|
885 |
|
|
|
886 |
|
|
The oldest (Sierra Aria based) soundcards made by Diamond are not supported
|
887 |
|
|
(they may work if the card is initialized using DOS). The recent (LX?)
|
888 |
|
|
models are based on the MAD16 chip which is supported by the driver.
|
889 |
|
|
|
890 |
|
|
Audio Excel DSP16
|
891 |
|
|
-----------------
|
892 |
|
|
|
893 |
|
|
Support for this card is currently not functional. A new driver for it
|
894 |
|
|
should be available later this year.
|
895 |
|
|
|
896 |
|
|
PCMCIA cards
|
897 |
|
|
------------
|
898 |
|
|
|
899 |
|
|
Sorry, can't help. Some cards may work and some don't.
|
900 |
|
|
|
901 |
|
|
TI TM4000M notebooks
|
902 |
|
|
--------------------
|
903 |
|
|
|
904 |
|
|
These computers have a built in sound support based on the Jazz chipset.
|
905 |
|
|
Look at the instructions for MV Jazz (above). It's also important to note
|
906 |
|
|
that there is something wrong with the mouse port and sound at least on
|
907 |
|
|
some TM models. Don't enable the "C&T 82C710 mouse port support" when
|
908 |
|
|
configuring Linux. Having it enabled is likely to cause mysterious problems
|
909 |
|
|
and kernel failures when sound is used.
|
910 |
|
|
|
911 |
|
|
miroSOUND
|
912 |
|
|
---------
|
913 |
|
|
|
914 |
|
|
The miroSOUND PCM12 has been used successfully. This card is based on
|
915 |
|
|
the MAD16, OPL4, and CS4231A chips and everything said in the section
|
916 |
|
|
about MAD16 cards applies here, too. The only major difference between
|
917 |
|
|
the PCM12 and other MAD16 cards is that instead of the mixer in the
|
918 |
|
|
CS4231 codec a separate mixer controlled by an on-board 80C32
|
919 |
|
|
microcontroller is used. Control of the mixer takes place via the ACI
|
920 |
|
|
(miro's audio control interface) protocol that is implemented in a
|
921 |
|
|
separate lowlevel driver. Make sure you compile this ACI driver
|
922 |
|
|
together with the normal MAD16 support when you use a miroSOUND PCM12
|
923 |
|
|
card. The ACI mixer is controlled by /dev/mixer and the CS4231 mixer
|
924 |
|
|
by /dev/mixer2. You usually don't want to change anything on the
|
925 |
|
|
CS4231 mixer.
|
926 |
|
|
|
927 |
|
|
The miroSOUND PCM12 is capable of full duplex operation (simultaneous
|
928 |
|
|
PCM replay and recording), which allows you to implement nice
|
929 |
|
|
real-time signal processing audio effect software and network
|
930 |
|
|
telephones. The ACI mixer has to be configured into a special "solo"
|
931 |
|
|
mode for duplex operation in order to avoid feedback caused by the
|
932 |
|
|
mixer (input hears output signal). See lowlevel/aci.c for details on
|
933 |
|
|
the ioctl() for activating the "solo" mode.
|
934 |
|
|
|
935 |
|
|
The following configuration parameters have worked fine for the PCM12
|
936 |
|
|
in Markus Kuhn's system, many other configurations might work, too:
|
937 |
|
|
MAD16_BASE=0x530, MAD16_IRQ=11, MAD16_DMA=3, MAD16_DMA2=0,
|
938 |
|
|
MAD16_MPU_BASE=0x330, MAD16_MPU_IRQ=10, DSP_BUFFSIZE=65536,
|
939 |
|
|
SELECTED_SOUND_OPTIONS=0x00281000.
|
940 |
|
|
|
941 |
|
|
The miroSOUND PCM1 pro and the PCM20 are very similar to the PCM12.
|
942 |
|
|
Perhaps the same ACI driver also works for these cards, however this
|
943 |
|
|
has never actually been tested. The PCM20 contains a radio tuner,
|
944 |
|
|
which is also controlled by ACI. This radio tuner is currently not
|
945 |
|
|
supported by the ACI driver, but documentation for it was provided by
|
946 |
|
|
miro and ACI tuner support could easily be added if someone is really
|
947 |
|
|
interested.
|
948 |
|
|
|
949 |
|
|
Compaq Deskpro XL
|
950 |
|
|
-----------------
|
951 |
|
|
|
952 |
|
|
The builtin sound hardware of Compaq Deskpro XL is now supported.
|
953 |
|
|
You need to configure the driver with MSS and OPL3 supports enabled.
|
954 |
|
|
In addition you need to manually edit linux/drivers/sound/local.h and
|
955 |
|
|
to add a line containing "#define DESKPROXL" if you used
|
956 |
|
|
make menuconfig/xconfig.
|
957 |
|
|
|
958 |
|
|
Others?
|
959 |
|
|
-------
|
960 |
|
|
|
961 |
|
|
Since there are so many different soundcards, it's likely that I have
|
962 |
|
|
forgotten to mention many of them. Please inform me if you know yet another
|
963 |
|
|
card which works with Linux, please inform me (or is anybody else
|
964 |
|
|
willing to maintain a database of supported cards (just like in XF86)?).
|
965 |
|
|
|
966 |
|
|
Cards not supported yet
|
967 |
|
|
=======================
|
968 |
|
|
|
969 |
|
|
Please check which version of sound driver you are using before
|
970 |
|
|
complaining that your card is not supported. It's possible that you are
|
971 |
|
|
using a driver version which was released months before your card was
|
972 |
|
|
introduced. Driver's release date is listed after its version number
|
973 |
|
|
in "cat /dev/sndstat" printout and in file linux/drivers/sound/soundvers.h.
|
974 |
|
|
|
975 |
|
|
First of all. There is an easy way to make most soundcards to work
|
976 |
|
|
with Linux. Just use the DOS based driver to initialize the card
|
977 |
|
|
to a _known_ state. Then use loadlin.exe to boot Linux. If Linux is configured
|
978 |
|
|
to use the same I/O, IRQ and DMA numbers than DOS, the card could work.
|
979 |
|
|
(ctrl-alt-del can be used in place of loadlin.exe but it doesn't work with
|
980 |
|
|
new motherboards). This method works also with all/most PnP soundcards.
|
981 |
|
|
|
982 |
|
|
Don't get fooled with SB compatibility. Most cards are compatible with
|
983 |
|
|
SB but that may require a TSR which is not possible with Linux. If
|
984 |
|
|
the card is compatible with MSS, it's a better choice. Some cards
|
985 |
|
|
don't work in the SB and MSS modes at the same time.
|
986 |
|
|
|
987 |
|
|
Then there are cards which are no longer manufactured and/or which
|
988 |
|
|
are relatively rarely used (such as the 8 bit ProAudioSpectrum
|
989 |
|
|
models). It's extremely unlikely that such cards never get supported.
|
990 |
|
|
Adding support for a new card requires much work and increases time
|
991 |
|
|
required in maintaining the driver (some changes need to be done
|
992 |
|
|
to all low level drivers and be tested too, maybe with multiple
|
993 |
|
|
operating systems). For this reason I have made a decision to not support
|
994 |
|
|
obsolete cards. It's possible that someone else makes a separately
|
995 |
|
|
distributed driver (diffs) for the card. Version v3.6 will be much more
|
996 |
|
|
modular so making separately distributed drivers will be easier with it.
|
997 |
|
|
(The bad news is that v3.6 will not be available before summer -96).
|
998 |
|
|
|
999 |
|
|
Writing a driver for a new card is not possible if there are no
|
1000 |
|
|
programming information available about the card. If you don't
|
1001 |
|
|
find your new card from this file, look from the home page
|
1002 |
|
|
(http://www.4front-tech.com/ossfree). Then please contact
|
1003 |
|
|
manufacturer of the card and ask if they have (or are willing to)
|
1004 |
|
|
released technical details of the card. Do this before contacting me. I
|
1005 |
|
|
can only answer 'no' if there are no programming information available.
|
1006 |
|
|
|
1007 |
|
|
I have made decision to not accept code based on reverse engineering
|
1008 |
|
|
to the driver. There are three main reasons: First I don't want to break
|
1009 |
|
|
relationships to sound card manufacturers. The second reason is that
|
1010 |
|
|
maintaining and supporting a driver without any specs will be a pain.
|
1011 |
|
|
The third reason is that companies have freedom to refuse selling their
|
1012 |
|
|
products to other than Windows users.
|
1013 |
|
|
|
1014 |
|
|
Some companies don't give low level technical information about their
|
1015 |
|
|
products to public or at least their require signing a NDA. It's not
|
1016 |
|
|
possible to implement a freeware driver for them. However it's possible
|
1017 |
|
|
that support for such cards become available in the commercial version
|
1018 |
|
|
of this driver (see http://www.4Front-tech.com/uss.html for more info).
|
1019 |
|
|
|
1020 |
|
|
There are some common audio chipsets that are not supported yet. For example
|
1021 |
|
|
Sierra Aria and IBM Mwave. It's possible that these architectures
|
1022 |
|
|
get some support in future but I can't make any promises. Just look
|
1023 |
|
|
at the home page (http://www.4front-tech.com/ossfree/new_cards.html)
|
1024 |
|
|
for latest info.
|
1025 |
|
|
|
1026 |
|
|
Information about unsupported soundcards and chipsets is welcome as well
|
1027 |
|
|
as free copies of soundcards, SDKs and operating systems.
|
1028 |
|
|
|
1029 |
|
|
If you have any corrections and/or comments, please contact me.
|
1030 |
|
|
|
1031 |
|
|
Hannu Savolainen
|
1032 |
|
|
hannu@4front-tech.com
|
1033 |
|
|
|
1034 |
|
|
Personal home page: http://www.4front-tech.com/hannu.html
|
1035 |
|
|
www home page of OSS/Free: http://www.4front-tech.com/ossfree
|
1036 |
|
|
|
1037 |
|
|
www home page of commercial
|
1038 |
|
|
Open Sound System drivers: http://www.4front-tech.com/oss.html
|
1039 |
|
|
|