Configuring Linux to support sound involves the following steps:
Follow the instructions provided with your sound card. Be sure to note down the jumper settings for IRQ, DMA channel, etc... If you are unsure, use the factory defaults. Try to avoid conflicts with other devices (e.g. ethernet cards, SCSI host adaptors) if possible.
If you are using a recent kernel (0.99pl14 or later), the sound
drivers are included with the kernel release. Follow the usual
procedure for building the kernel. When you run make config
,
a configuration program will ask you what sound card options you want.
If you are upgrading from an older sound driver, make sure that the
files /usr/include/sys/soundcard.h
and
/usr/include/sys/ultrasound.h
are symbolic links to the
corresponding files in /usr/include/linux
.
It's good idea to read the Readme
files in the kernel
drivers/sound
directory since there could be some last minute
information. The file CHANGELOG
contains a list of
enhancements and new features since the previous version.
The first time the kernel sound driver is configured, you need to
create the sound device files. The easiest way to do this is to cut
the short shell script from the end of the file Readme.linux
(or possibly Readme
) in the directory
/usr/src/linux/drivers/sound
, and run it as root.
You can now follow these steps to verify the sound hardware and software:
1. Reboot with the new kernel.
Follow your usual procedure for installing and rebooting the new kernel (keep the old kernel around in case of problems, of course).
2. Verify that the sound card is recognized during kernel initialization.
Check for a message such as the following on powerup:
<6>snd2 <SoundBlaster Pro 3.2> at 0x220 irq 5 drq 1
<6>snd1 <Yamaha OPL-3 FM> at 0x388 irq 0 drq 0
This should match your sound card type and jumper settings.
The driver may also display some error messages and warnings during boot. Watch for these when booting the first time after configuring the sound driver.
If no sound card is detected when booting, there are two possible reasons:
3. Check device file /dev/sndstat
.
Reading the sound driver status device file should provide additional information on whether the sound card driver initialized properly. Sample output should look something like this:
% cat /dev/sndstat
Sound Driver:2.5 (Wed Apr 20 19:57:25 EDT 1994 root@fizzbin)
Config options: 1aa2
HW config:
Type 2: SoundBlaster at 0x220 irq 5 drq 1
Type 1: AdLib at 0x388 irq 0 drq 0
PCM devices:
0: SoundBlaster Pro 3.2
Synth devices:
0: Yamaha OPL-3
Midi devices:
0: SoundBlaster
Mixer(s) installed
If the cat command displays "No such device", the sound driver is not active in the kernel.
If the printout contains no devices (PCM, Synth or MIDI), your soundcard was not detected. Verify that the "HW config" section contains correct information.
4. Play a simple sound file.
Get hold of a sample sound file, and send it to the sound device as a basic check of sound output, e.g.
% cat endoftheworld >/dev/dsp
% cat crash.au >/dev/audio
Some sample sound files can be obtained from the file
snd-data-0.1.tar.Z
.
5. Verify sound recording.
If you have sound input capability, you can do a quick test of this using commands such as the following:
# record 4 seconds of audio from microphone
% dd bs=8k count=4 </dev/audio >sample.au
# play back sound
% cat sample.au >/dev/audio
If these tests pass, you can be reasonably confident that the sound hardware and software are working. If you experience problems, read the FAQ section of this document.