================================================================ INSTALLATION OF AWE32 SOUND DRIVER FOR LINUX Takashi Iwai ================================================================ ---------------------------------------------------------------- * Attention to SB-PnP Card Users If you're using PnP cards, the initialization of PnP is required before loading this driver. You have now three options: 1. Use isapnptools. 2. Use in-kernel isapnp support. 3. Initialize PnP on DOS/Windows, then boot linux by loadlin. In this document, only the case 1 case is treated. ---------------------------------------------------------------- * Installation on Red Hat 5.0 Sound Driver Please use install-rh.sh under RedHat5.0 directory. DO NOT USE install.sh below. See INSTALL.RH for more details. ---------------------------------------------------------------- * Installation/Update by Shell Script 1. Become root % su 2. If you have never configured the kernel tree yet, run make config once (to make dependencies and symlinks). # cd /usr/src/linux # make xconfig 3. Run install.sh script # sh ./install.sh 4. Configure your kernel (for Linux 2.[01].x user) # cd /usr/src/linux # make xconfig (or make menuconfig) (for Linux 1.2.x user) # cd /usr/src/linux # make config Answer YES to both "lowlevel drivers" and "AWE32 wave synth" items in Sound menu. ("lowlevel drivers" will appear only in 2.x kernel.) 5. Make your kernel (and modules), and install them as usual. 5a. make kernel image # make zImage 5b. make modules and install them # make modules && make modules_install 5c. If you're using lilo, copy the kernel image and run lilo. Otherwise, copy the kernel image to suitable directory or media for your system. 6. Reboot the kernel if necessary. - If you updated only the modules, you don't have to reboot the system. Just remove the old sound modules here. in # rmmod sound.o (linux-2.0 or OSS/Free) # rmmod awe_wave.o (linux-2.1) 7. If your AWE card is a PnP and not initialized yet, you'll have to do it by isapnp tools. Otherwise, skip to 8. This section described only a brief explanation. For more details, please see the AWE64-Mini-HOWTO or isapnp tools FAQ. 7a. If you have no isapnp.conf file, generate it by pnpdump. Otherwise, skip to 7d. # pnpdump > /etc/isapnp.conf 7b. Edit isapnp.conf file. Comment out the appropriate lines containing desirable I/O ports, DMA and IRQs. Don't forget to enable (ACT Y) line. 7c. Add two i/o ports (0xA20 and 0xE20) in WaveTable part. ex) (CONFIGURE CTL0048/58128 (LD 2 # ANSI string -->WaveTable<-- (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) (IO 2 (BASE 0x0E20)) (ACT Y) )) 7d. Load the config file. CAUTION: This will reset all PnP cards! # isapnp /etc/isapnp.conf 8. Load the sound module (if you configured it as a module): for 2.0 kernel or OSS/Free monolithic module: # modprobe sound.o for 2.1 kernel: # modprobe sound # insmod uart401 # insmod sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 (These values depend on your settings.) # insmod awe_wave (Be sure to load awe_wave after sb!) See Documentation/sound/oss/AWE32 for more details. 9. (only for obsolete systems) If you don't have /dev/sequencer device file, make it according to Readme.linux file on /usr/src/linux/drivers/sound. (Run a shell script included in that file). <-- This file no longer exists in the recent kernels! 10. OK, load your own soundfont file, and enjoy MIDI! % sfxload synthgm.sbk % drvmidi foo.mid 11. For more advanced use (eg. dynamic loading, virtual bank and etc.), please read the awedrv FAQ or the instructions in awesfx and awemidi packages. Good luck!