From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.2-2 i586)
Description of problem:
I hope I have this sent to the right place. I have an AMD K6-2 350 MHz
system with Genius ISAPNP sound card. After upgrading to RedHat 7.1, the
system consistently assigns IRQ 12 to the MPU-401 on the Genius. I booted
the system using kernel 2.2.19-6.2.1, and was able to run sndconfig 0.43
and determine that an IRQ of 9 for the main sound and 7 for the MPU 401
worked. I edited /etc/modules.conf accordingly. Lo and behold, when I
reboot, modules.conf is rewritten to assign IRQ 12 to the MPU 401. Of
course, since IRQ 12 is supposed to be reserved for the PS/2 mouse, this
means the mouse doesn't work either. I can get the mouse to work using
'rmmod cs4232' followed by 'insmod io=0x534 irq=9 dma=1 dma2=0 mpuio=0x330
mpuirq=7'. This last I just clipped out of my modules.conf file, but I
know it will get changed on the next boot.
What gremlin has gotten into my system?
Steps to Reproduce:
1.Install Genius sound card and PS/2 mouse in a system
2.Install RedHat 7.1
Could you paste or attach the output of "cat /proc/isapnp" ?
Created attachment 18851 [details]
Output of 'cat /proc/isapnp' after bootup
What's the content of /proc/interrupts when the sound card is like this?
Here is the output of cat /proc/interrupts right after bootup:
0: 10043 XT-PIC timer
1: 111 XT-PIC keyboard
2: 0 XT-PIC cascade
4: 1 XT-PIC serial
5: 18 XT-PIC eth0
8: 1 XT-PIC rtc
9: 1 XT-PIC Crystal audio controller
10: 0 XT-PIC usb-uhci
12: 0 XT-PIC MPU-401 UART
14: 6217 XT-PIC ide0
15: 2 XT-PIC ide1
Since my last writing, I even tried lying to sndconfig: I told it I couldn't
hear the sound and manually set the mpuirq to 7. It still put mpuirq=12 in
sndconfig uses what the card is set to via the kernel's isapnp.
However, the kernel really shouldn't have used IRQ 12 here, especially
since 7 & 11 were still (apparently) available. If you do 'lspci -v', are
any PCI devices on IRQ 7 or IRQ 11?
Created attachment 18990 [details]
Output of '/sbin/lspci -v' immediately after bootup
OK, IRQ 7 appears free, so in theory the kernel should be using that
before IRQ 12.
"Should" is different from "is", of course. And, why is it that if I
edit /etc/modules.conf to force IRQ 7, I find it has been overwritten with a
version which uses IRQ 12 again at the next boot?
It gets overwritten because sndconfig tells the kernel's isapnp code to activate
the card at each boot, and then reads the settings the kernel chose. The kernel
chose IRQ 12 in this case.
Well but if the user hard forces another irq, then sndconfig should obey there
This is isapnp; since the card needs activated at each boot, there are no user
Then perhaps the real problem is isapnp: the difficulty has always been that it
assigned an IRQ to the card which is already in use.
Having said all that, the problem seems to have disappeared now that I'm running
ok "fixed in errata" it is... ;)