The stock 2.2.14 linux kernels support the iopener sound hardware! You need to use compile your kernel with support for the following sound modules:
CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_MPU401=m
CONFIG_SOUND_MSS=m
CONFIG_SOUND_OPL3SA2=m
CONFIG_SOUND_YM3812=m
I'm not 100% sure the MSS module is necessary.
You need to use 'isapnp' to config the card prior to loading the modules. Here is my config file:
# (DEBUG)
(READPORT 0x0203)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO WARNING)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING
(CONFIGURE YMH0020/-1 (LD 0
(IO 0 (SIZE 0) (BASE 0x0000))
(IO 1 (SIZE 8) (BASE 0x0530))
(IO 2 (SIZE 8) (BASE 0x0388))
(IO 3 (SIZE 2) (BASE 0x0330))
(IO 4 (SIZE 2) (BASE 0x0370))
(INT 0 (IRQ 5 (MODE +E)))
(DMA 0 (CHANNEL 1))
(DMA 1 (CHANNEL 3))
# End dependent functions
(NAME "YMH0020/-1[0]{OPL3-SA3 Sound Board}")
(ACT Y)
))
# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
Store the above in '/etc/isapnp.conf' and run 'isapnp /etc/isapnp.conf' to init the card. There will be a warning related to SoundBlaster Pro compatibility being disabled. Ignore it.
Now, load the modules as below:
modprobe soundcore
modprobe sound
modprobe ad1848
modprobe mpu401
modprobe opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=1 dma2=3
modprobe opl3 io=0x388
That is it! Sound should now work correctly.
All the previous info was derived from that in the kernel's "Documentation" subdirectory.
I recommend the 'aumix' program for those building mp3-players.
http://www.jpj.net/~trevor/aumix/aumix-2.6.tar.gz
make this with:
./config --without-ncurses --without-alsa --without-gtk --disable-gtktest --disable-nls
Strip it, and you get a 10Kbyte full featured command line mixer which only uses libc.
mpg123 is a great mp3 player,
/http://ftp.tu-clausthal.de/pub/unix/audio/mpg123/
It only uses 40% of the stock iopener CPU in playback.