SuSE Support Database

Title: Sound: Configuring an ISA-PnP Soundcard

---

Mainpage ---- Searchform ---- History ---- Versions ---- Categories ---- Contents
Deutsch
---

Sound: Configuring an ISA-PnP Soundcard

Applies to

SuSE Linux: Versions since 5.1
Kernel: Versions since 2.0.32

General Overview

There is no magic involved in operating a sound card under Linux. If you run into difficulties, it is often because of one of the following reasons: Sound cards can be categorized as follows: In addition there exist on-board types for some of these devices. The on-board types, however, use the same bus types as their corresponding devices on plug-in cards: so their configuration is essentially done in the same way. Furthermore there are cards which permit operation both as ISA cards with fixed (jumpered) configuration and as ISA-PnP cards.

VLB and EISA sound cards are rather rare; PCI sound cards are just about to become more popular. There is almost no support for these devices by free drivers. So we'll not enter into details about them here. There may be a chance to operate at least some PCI cards under Linux by means of the (commercial) OSS 4front driver -- more on this below in the last section.

The main difference between ISA-PnP cards and "normal" ISA cards is the method used to specify the configuration parameters (IRQ, I/O port addresses etc.). This implies that drivers for ISA-PnP cards must be implemented and used as modules (instead of having them compiled into the kernel). Of course, also the driver for a "normal" ISA sound card may be operated as a module. In order to provide a unified description we will only consider this mode here.

We describe first the general method to use for ISA-PnP cards. (For non-PnP cards just replace the specification of the card settings via pnpdump and isapnp with the conventional methods: checking the card itself and its documentation, Win95 hardware detection, asking the vendor...). We use the very common Creative SoundBlaster AWE64 PnP as an example to show the configuration steps in detail.

If you ask our support about how to configure your sound card, please refer to the precise step in the ensuing description where difficulties started to occur.

The step-by-step configuration "recipe" follows:

  1. Install the packages isapnp (series ap) and lx_suse (series d), if this isn't already done.

  2. Configure the parameters of your ISA-PnP card (IRQ, I/O ports, DMA channels) as described in the SDB article Configuration of an ISA-PnP Card under S.u.S.E. Linux Or, if your ISA card is non-PnP, check the parameters.

    Here is an explanation of some details of the isapnp.conf (from an AWE64), that is contained in that article :

    Attention : It is not possible to use these values without further checks in your system.

    As you can see, it can be difficult to conclude from the file /etc/isapnp.conf, that e.g. the MPU401 is at 0x330 . However very similar settings should be valid for most soundblaster compatible cards, so the assignments above might also help you with other soundcards. You may nevertheless be forced to do some experimenting with the settings, until you've found the correct assignments.

    The output of pnpdump for the AWE64 PnP might differ in many cases from the example given in rb_isapnp.html. This is especially true for the wavetable (usually LD2). The reason for this is a bug in the AWE64. Further details can be found in the article Sound: pnpdump and AWE64 of our supportdatabase.

  3. Change into the directory /usr/src/linux. This directory contains the Linux kernel sources as updated by S.u.S.E. (as soon as the package lx_suse is installed).

  4. Enter the command make menuconfig. Consult the S.u.S.E. Linux manual for details on how to configure the kernel.

  5. Activate "Sound support" as a module. Many new choices for specifying the card and its parameters will pop up.

  6. Select the appropriate low-level driver for your sound card. Many cards can be operated by means of the SoundBlaster driver (Option: Sound Blaster (SB, SBPro, SB16, clones) support).

    Activate also the option dev/audio and /dev/dsp support. Other often-needed options are MIDI interface support and generic OPL2/OPL3 FM synthesizer support resp. FM synthesizer (YM3812/OPL-3) support Some drivers (e.g. the SoundBlaster driver) contain an MPU-401 support on their own: in this case don't use the option MPU-401 support (NOT for SB16).

    Now you usually need to enter some card parameters in order to have them compiled into the driver (IRQ, I/O ports ...). It is essential that you use exactly the same values you did activate in /etc/isapnp.conf (case PnP) resp. the values the card is adjusted to (case non-PnP). In addition, if there are special properties of your sound card (e.g. AWE synthesizer) to activate, do so now.

    There are no further overall rules on how to select options here. As an example we list here the options for a Creative SoundBlaster AWE 64 PnP in the S.u.S.E. Linux kernel v2.0.33. The concrete setting used are taken from the /etc/isapnp.conf presented in the SDB article Configuration of an ISA-PnP Card under S.u.S.E. Linux

    <M> Sound card support
    
    Old configuration script  (For: SM Wave, PSS & AudioTrix Pro) -->
    
    [ ] ProAudioSpectrum 16 support
    
    [*] Sound Blaster (SB, SBPro, SB16, clones) support
    
    [*] Generic OPL2/OPL3 FM synthesizer support
    
    [ ] Gravis Ultrasound support
    
    [ ] MPU-401 support (NOT for SB16)
    
    
    [ some inactive entries are omitted here ]
    
    
    [ ] Support for Crystal CS4232 based (PnP) cards
    
    [ ] Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers
    
    [*] /dev/dsp and /dev/audio support
    
    [*] MIDI interface support
    
    [*] FM synthesizer (YM3812/OPL-3) support
    
    
    (220) I/O base for SB Check from manual of the card
    
    (5) Sound Blaster IRQ Check from manual of the card
    
    (1) Sound Blaster DMA 0, 1 or 3
    
    (5) Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 o
    
    (330) MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of
    
    (5) SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16
    
    (65536) Audio DMA buffer size 4096, 16384, 32768 or 65536
    
    [*] Additional low level drivers
    
    [ ] ACI mixer (miroPCM12)
    
    [*] AWE32 synth
    
    Note: The separate MPU-401 support is not selected (because the SB 16 driver comprises MPU-401 support on its own). The MPU-401 IRQ has been set to 5 instead of -1 (contrary to the commentary in the configuration menu): for some versions of the AWE64 and the SoundBlaster 16 with Vibra Chipset this seems to be necessary.

  7. Compile the kernel and the modules (of course, the kernel had to be configured with module support).

  8. Installation of the newly generated kernel/modules:

  9. Load the newly-generated sound module:
    modprobe sound
    
    This command should be executed without any error messages (check /var/log/messages and the system console). Otherwise, something went wrong in one of the preceding steps.

  10. The sound card should work now. The next section contains some tests.

