Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | 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 <Ensoniq Soundscape (old)>, 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 |