
		Advanced Linux Sound Architecture - Driver
		==========================================
			    Installation guide


The ALSA driver replaces the OSS/Free driver. The OSS/Free driver is
present in current Linux kernels (2.2).  Since version 0.4.0, ALSA has
supported only 2.2+ kernels. The 2.0 kernels are no longer supported. You
must compile the kernel with sound support (you do not need to select
any of the other sound modules apart from sound support).

Before installing this driver, it will be helpful to read carefully
the documentation for insmod, modprobe, kmod and for the isapnp
module if you have an ISA PnP soundcard.

Module option name change after 0.9.0rc3
========================================

Note that module option names were changed in 0.9.0rc4. The 'snd_' prefix
was removed. You may use script in utils directory (module-options) to
convert your older /etc/modules.conf to newer one.

Quick install
=============

1) You must have full configured source for the Linux kernel which you
   want to use for the ALSA drivers. Note that ALSA drivers are part
   of the kernel, so there is necessary to resolve all symbol dependencies
   between the used kernel and ALSA driver code. Partly installed kernels
   (for example from distributor makers) can be unuseable for this action.
2) You must turn on sound support (soundcore module).
3) Run './configure' script.
   If you have ISA Plug & Play soundcard, use --with-isapnp=yes switch.
   If you want sequencer support, use --with-sequencer=yes switch.
   If you do not want OSS/Free emulation, use --with-oss=no switch.
   If you want turn on debug mode use --with-debug=full switch.
   If you want debug soundcard detection try --with-debug=detect switch.
   If you have kernel source code in another directory than /usr/src/linux,
   use --with-kernel=<kernel_directory>.
   Example: ./configure --with-isapnp=yes --with-debug=full
4) Run 'make install'.
5) Run the './snddevices' script to create new sound devices in /dev directory.
   Skip this step, if you have a kernel with the DEVFS support.
6) Edit your /etc/modules.conf (see the kmod support section below).
7) Run 'modprobe snd-xxxx' where xxxx is the name of your card.
   Note: If you have a ISA PnP soundcard you need to first run the isapnp
         program from isapnptools package to initialize your
         soundcard. You can also use the native ISA PnP support by
         using the --with-isapnp=yes configuration switch, in which
	 case you do not need the isapnptools package.

You can also look at the utils/alsasound file. This script is designed for
the RedHat distribution, but it can be used with other distributions which
use System V style rc init scripts.

Note: All mixer channels are muted by default. You must use a native
      or OSS mixer program to unmute appropriate channels (for example a
      mixer from the alsa-utils package).

Note: This document notices the /etc/modules.conf file. Many current
      distributions uses the old /etc/conf.modules file. Both names are
      valid.


Driver cannot be activated?
===========================

1) You can check your soundcard setup again and read this install file
   (module parameters) carefully.
2) If you have got ISA PnP soundcard:
   - native ISA PnP support: is your setup in /proc/isapnp correct?
   - isapnptools: is configuration on isapnp.conf same as for the driver?
3) The driver is not still working: remake driver with:
     ./configure --with-debug=detect; make clean; make
   Reinsert new driver modules to kernel and look to /var/log/messages if
   there are some messages. If these messages do not help you, please
   create a new ticket in our bug reporting system.


Compilation from CVS sources
============================

You need GNU packages autoconf and automake installed in your system
to compile CVS sources of alsa-driver package.

For compilation you can use these commands:

	make ALSAKERNELDIR=../alsa-kernel all-deps
		(if the alsa-kernel-dir is really there)
	aclocal
	autoconf
	./configure
	make dep
	make

The included cvscompile script does this job for you.

Note: Some automake packages have missing aclocal program. Use newer version
      in the case.


Cross-compiling
===============

Use '--with-cross=prefix' parameter for the configure script.

Example:
  './configure --with-cross=arm-linux- --with-kernel=/home/ipaq/kernel/linux'.


Bug reporting system
====================

http://www.alsa-project.org/cgi-bin/bugs


Module parameters
=================

For the drivers already integrated into 2.5 kernel tree, please see
alsa-kernel/Documentation/ALSA-Configuration.txt


Additional Modules
==================

  Module snd-azt3328
  ------------------

    Module for soundcards based on Aztech AZF3328 PCI chip.

    Module supports up to 8 cards.

  Module snd-msnd-pinnacle
  ------------------------

    Module for Turtle Beach MultiSound Pinnacle/Fiji soundcards.

    io		- Port # for pinnacle/fiji card
    irq		- IRQ # for pinnalce/fiji card
    mem		- Memory address (0xb0000, 0xc8000, 0xd0000, 0xd8000,
		  0xe0000 or 0xe8000)
    write_ndelay - enable write ndelay
    calibrate_signal - calibrate signal (?)

    Module supports only one card.

  Module snd-serialmidi
  ---------------------

    Module for generic serial MIDI adapters.

    sdev	- Device file string for serial device
		  (default = "/dev/ttyS0")
    speed	- Speed in bauds. (9600,19200,38400,57600,115200)
		  (default = 38400)
    adaptor	- Type of adaptor.
                  0 = Soundcanvas, 1 = MS-124T, 2 = MS-124W S/A,
		  3 = MS-124W M/B

    Module supports up to 8 cards.

  Module snd-sscape
  -----------------

    Module for ENSONIQ SoundScape PnP cards.

    port	- Port # (PnP setup)
    irq		- IRQ # (PnP setup)
    mpu_irq	- MPU-401 IRQ # (PnP setup)
    dma		- DMA # (PnP setup)

    Module supports up to 8 cards.  ISA PnP must be enabled.
    You need sscape_ctl tool in alsa-tools package for loading
    the microcode.

  Module snd-vx222
  ----------------

    Module for Digigram VX-Pocket VX222, V222 v2 and Mic cards.

    mic		- Enable Microphone on V222 Mic (NYI)

    Module supports up to 8 cards.

    For loading the firmware, use vxloader utility in alsa-tools
    package.  For loading the firmware automatically, add the
    following to /etc/modules.conf

	post-install snd-vx222 "/usr/bin/vxload"


  Module snd-vxpocket
  -------------------

    Module for Digigram VX-Pocket VX2 PCMCIA card.

    irq_mask - IRQ bitmask, specifies the available IRQs as bits

    Module supports up to 8 cards.  The module is compiled only when
    PCMCIA is supported on kernel.  For compiling with the external
    PCMCIA, pass --with-pcmcia=external and --with-pcmcia-root
    options.

    To activate the driver via the card manager, you'll need to copy
    vx/pcmcia/vxpocket.conf to /etc/pcmcia directory.
    For loading the firmware, use vxloader utility in alsa-tools
    package.

  Module snd-vxp440
  -----------------

    Module for Digigram VX-Pocket 440 PCMCIA card.

    irq_mask - IRQ bitmask, specifies the available IRQs as bits

    Module supports up to 8 cards.  The module is compiled only when
    PCMCIA is supported on kernel.  For compiling with the external
    PCMCIA, pass --with-pcmcia=external and --with-pcmcia-root
    options.

    To activate the driver via the card manager, you'll need to copy
    vx/pcmcia/vxpocket.conf to /etc/pcmcia directory.
    For loading the firmware, use vxloader utility in alsa-tools
    package.


