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! |