Testing

As a first test enter the following command right after having loaded the sound module:
cat /dev/sndstat
The output should be similar to the following (taken for an AWE 64):
[...]

Installed drivers:
Type 1: OPL-2/OPL-3 FM
Type 2: Sound Blaster
Type 7: SB MPU-401

Card config:
Sound Blaster at 0x220 irq 5 drq 1,5
SB MPU-401 at 0x330 irq 5 drq 0
OPL-2/OPL-3 FM at 0x388 drq 0

Audio devices:
0: Sound Blaster 16 (4.16)

Synth devices:
0: Yamaha OPL-3
1: AWE32-0.4.2c (RAM8192k)

Midi devices:
0: Sound Blaster 16

Timers:
0: System clock

Mixers:
0: Sound Blaster
1: AWE32 Equalizer
In particular, none of the drivers listed under the header Card config may be set in parentheses. Otherwise, the driver did not recognize the corresponding feature of the sound card and cannot be used.

If the contents of /dev/sndstat seems OK, you now can try to play back an audio file:

cat song.au > /dev/audio
cat song.wav > /dev/dsp
tracker song.mod
MIDI-Files can be played back very easily using the KDE program kmid (provided your sound card supports MIDI).

If you hear nothing even though the output of cat /dev/sndstat seems to be o.k. and the command cat song.au > /dev/audio generates no error message, the volume might be set to nil. Try to start the mixer program xmix to adjust the volume.

OSS (4front)

If you have difficulties to get any soundcard to work under Linux it may be an option to use the (commercial) sound system OSS from 4front. Many modern sound cards need this driver in order to be usable under Linux. That way, you also avoid the problems with ISA-PnP cards, since OSS itself takes care of their proper initialization. The full set of features of some SoundBlaster "compatible" cards is available only with OSS. The current driver also supports some of the popular PCI based soundcards. A list of all supported cards is available at http://www.opensound.com/osshw.html .

Your S.u.S.E. Linux distribution contains an older, unrestricted (gratis) version of OSS (series snd). Installation instructions can be found here: OSS: Sound devices from 4front..

Details on OSS can be found on our Web Server (http://www.suse.de/linux.html) or on the 4front homepage (http://www.4front-tech.com.). You can also download a runtime-restricted demo of the newest version from this location. A license key can be obtained from S.u.S.E. or directly from 4front.

Have fun !

---

See also:

---

Keywords: PNP, SOUNDKARTE, SB16, AWE32, AWE64, SOUND, ISAPNP

---

Categories: Hardware , Hardware , Sound

---

Mainpage ---- Searchform ---- History ---- Versions ---- Categories ---- Contents
Deutsch
---

SDB-rb_soundinstall, Copyright SuSE GmbH, Nuremberg, Germany - Version: 05. Jun 1998
Impressum - Last generated: 24. Feb 1999 15:21:14 by maddin with sdb_gen 1.00.0