| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | Sound Blaster 16X Vibra addendum | 
 | 2 | -------------------------------- | 
 | 3 | by Marius Ilioaea <mariusi@protv.ro> | 
 | 4 |    Stefan Laudat  <stefan@asit.ro> | 
 | 5 |  | 
 | 6 | Sat Mar 6 23:55:27 EET 1999 | 
 | 7 |  | 
 | 8 | 			Hello again, | 
 | 9 | 	 | 
 | 10 | 	Playing with a SB Vibra 16x soundcard we found it very difficult | 
 | 11 | to setup because the kernel reported a lot of DMA errors and wouldn't | 
 | 12 | simply play any sound. | 
 | 13 | 	A good starting point is that the vibra16x chip full-duplex facility | 
 | 14 | is neither still exploited by the sb driver found in the linux kernel  | 
 | 15 | (tried it with a 2.2.2-ac7), nor in the commercial OSS package (it reports | 
 | 16 | it as half-duplex soundcard). Oh, I almost forgot, the RedHat sndconfig | 
 | 17 | failed detecting it ;) | 
 | 18 | 	So, the big problem still remains, because the sb module wants a | 
 | 19 | 8-bit and a 16-bit dma, which we could not allocate for vibra... it supports | 
 | 20 | only two 8-bit dma channels, the second one will be passed to the module | 
 | 21 | as a 16 bit channel, the kernel will yield about that but everything will | 
 | 22 | be okay, trust us.  | 
 | 23 | 	The only inconvenient you may find is that you will have | 
 | 24 | some sound playing jitters if you have HDD dma support enabled - but this | 
 | 25 | will happen with almost all soundcards... | 
 | 26 |  | 
 | 27 | 	A fully working isapnp.conf is just here: | 
 | 28 |  | 
 | 29 | <snip here> | 
 | 30 |  | 
 | 31 | (READPORT 0x0203) | 
 | 32 | (ISOLATE PRESERVE) | 
 | 33 | (IDENTIFY *) | 
 | 34 | (VERBOSITY 2) | 
 | 35 | (CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING | 
 | 36 | # SB 16 and OPL3 devices | 
 | 37 | (CONFIGURE CTL00f0/-1 (LD 0 | 
 | 38 | (INT 0 (IRQ 5 (MODE +E))) | 
 | 39 | (DMA 0 (CHANNEL 1)) | 
 | 40 | (DMA 1 (CHANNEL 3)) | 
 | 41 | (IO 0 (SIZE 16) (BASE 0x0220)) | 
 | 42 | (IO 2 (SIZE 4) (BASE 0x0388)) | 
 | 43 | (NAME "CTL00f0/-1[0]{Audio               }") | 
 | 44 | (ACT Y) | 
 | 45 | )) | 
 | 46 |  | 
 | 47 | # Joystick device - only if you need it :-/ | 
 | 48 |  | 
 | 49 | (CONFIGURE CTL00f0/-1 (LD 1 | 
 | 50 | (IO 0 (SIZE 1) (BASE 0x0200)) | 
 | 51 | (NAME "CTL00f0/-1[1]{Game                }") | 
 | 52 | (ACT Y) | 
 | 53 | )) | 
 | 54 | (WAITFORKEY) | 
 | 55 |  | 
 | 56 | <end of snipping> | 
 | 57 |  | 
 | 58 | 	So, after a good kernel modules compilation and a 'depmod -a kernel_ver' | 
 | 59 | you may want to: | 
 | 60 |  | 
 | 61 | modprobe sb io=0x220 irq=5 dma=1 dma16=3 | 
 | 62 |  | 
 | 63 | 	Or, take the hard way: | 
 | 64 |  | 
 | 65 | modprobe soundcore | 
 | 66 | modprobe sound | 
 | 67 | modprobe uart401 | 
 | 68 | modprobe sb io=0x220 irq=5 dma=1 dma16=3 | 
 | 69 | # do you need MIDI? | 
 | 70 | modprobe opl3=0x388 | 
 | 71 |  | 
 | 72 | 	Just in case, the kernel sound support should be: | 
 | 73 |  | 
 | 74 | CONFIG_SOUND=m | 
 | 75 | CONFIG_SOUND_OSS=m | 
 | 76 | CONFIG_SOUND_SB=m | 
 | 77 | 	 | 
 | 78 | 	Enjoy your new noisy Linux box! ;) | 
 | 79 | 	 | 
 | 80 |  |