Quick guide for ALS-007 based soundcards under Linux

Support for soundcards based around the Avance Logic ALS-007 chip is included in kernels >= 2.1.105. This patch against OSS/Free v3.8s6 (and probably later versions) gives ALS-007 support to the 2.0.xx series kernels. For those who don't want to patch their kernel, here is a pre-patched version of OSS/Free 3.8s9.

The ALS-007 is a single chip PnP sound solution which is mostly hardware compatible with the Sound Blaster 16 card, with most differences occuring in the use of the mixer registers. For this reason the ALS-007 code is integrated as part of the Sound Blaster 16 driver (adding only 800 bytes to the SB16 driver).

To use an ALS-007 soundcard under Linux, enable the following options in the sound configuration section of the kernel config:

Since the ALS-007 is a PnP card, the sound driver probably should be compiled as a module, with the isapnptools used to wake up the soundcard. Set the "I/O base for SB", "Sound Blaster IRQ" and "Sound Blaster DMA" (8 bit - either 0, 1 or 3) to the values used in your particular installation (they should match the values used to configure the card using isapnp). The ALS-007 does NOT implement 16 bit DMA, so the "Sound Blaster 16 bit DMA" should be set to -1. If you wish to use the externel MPU-401 interface on the card, "MPU401 I/O base of SB16" and "SB MPU401 IRQ" should be set to the appropriate values for your installation. (Note that the ALS-007 requires a separate IRQ for the MPU-401, so don't specify -1 here). (Note that the base port of the internal FM synth is fixed at 0x388 on the ALS007; in any case the FM synth location is not setable in the kernel config).

The resulting sound driver will provide the following capabilities:

Jonathan Woithe, jwoithe at this domain, 30 March 1998

(Revised 16 June 1998)