OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [Documentation/] [sound/] [oss/] [README.OSS] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
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

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.