patch-2.1.109 linux/Documentation/sound/AWE32

Next file: linux/Documentation/sound/CS4232
Previous file: linux/Documentation/sound/ALS007
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.108/linux/Documentation/sound/AWE32 linux/Documentation/sound/AWE32
@@ -1,64 +1,122 @@
-From: Nicola Bernardelli <>
+	Installing and using Creative AWE midi sound under Linux.
-     In order to load SB-AWE related drivers on recent kernels (tested
-with 2.1.86 and 2.1.88) with modularized sound support these lines can
-be issued (of course with the suitable values for the parameters)
-after PNP setup:
-modprobe  sound.o
-insmod  uart401.o
-insmod  sb.o io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
-insmod  awe_wave.o
-     Alternatively, in order to also have automatic load on demand
-(not of the awe support, which would anyway most likely also require a
-call to sfxload), these lines can be added to /etc/conf.modules, of
-course with the suitable values for the parameters):
-alias char-major-14 sb
-post-install sb modprobe "-k" "adlib_card"
-options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
-options adlib_card io=0x388     # FM synthesiser
+This documentation is devoted to the Creative Sound Blaster AWE32, AWE64 and 
-and then these two commands can be issued:
+1) Make sure you have an ORIGINAL Creative SB32, AWE32 or AWE64 card. This is 
+important, because the driver works only with real Creative cards.
-modprobe sb
+2) If your card is NOT "Plug-n-Play" (I myself don't know Creative AWE non 
+plug'n'play cards however) then go to 5th step now. In the other case
+proceed to step 3.
+3) You should obtain isapnptools. I looked through other PnP packages 
+for Linux, but all they are either in deep unstable beta/alpha releases or 
+they are much worse than isapnptools. In my case isapnptools were included in 
+a Linux distribution (Red Hat 5.0). If you also already have them then go to 
+step 4.
+The latest copy of isapnptools-1.15 is available from 
+ (I tested isapnptools-1.15.tgz)
+You should gunzip/untar it to something like /usr/local/ 
+(cp isapnptools-1.15.tgz /usr/local/; cd /usr/local/;
+tar -xzf isapnptools-1.15.tgz). 
+Compile the package (make) and install it (make install).
+If something goes wrong check the INSTALL file in isapnptools-1.15 directory.
+4) Now do a "pnpdump > /etc/isapnp.conf". File /etc/isapnp.conf will contain 
+info about PnP devices you may have. If you want you can read the manual page
+about isapnp.conf file (man isapnp.conf). Most lines of your isapnp.conf file are 
+commented. You should uncomment lines which don't conflict with your 
+ATTENTION! Device Audio should have 1 IRQ, 2 DMA and 3 base I/O resources.
+If you don't have such a configuration you should manually add the resources to
+the isapnp.conf file. After editing I got these lines in the Audio device
+section (I ripped out all the comments):
+"(CONFIGURE CTL0044/1132685 (LD 0 (INT 0 (IRQ 5 (MODE +E))) (DMA 0 (CHANNEL 1))
+ (DMA 1 (CHANNEL 5)) (IO 0 (BASE 0x220)) (IO 1 (BASE 0x330)) (IO 2 (BASE 0x388))
+ (ACT Y)))"
+(In your case CTL044/1132685 numbers may be other)
+Don't forget to uncomment (ACT Y)!
+The next device is the on-board IDE controller. You may enable it if you wish,
+but it will not effect sound.
+Then WaveTable goes. For some reason Plug-n-Play detects only one I/O port,
+but the wavetable needs THREE! My working string is:
+"(CONFIGURE CTL044/1132685 (LD 2 (IO 0 (BASE 0x0620)) (IO 1 (BASE 0x0A20)) 
+(IO 3 (BASE 0x0E20)) (ACT Y) ))"
+Resources 0x0620, 0x0A20 and 0x0E20 should work. Other on-board devices: 
+Gameport and StereoEnhance are not required to be inited.
+Now you can execute "isapnp /etc/isapnp.conf". No errors should be reported.
+If you correctly installed isapnptools, then isapnp will run every boot time.
+5) Now you should recompile the kernel. I recommend using development kernels,
+because the AWE32 driver is included in them.  ATTENTION!  In kernels 2.1.102, 
+2.1.103, 2.1.104-pre1 and 2.1.104 (not the others) the lowlevel sound driver
+is not working. You should use the patch available at 
+ If you are using stable kernel
+releases 2.0.x, then get the latest version (3.8s9) of 
+OSS/Free at
+and gunzip/untar it in /usr/src/ (assuming you keep your kernel source in
+/usr/src/linux).  Then go to /usr/src/linux/ and view the README file. That
+file contains info about kernel compilation and installation.
+In "make (x,menu)config" select in "Sound":
+"Sound card support", "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support",
+"Generic OPL2/OPL3 FM synthesizer support" and "FM synthesizer (YM3812/OPL-3) 
+support" as <M> (module).
+If you use kernel version 2.0.x or version 2.1.y (y <= 2.1.104) skip substep a,
+on 2.1.105 or later go through it.
+substep a:
+In "make (x,menu)config" select in "Sound":
+select "OSS sound modules" as <M> (module)
+In "Additional low level sound drivers":
+"Additional low level sound drivers", "AWE32 synth" as <M> (module).
+Select "Additional low level sound drivers" as [y] (or [*] (yes)) (If it is not
+available as [y], select it as <M> (module))
+Now recompile the kernel (make dep; make (b)zImage; make modules; 
+make modules_install), update your boot loader and boot new kernel.
+6) Now download awesfx program 
+ here. Compile it.
+Copy sfxload program to /bin (or /sbin if you wish). To enable AWE midi 
+synthesis you should also get the sound bank file for general midi from
+ Copy it to
+/usr and gunzip it there.
+7) Edit /etc/rc.d/rc.local, inserting at the end of the file:
+modprobe sound
+insmod uart401
+insmod sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
 insmod awe_wave
+sfxload /usr/synthfm.sbk
+(on io=0xaaa irq=b.... you should use your own settings)
+That will enable the Sound Blaster and AWE wave synthesis.
-After picking up the second approach, you may want to put these lines
-on an ossfreeOn script:
+To play midi files you should get one of these programs:
- -----
+Playmidi 2.4 or higher:
+Drvmidi 4.2.b:
-modprobe sb
-insmod awe_wave
+(These are available at all major Linux FTP sites and may already be
+ in your distribution)
-# A call to 'aumix -L' (attention to what the home dir is at boot
-# time, you may put a link /.aumixrc -> /home/<sounduser>/.aumixrc) to
-# restore mixer device levels and a call to 'sfxload <path to
-# soundfont bank>' may be added in a customized ossfreeSetup script:
-if [ -x /usr/local/sbin/ossfreeSetup ] ; then
-  /usr/local/sbin/ossfreeSetup
- -----
-And these lines in an ossfreeOff script:
- -----
-# NOT set -e, maybe not all of them are currently loaded.
-rmmod awe_wave 
-rmmod adlib_card
-rmmod opl3
-rmmod sb
-rmmod uart401
-rmmod sound
-rmmod soundcore
- -----
+If something goes wrong please e-mail me. All comments and suggestions are
+			    Yaroslav Rosomakho (

TCL-scripts by Sam Shen,