For those of you who have read the thread or mail and/or seeking
solution yourself, I am pleased to tell you that I have successfully
config the module and made the card to work. I would like to share it
with you for what it worth. Email back to tell me how did it go. This is
a personal experience, may not work for everyone.
SYSTEM SETTING:
P233 mmx; OpenLinux 2.2 / Kernel 2.2.5; Yamaha OPL3-SAx build-in sound
system; Module support and Opl3 support compiled in; module sound,
soundlow, soundcore loaded.
SYMPTOM:
Won't load module opl3sa2 into the kernel, returns "fail to load module
opl3sa2". "insmod opl3sa2 io=......" in command-line gives back "<module
directory> module_init: Device or resource busy" or "unresolved
character ..."
CAUSE:(speculation)
Apparently, the pre-loaded module has occupied the system resources to
prevent opl3sa2 form loading, and/or the I/O, DMA, IRQ setting have been
set incorrectly.
SOLUTION:
1.unload everything in Kernel- Sound driver section. Order depends on
the dependency.
2.Load module _back_ in following order a.) mpu401(along with the
dependent module, sound; soundlow; soundcore) b.)ad1848 c.) opl3sa2
e.)opl3 (I do not know is this essential, I did not risk to find out)
d.) the rest drivers (I personally believe none others matter, you
should be fine with those).
note:for opl3sa2, you need to find out the IRQ settings from you windows
device manager. for example mine card is at I/O=0220-022f;
0530-0537(<-mss_io); 0388-038f(I used this as mpu_io; 0330-0331;
0370-0371; IRQ=5 DMA=0;1.(IRQ,DMA,I/O may vary). for module loading, you
need to specify the numbers. so in my case the 3 I/O ports are 0x220,
0x530, 0x370, form top down. two DMA are 0,1. fill in the IRQ, leave
the last line blank, Load.
note: on my machine, after loading opl3sa2, I load opl3 from command
line (I read a documentation says you may want it). "insmod opl3
io=0x388" (no ") will do.
note:All I have described correspond with COL 2.2, other distr. may
vary.
Hope this can help.
--
Joshua Li
-----
Nothing is impossible for a man who doesn't do it himself.