Download for Kernel 2.4.x

Download the source tarball. The revision number is 1.52, for use with Linux kernel 2.4.x.

Installation

  1. Download the tarball and untar it in a convenient spot.
  2. To compile this, you need a set of configured kernel sources. The driver only works with kernel version 2.4.x.
  3. Be sure to use a version of gcc that agrees with the instructions in Documentation/Changes in your kernel sources. On certain linux distributions, you may need to use kgcc instead of gcc. You can specify this on the make command line or by editing the makefile.

    In RedHat 9, RedHat has customized the kernel in a way that breaks things so exaudio cannot compile. Exaudio compiles fine with a stock 2.4.x kernel. There is a work-around: to enable it, read the 'Makefile' and follow the directions there. I do not have RedHat and cannot test the fix, but I am told it works.

  4. Compile the modules. If the make fails, you may need to set the 'INC' variable in the Makefile or to pass it to the make program. For example,
       make INC=-I/usr/src/linux-2.4.24/include
    
    Also, you may need to add one or more of the following options to the make command line (see the main page for an explanation):
       ORIG_FIRMWARE=1
       USE_LIRC=1
    
  5. As root, do 'insmod ./exaudio.o' to load the driver. The driver will use the next available dsp and mixer devices. To see the messages and find out which devices are used, type:
       grep exaudio /var/log/*
    
    If you load both drivers, you should load them in this order
    1. insmod exaudio_remote.o
    2. insmod exaudio.o
    You might put the 'insmod' commands into a boot script, to load the modules automatically when your computer boots.

Expert Fiddling

You can send USB control requests by writing to /dev/ir. The script, cmd.tcl, provides a simple GUI for doing this. Just get out your USB audio spec and command away!. I have a summary of the possible control messages and another dump of the audio control units.