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