$Id: sound.doc,v 1.9 1998/10/22 15:37:35 bde Exp $ Instructions on using audio on a FreeBSD 2.1 (or 2.0-current) system. See also /sys/i386/conf/LINT. To enable sound driver support, the controller sound code must be included in your config file: # SB = SoundBlaster; PAS = ProAudioSpectrum; GUS = Gravis UltraSound # Controls all sound devices controller snd0 Uncomment one or more of these device entries, depending on what type of sound card you have: # ProAudioSpectrum PCM and Midi - for PAS #device pas0 at isa? port 0x388 irq 10 drq 6 # SoundBlaster DSP driver - for SB, SB Pro, SB16, PAS(emulating SB) #device sb0 at isa? port 0x220 irq 7 drq 1 # SoundBlaster 16 DSP driver - for SB16 - requires sb0 device #device sbxvi0 at isa? drq 5 # SoundBlaster 16 MIDI - for SB16 - requires sb0 device #device sbmidi0 at isa? port 0x300 # Gravis UltraSound - for GUS, GUS16, GUSMAX # For cards that use 2 DMA Channels: # drq = Write DMA Channel, flags = Read DMA Channel #device gus0 at isa? port 0x220 irq 11 drq 1 flags 0x3 # Gravis UltraSound 16 bit option - for GUS16 - requires gus0 #device gusxvi0 at isa? port 0x530 irq 7 drq 3 # MS Sound System (AD1848 Based Boards) #device mss0 at isa? port 0x530 irq 10 drq 1 # Yamaha OPL-2/OPL-3 FM - for SB, SB Pro, SB16, PAS #device opl0 at isa? port 0x388 # MPU-401 - for MPU-401 standalone card #device mpu0 at isa? port 0x330 irq 6 drq 0 # 6850 UART Midi #device uart0 at isa? port 0x330 irq 5 You may add one or more of the following depending on what you do and don't want compiled into your kernel. Note: Excluding things with EXCLUDE_... is NOT recommended unless you really know what you're doing. #options EXCLUDE_AUDIO # NO digital audio support #options EXCLUDE_SEQUENCER # NO sequencer support #options EXCLUDE_MIDI # NO MIDI support whatsoever #options EXCLUDE_SBPRO # EXCLUDE SB Pro support #options EXCLUDE_SB_EMULATION # NO PAS SB emulation support #options EXCLUDE_GUS_IODETECT # NO GUS io detection #options EXCLUDE_PRO_MIDI # NO PAS MIDI support Other Options: #options SYMPHONY_PAS Adds some code to make pas work with Symphony chipsets. Only use this if your pas doesn't work and you have a Symphony chipset. #options BROKEN_BUS_CLOCK Some systems with the OPTI chipset and a PAS will require you to use this option. Symptoms are that you will hear a lot of clicking and popping sounds, like a geiger counter, coming out of the PAS even when it is not playing anything. #options MOZART_PORT Adds support for Mozart (OAK OTI-601). (Part of the MSS driver) #options OPTI_MAD16_PORT Adds support for the OPTI MAD16 Chip. (Part of the MSS driver) If your soundcard has a chip labeled "OPTi 82C929" then try this. #options __SGNXPRO__ Adds support for the SG NX Pro mixer. (Part of the SB driver) #options JAZZ16 Adds support for the MV Jazz16 (ProSonic etc). (Part of the SB Driver) #options SM_WAVE Adds support for the SoundMan Wave (Part of the SB Driver) Note: You will need to do some work to get this to work. See i386/isa/sound/configure.c #options SM_GAMES Adds support for the Logitech SoundMan Games (Part of the SB Driver) #options PAS_JOYSTICK_ENABLE Enables the gameport on the ProAudio Spectrum NOTE: The MPU-401 driver may or may not work, and is unfortunately unverifiable since no one I know has one. If you can test this, please let me know! Also note that you will have to change these settings if your soundcard is set for a non-standard address or IRQ. Please check your documentation (or verify with any provided DOS utilities that may have come with your card) and set the IRQ or address fields accordingly. Also: You can configure more then one card on a single DMA using the conflicts keyword in your configuration file. This is useful for boards with more then one type of emulation. Probing problems: Since the SB16 uses the same IRQ and addresses for the different drivers, some of the snd drivers will not be probed because the kernel thinks there is a conflict. This can be worked-around by using the "conflicts" keyword on the sb16's device line. For further information, contact multimedia@freebsd.org - Jordan Hubbard (jkh@freefall.cdrom.com) - Steven Wallace (swallace@freefall.cdrom.com) - Sujal Patel (smpatel@wam.umd.edu)