Hi Pep, Pep Serrano wrote:
I don't know is this thread interest anymore to the list... I leave it up to you to post replies in the list or to keep chating in private.
I think the "port XXX not free" problem should be of interest to (and be seen by) lots of people - its why *I'm* on this thread!
1. Why do I get the first line "Nov 7 09:29:01 petit kernel: opl3sa2: No PnP cards found" ?
Yes, this is strange. If you look at the driver (drivers/sound/opl3sa2.c) you'll see it means that PnP has failed to allocate the first of multiple cards. I can't explain why PnP can't see your single card. What does /proc/isapnp show? Are you sure the BIOS isn't setting the device any more? Were there earlier messages in the boot sequence from the PnP module itself? It should have said "Yes, I spy a YAMAHA OPL3-SA card here" (or words to that effect).
2. And what about the messages "opl3sa2:Control I/O port 0x538 not free" and "opl3sa2: There was a problem probing one of the ISA PNP cards, continuing" ?
This is the bug I referred to before. I CCd you on the fix I posted to the maintainer. What's happening is that, on failing to find the card with PnP, it's using the parameters you passed to the module to initialize all four (possible) cards - the first works, but the other three fail because (duh!) they're trying to allocate the same resources (same io port etc). The work-round is to disable multiple cards or not pass any parameters; the fix is a small re-code in the driver. The good news is that these messages are harmless.
3. Should I activate START_ISAPNP in my /etc/rc.config now???
No, I don't think so (well... we can experiment with it later perhaps!). That would enable the isapnptools script (using /etc/isapnp.conf) to try to PnP-setup your device, as I understand it. That would just repeat what the kernel tried (and failed) to do.
4. What should I put in my /etc/modules.conf??? So far I had all address parameters hardcoded... but now they are discovered by PnP... so what should I put in it???
My opl3sa is built in, but it looks like you should just be able to load the module and not give it any parameters, since all the base addresses will be allocated by PnP. You might just want to have "multiple=0" to supress the errors above. In my lilo.conf, I used to have a long append line to define parameters to opl3sa, but I've now removed this (and PnP finds the card OK). So your modules.conf should be as you have it, except for "options opl3sa2 multiple=0".
5. For the moment Pnp support in compiled in the kernel. Is there anything that stops me from compiling it as a module?
No, AFAIK you can do that and it should work just the same. The driver code says things like "#if defined CONFIG_ISAPNP || defined CONFIG_ISAPNP_MODULE" round the PnP calls, so it looks like its expecting PnP to be either. Cheers, -nick