Support for the OPTI 82C931 chip -------------------------------- The opti 82C931 is supported in it's non PnP mode. You do not need to set jumpers etc... The sound driver will check the card status and if it is required it will force the card into a mode that it can be programmed. To compile support for the OPTI 82C931 card you can use the regular Linux config menus (ie, "make xconfig"). Sound card support should be enabled as a module (chose m). Enable (m) for these items: 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support (CONFIG_SB) Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) Microsoft Sound System support (CONFIG_MSS) Support for OPTi MAD16 and/or Mozart based cards (CONFIG_MAD16) FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) The configuration menu may ask for addresses, irq lines or dma channels. If the card is used as a module the module loading options will override these values. Go on and compile your kernel and modules, install the modules. I use this configuration as part of /etc/conf.modules: options sb mad16=1 options mad16 irq=10 dma=1 io=0x530 joystick=1 cdtype=0 options opl3 io=0x388 After installing everything and booting to a kernel that matches the modules you can load the sound driver: modprobe mad16 modprobe opl3 As a result these modules are loaded: Module Size Used by opl3 10416 0 (unused) mad16 6472 0 sb 23544 0 [mad16] uart401 5796 0 [mad16 sb] ad1848 16532 1 [mad16] sound 82052 0 [opl3 mad16 sb uart401 ad1848] Known problems: 1. The uart401 cannot be used. This is probably a problem which was introduced when the sound driver was modularized. Do not try to load uart401 with options (io=xxx, irq=yyy) because it will try to initialize itself and fail. 2. Cannot use the sound driver in Duplex mode. Until it is fixed use only one DMA channel (0, 1 or 3) for mad16. 3. Configuration of the cdrom adaptor on the sound card is not tested and probably does not work. 4. General problem with the modularized sound driver: If you load part of the sound driver while a sound program is running, stopping the program may result with a situation where the "Used by" count becomes negative.