I have a Soundblaster32 ISA PnP card that does not seem to want to work with ALSA. The card is functional as it works fine in Windows (as much as I hate to use Windows as a benchmark of functionality).
With Linux/ALSA, the card is on interrupt 9 and in Windows, it's on interrupt 5. I want to try interrupt 5 with ALSA/Linux and see if this is some kind of interrupt problem in this machine. It sure looks like one when I use strace to watch a process writing /dev/sound/dsp as writes take forever (if ever -- I didn't wait around long enough to see) to return: I am a bit confused as to whether I still need isapnptools to do this or if I can (somehow) use the /proc isapnp interface. What would be the procedure to use the /proc interface to tell the card to use interrupt 5 given: # cat /proc/isapnp Card 1 'CTL009c:Creative SB32 PnP' PnP version 1.0 Product version 1.2 Logical device 0 'CTL0041:Audio' Device is active Active port 0x220,0x330,0x388 Active IRQ 9 [0x2] Active DMA 1,5 Resources 0 Priority preferred Port 0x220-0x220, align 0x0, size 0x10, 16-bit address decoding Port 0x330-0x330, align 0x0, size 0x2, 16-bit address decoding Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding IRQ 5 High-Edge DMA 1 8-bit byte-count compatible DMA 5 16-bit word-count compatible Alternate resources 0:1 Priority acceptable Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding Port 0x300-0x330, align 0x2f, size 0x2, 16-bit address decoding Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 0,1,3 8-bit byte-count compatible DMA 5,6,7 16-bit word-count compatible Alternate resources 0:2 Priority acceptable Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding Port 0x300-0x330, align 0x2f, size 0x2, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 0,1,3 8-bit byte-count compatible DMA 5,6,7 16-bit word-count compatible Alternate resources 0:3 Priority acceptable Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 0,1,3 8-bit byte-count compatible DMA 5,6,7 16-bit word-count compatible Alternate resources 0:4 Priority acceptable Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding Port 0x300-0x330, align 0x2f, size 0x2, 16-bit address decoding Port 0x388-0x3f8, align 0x0, size 0x4, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 0,1,3 8-bit byte-count compatible Alternate resources 0:5 Priority acceptable Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding Port 0x300-0x330, align 0x2f, size 0x2, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 0,1,3 8-bit byte-count compatible Alternate resources 0:6 Priority acceptable Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 0,1,3 8-bit byte-count compatible Alternate resources 0:7 Priority functional Port 0x220-0x280, align 0x1f, size 0x10, 16-bit address decoding Port 0x300-0x330, align 0xf, size 0x2, 16-bit address decoding Port 0x388-0x394, align 0x3, size 0x4, 16-bit address decoding IRQ 5,7,2/9,10 High-Edge DMA 0,1,3 8-bit byte-count compatible DMA 5,6,7 16-bit word-count compatible Logical device 1 'CTL7002:Game' Device is not active Resources 0 Priority preferred Port 0x200-0x200, align 0x0, size 0x8, 16-bit address decoding Alternate resources 0:1 Priority acceptable Port 0x200-0x208, align 0x7, size 0x8, 16-bit address decoding Logical device 2 'CTL0021:WaveTable' Device is active Active port 0x620,0xa20,0xe20 Resources 0 Priority preferred Port 0x620-0x620, align 0x0, size 0x4, 16-bit address decoding Port 0xa20-0xa20, align 0x0, size 0x4, 16-bit address decoding Port 0xe20-0xe20, align 0x0, size 0x4, 16-bit address decoding Alternate resources 0:1 Priority acceptable Port 0x620-0x680, align 0x1f, size 0x4, 16-bit address decoding Port 0xa20-0xa80, align 0x1f, size 0x4, 16-bit address decoding Port 0xe20-0xe80, align 0x1f, size 0x4, 16-bit address decoding Logical device 3 'CTL2011:IDE' Compatible device PNP0600 Device is active Active port 0x168,0x36e Active IRQ 10 [0x2] Resources 0 Priority preferred Port 0x168-0x168, align 0x0, size 0x8, 16-bit address decoding Port 0x36e-0x36e, align 0x0, size 0x2, 16-bit address decoding IRQ 10 High-Edge Alternate resources 0:1 Priority acceptable Port 0x1e8-0x1e8, align 0x0, size 0x8, 16-bit address decoding Port 0x3ee-0x3ee, align 0x0, size 0x2, 16-bit address decoding IRQ 11 High-Edge Alternate resources 0:2 Priority acceptable Port 0x180-0x1b8, align 0x7, size 0x8, 16-bit address decoding Port 0x306-0x33e, align 0x7, size 0x2, 16-bit address decoding IRQ 10,11,12,15 High-Edge Alternate resources 0:3 Priority functional Port 0x170-0x170, align 0x0, size 0x8, 16-bit address decoding Port 0x376-0x376, align 0x0, size 0x1, 16-bit address decoding IRQ 15 High-Edge Do I also need to tell the alsa sound blaster module the interrupt (i.e. with modules.conf "options" parameters) or does it use the /proc/isapnp interface to figure out things like interrupt, i/o ports, dma, etc.? Any advise would be appreciated. Thanx, b. -- Brian J. Murrell
msg05232/pgp00000.pgp
Description: PGP signature