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