The test if [ -x /sbin/isapnp -a -f /etc/isapnp.conf -a ! -f /proc/isapnp ] in rc.sysinit is problematic. I have a opl3sa2 sound card and the file /proc/isapnp exisits on my system. However, the opl3sa2 will only work if isapnp is called an the irq/io stuff is passed to the driver. Hence, rc.sysinit will fails to set up sound for me even tough it is configured correctly. Plese remove the "-a ! -f /proc/isapnp" part.
No. Userland and kernel isapnp are incompatible.
I'm no kernel expert, but this is my point of view: If I let the kernel/module do the isapnp stuff I get "No pnp cards found" (even tough it shows up in/proc/isapnp). If I use userland isapnp it works!!! And this is all that matters to me! So please either fix the kernel/module or fix rc.sysinit. Thanks.
what is in /proc/isapnp for you?
I have the same problem. I have a Soundblaster AWE32 PnP soundcard. As far as I can tell, the problem is that the kernel detects the PnP card, but doesn't activate it. Thus, the module (in my case sb.o) cannot detect it, and thus fails. What I think gt means when he says that it's detected in /proc/isapnp is that the card is detected in there, but is listed as not active (i.e., no IO/IRQ/DMA assigned). I'll upload attachments showing /proc/isapnp in both cases.
Aha, now I understand, the kernel is supposed to activate the card. Well, here is the information: (1) Right after booting /proc/isapnp reads: ------------------------------------------------------- Card 1 'YMH0800:YAMAHA OPL3-SAx Audio System' PnP version 1.0 Logical device 0 'YMH0021:Unknown' Device is not active Active DMA 0,0 Resources 0 <snip> ------------------------------------------------------- Trying to insert the module with both options isapnp=0|1 will fail. (2) Calling userland isapnp it reads ------------------------------------------------------- Card 1 'YMH0800:YAMAHA OPL3-SAx Audio System' PnP version 1.0 Logical device 0 'YMH0021:Unknown' Device is active Active port 0x220,0x530,0x388,0x330,0x370 Active IRQ 5 [0x2] Active DMA 0,1 Resources 0 <snip> ------------------------------------------------------ and now I can insert the module with "isapnp=1" or "isapnp=0 irq=....." I'll attach both as isapnp1.txt and isapnp2.txt to this bug.
Created attachment 17306 [details] /proc/isapnp after boot
Created attachment 17307 [details] /proc/isapnp after calling userland isapnp
See bug #40551 for another example of a situation where isapnp is needed. In my case, the sounc card is initialized fine with RH scripts, but I still need userland isapnp to activate my ISA-to-PCMCIA bridge.
This problem is still present in 7.2. The opl3sa2 modul will not activate my sound card and I have to use ---------------------- echo "card 0 YMH0800 dev 0 YMH0021 port 0 0x220 port 1 0x530 port 2 0x388 port 3 0x330 port 4 0x370 irq 0 5 dma 0 0 dma 1 1 activate dev 0 YMH0022 port 0 0x201 activate" > /proc/isapnp ------------------------------ in order to activate the card before the opl3sa2 module gets loaded. Currently there seems no way to do this without editing rc.sysinit.
Could you please provide a hook in rc.sysinit such that one can activate cards via echo "..." > /proc/isapnp
This is all handled in a much more sane manner in current releases via udev and ID matching. Hence, closing.