| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | ================================================================ | 
|  | 2 | INSTALLATION OF AWE32 SOUND DRIVER FOR LINUX | 
|  | 3 | Takashi Iwai	<iwai@ww.uni-erlangen.de> | 
|  | 4 | ================================================================ | 
|  | 5 |  | 
|  | 6 | ---------------------------------------------------------------- | 
|  | 7 | * Attention to SB-PnP Card Users | 
|  | 8 |  | 
|  | 9 | If you're using PnP cards, the initialization of PnP is required | 
|  | 10 | before loading this driver.  You have now three options: | 
|  | 11 | 1. Use isapnptools. | 
|  | 12 | 2. Use in-kernel isapnp support. | 
|  | 13 | 3. Initialize PnP on DOS/Windows, then boot linux by loadlin. | 
|  | 14 | In this document, only the case 1 case is treated. | 
|  | 15 |  | 
|  | 16 | ---------------------------------------------------------------- | 
|  | 17 | * Installation on Red Hat 5.0 Sound Driver | 
|  | 18 |  | 
|  | 19 | Please use install-rh.sh under RedHat5.0 directory. | 
|  | 20 | DO NOT USE install.sh below. | 
|  | 21 | See INSTALL.RH for more details. | 
|  | 22 |  | 
|  | 23 | ---------------------------------------------------------------- | 
|  | 24 | * Installation/Update by Shell Script | 
|  | 25 |  | 
|  | 26 | 1. Become root | 
|  | 27 |  | 
|  | 28 | % su | 
|  | 29 |  | 
|  | 30 | 2. If you have never configured the kernel tree yet, run make config | 
|  | 31 | once (to make dependencies and symlinks). | 
|  | 32 |  | 
|  | 33 | # cd /usr/src/linux | 
|  | 34 | # make xconfig | 
|  | 35 |  | 
|  | 36 | 3. Run install.sh script | 
|  | 37 |  | 
|  | 38 | # sh ./install.sh | 
|  | 39 |  | 
|  | 40 | 4. Configure your kernel | 
|  | 41 |  | 
|  | 42 | (for Linux 2.[01].x user) | 
|  | 43 | # cd /usr/src/linux | 
|  | 44 | # make xconfig (or make menuconfig) | 
|  | 45 |  | 
|  | 46 | (for Linux 1.2.x user) | 
|  | 47 | # cd /usr/src/linux | 
|  | 48 | # make config | 
|  | 49 |  | 
|  | 50 | Answer YES to both "lowlevel drivers" and "AWE32 wave synth" items | 
|  | 51 | in Sound menu.  ("lowlevel drivers" will appear only in 2.x | 
|  | 52 | kernel.) | 
|  | 53 |  | 
|  | 54 | 5. Make your kernel (and modules), and install them as usual. | 
|  | 55 |  | 
|  | 56 | 5a. make kernel image | 
|  | 57 | # make zImage | 
|  | 58 |  | 
|  | 59 | 5b. make modules and install them | 
|  | 60 | # make modules && make modules_install | 
|  | 61 |  | 
|  | 62 | 5c. If you're using lilo, copy the kernel image and run lilo. | 
|  | 63 | Otherwise, copy the kernel image to suitable directory or | 
|  | 64 | media for your system. | 
|  | 65 |  | 
|  | 66 | 6. Reboot the kernel if necessary. | 
|  | 67 | - If you updated only the modules, you don't have to reboot | 
|  | 68 | the system.  Just remove the old sound modules here. | 
|  | 69 | in | 
|  | 70 | # rmmod sound.o		(linux-2.0 or OSS/Free) | 
|  | 71 | # rmmod awe_wave.o	(linux-2.1) | 
|  | 72 |  | 
|  | 73 | 7. If your AWE card is a PnP and not initialized yet, you'll have to | 
|  | 74 | do it by isapnp tools.  Otherwise, skip to 8. | 
|  | 75 |  | 
|  | 76 | This section described only a brief explanation.  For more | 
|  | 77 | details, please see the AWE64-Mini-HOWTO or isapnp tools FAQ. | 
|  | 78 |  | 
|  | 79 | 7a. If you have no isapnp.conf file, generate it by pnpdump. | 
|  | 80 | Otherwise, skip to 7d. | 
|  | 81 | # pnpdump > /etc/isapnp.conf | 
|  | 82 |  | 
|  | 83 | 7b. Edit isapnp.conf file.  Comment out the appropriate | 
|  | 84 | lines containing desirable I/O ports, DMA and IRQs. | 
|  | 85 | Don't forget to enable (ACT Y) line. | 
|  | 86 |  | 
|  | 87 | 7c. Add two i/o ports (0xA20 and 0xE20) in WaveTable part. | 
|  | 88 | ex) | 
|  | 89 | (CONFIGURE CTL0048/58128 (LD 2 | 
|  | 90 | #     ANSI string -->WaveTable<-- | 
|  | 91 | (IO 0 (BASE 0x0620)) | 
|  | 92 | (IO 1 (BASE 0x0A20)) | 
|  | 93 | (IO 2 (BASE 0x0E20)) | 
|  | 94 | (ACT Y) | 
|  | 95 | )) | 
|  | 96 |  | 
|  | 97 | 7d. Load the config file. | 
|  | 98 | CAUTION: This will reset all PnP cards! | 
|  | 99 |  | 
|  | 100 | # isapnp /etc/isapnp.conf | 
|  | 101 |  | 
|  | 102 | 8. Load the sound module (if you configured it as a module): | 
|  | 103 |  | 
|  | 104 | for 2.0 kernel or OSS/Free monolithic module: | 
|  | 105 |  | 
|  | 106 | # modprobe sound.o | 
|  | 107 |  | 
|  | 108 | for 2.1 kernel: | 
|  | 109 |  | 
|  | 110 | # modprobe sound | 
|  | 111 | # insmod uart401 | 
|  | 112 | # insmod sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 | 
|  | 113 | (These values depend on your settings.) | 
|  | 114 | # insmod awe_wave | 
|  | 115 | (Be sure to load awe_wave after sb!) | 
|  | 116 |  | 
|  | 117 | See Documentation/sound/oss/AWE32 for | 
|  | 118 | more details. | 
|  | 119 |  | 
|  | 120 | 9. (only for obsolete systems) If you don't have /dev/sequencer | 
|  | 121 | device file, make it according to Readme.linux file on | 
|  | 122 | /usr/src/linux/drivers/sound. (Run a shell script included in | 
|  | 123 | that file). <-- This file no longer exists in the recent kernels! | 
|  | 124 |  | 
|  | 125 | 10. OK, load your own soundfont file, and enjoy MIDI! | 
|  | 126 |  | 
|  | 127 | % sfxload synthgm.sbk | 
|  | 128 | % drvmidi foo.mid | 
|  | 129 |  | 
|  | 130 | 11. For more advanced use (eg. dynamic loading, virtual bank and | 
|  | 131 | etc.), please read the awedrv FAQ or the instructions in awesfx | 
|  | 132 | and awemidi packages. | 
|  | 133 |  | 
|  | 134 | Good luck! |