Hang while loading snd-nm256 module
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-source-2.6.15 (Ubuntu) |
Fix Released
|
Critical
|
Fabio Massimo Di Nitto |
Bug Description
I installed the hoary-preview on my old Gateway Solo 3300. Installation went
fine, but hotplug locks up the machine solidly (only poweroff is still working).
I managed to skip over hotplug by hitting Ctrl-C during boot and got the system
running. Then I set VERBOSE=yes in /etc/default/rcS and ran
"/etc/init.
(typed off the screen, so bear with me if there are typos)
* Running net.rc [ok]
* RUnning pci.rc
intel-agp: loaded successfully
shpchp: loaded successfully
pciehp: can't be loaded
missing kernel or user mode driver pciehp
piix: already loaded
uhci-hcd: loaded successfully
i2c-piix4: loaded successfully
yenta_socket: loaded successfully
3c59x: loaded successfully
ignoring pci display device on 01:00.0
(solid lockup at this point)
Anything else you need to know? Any workarounds? All I care about in the moment
are the network and the Cardbus (for wireless network). Can I comment out stuff
in hotplug to make it work for me?
Norbert Kiesel (nk-iname) wrote : | #1 |
Norbert Kiesel (nk-iname) wrote : | #2 |
Norbert Kiesel (nk-iname) wrote : | #3 |
Got it working by hitting Ctrl-C at the right point in time during hotplug
startup and then running "modprobe 3c59x; /etc/init.
Booting with acpi=off does not make a difference
Matt Zimmerman (mdz) wrote : | #4 |
Did you try "noapic"?
Judging by the order of the devices on your PCI bus, the hang is occurring when
loading the driver for this device:
0000:01:00.1 Multimedia audio controller: Neomagic Corporation NM2200
[MagicMedia 256AV Audio] (rev 20)
Subsystem: Gateway 2000: Unknown device 3300
This device is handled by the snd-nm256 (ALSA) and nm256_audio (OSS) modules,
and nm256_audio is blacklisted by alsa-base, so snd-nm256 seems likely to be the
module where the hang is occurring.
You should be able to test this hypothesis by adding snd-nm256 to
/etc/hotplug/
The system should boot normally, and should hang when you "sudo modprobe snd-nm256".
The next step is to get a trace from the hang, using the instructions at
http://
Fabio Massimo Di Nitto (fabbione) wrote : | #5 |
(In reply to comment #3)
> Got it working by hitting Ctrl-C at the right point in time during hotplug
> startup and then running "modprobe 3c59x; /etc/init.
>
> Booting with acpi=off does not make a difference
hi,
can you please blacklist the sound module and let us know if that solves the hang?
I would like to be 100% that this is the driver that is hanging the system,
before starting
a long debugging session.
Thanks
Fabio
Daniel T Chen (crimsun) wrote : | #6 |
(In reply to comment #3)
> Got it working by hitting Ctrl-C at the right point in time during hotplug
> startup and then running "modprobe 3c59x; /etc/init.
>
> Booting with acpi=off does not make a difference
Blacklisting snd-nm256 should allow you to boot. As far as I know, this ALSA
driver has been problematic across several versions. I recommend we consider
using the OSS/Free version (nm256_audio) instead for Hoary.
Norbert Kiesel (nk-iname) wrote : | #7 |
Blacklisting snd-nm256 makes the machine boot. Did not try the OSS module yet,
but will do later today and report back.
I tried to generate a stacktrace using ctrl-scrolllock but after modprobing
snd-nm256 the machine locks hard, including killing the keyboard (e.g. capslock
does not work anymore). I can produce stacktraces before modprobing snd-nm256.
Not sure what the procedre for changing severity is (e.g. is it ok for me to
change it (assuming I can)), but I'd degrade it from critical now that there is
a workaround.
Norbert Kiesel (nk-iname) wrote : | #8 |
did a "modprobe nm256_audio" and gstreamer-
when selecting OSS as output
Fabio Massimo Di Nitto (fabbione) wrote : | #9 |
What kernel are you using exactly? 2.6.10-5-686 or?
fabio
Norbert Kiesel (nk-iname) wrote : | #10 |
I'm using kernel 2.6.10-5-386
Most likely you know this already, but there is also an ALSA bug open for this:
https:/
proposed patch. I'd be willing to test this patch but I'm not sure yet how to
reproduce the kernel source setup to match the Ubuntu config. As an
alternative, I'd also be willing to test a patched module on my system if
someone could create it.
Fabio Massimo Di Nitto (fabbione) wrote : | #11 |
(In reply to comment #10)
> I'm using kernel 2.6.10-5-386
>
> Most likely you know this already, but there is also an ALSA bug open for this:
> https:/
> proposed patch. I'd be willing to test this patch but I'm not sure yet how to
> reproduce the kernel source setup to match the Ubuntu config. As an
> alternative, I'd also be willing to test a patched module on my system if
> someone could create it.
Ok! can you grab the patch and attach it here? alsa bugzilla requires a valid
account also for browsing, and i can build the kernel for you.
Thanks!
Fabio
Norbert Kiesel (nk-iname) wrote : | #12 |
- proposed patch from ALSA bug report 914 Edit (4.6 KiB, text/plain)
Created an attachment (id=1769)
proposed patch from ALSA bug report 914
attached patch. Btw, I just clicked on the "guest login (allows browsing
only)" or so on the ALSA bug system login page to access the bug report (i.e. I
don't have a valid ALSA account either).
Fabio Massimo Di Nitto (fabbione) wrote : | #13 |
(In reply to comment #12)
> Created an attachment (id=1769) [edit]
> proposed patch from ALSA bug report 914
>
> attached patch. Btw, I just clicked on the "guest login (allows browsing
> only)" or so on the ALSA bug system login page to access the bug report (i.e. I
> don't have a valid ALSA account either).
Ok, can you try to replace
/lib/modules/
with the one here:
http://
run depmod -a
and see if it still crashes the machine?
Just remember to rmmod the oss module first.
Fabio
Norbert Kiesel (nk-iname) wrote : | #14 |
yup, sorry to say but it still crashes (i.e. locks) the machine.
I also rebooted using init=/bin/bash, then manually executed some minimal init.d
(mountvirtfs, udev, module-init-tools procfs.sh), then modprobe snd-nm256 and it
still locked the box the same way.
Another thing I tried was "modprobe snd-nm256 force_ac97=1 vaio_hack=1" but also
locked the machine
Too bad I can't get any info out of the box (keyboard is completly dead)
Anything else I could try?
Daniel T Chen (crimsun) wrote : | #15 |
(In reply to comment #14)
> Anything else I could try?
Please modprobe with the reset_workaround=1 parameter from a fresh boot into
Rescue mode (single user); if successful, telinit 2.
Fabio Massimo Di Nitto (fabbione) wrote : | #16 |
(In reply to comment #14)
> yup, sorry to say but it still crashes (i.e. locks) the machine.
That module includes the patch from the alsa, so apparently it is not enough.
Norbert Kiesel (nk-iname) wrote : | #17 |
(In reply to comment #15)
>
> Please modprobe with the reset_workaround=1 parameter from a fresh boot into
> Rescue mode (single user); if successful, telinit 2.
Did this (with both the original and the patched module), but did not make a
difference: systms locks up. Have some more info though (written down and typed
in, so typos possible. ??? == cound not read my own handwriting :-).
# modprobe snd-nm256 reset_workaround=1
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
ACPI: PCI interrupt 0000:01:00.1[B] -> GSI 10 (level, low) -> IRQ 10
nm256: found ??? in video RAM: 0x27ec00
nm256: Mapping port 1 from 0x2709a0 - 0x27ec00
Daniel T Chen (crimsun) wrote : | #18 |
(In reply to comment #17)
> Did this (with both the original and the patched module), but did not make a
> difference: systms locks up. Have some more info though (written down and typed
> in, so typos possible. ??? == cound not read my own handwriting :-).
> # modprobe snd-nm256 reset_workaround=1
> ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
> ACPI: PCI interrupt 0000:01:00.1[B] -> GSI 10 (level, low) -> IRQ 10
> nm256: found ??? in video RAM: 0x27ec00
> nm256: Mapping port 1 from 0x2709a0 - 0x27ec00
Is gdm already running when you modprobe with that parameter? If so, please
reboot into single user and try it without X loaded.
Fabio Massimo Di Nitto (fabbione) wrote : | #19 |
(In reply to comment #17)
> (In reply to comment #15)
> >
> > Please modprobe with the reset_workaround=1 parameter from a fresh boot into
> > Rescue mode (single user); if successful, telinit 2.
>
> Did this (with both the original and the patched module), but did not make a
> difference: systms locks up. Have some more info though (written down and typed
> in, so typos possible. ??? == cound not read my own handwriting :-).
> # modprobe snd-nm256 reset_workaround=1
> ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
> ACPI: PCI interrupt 0000:01:00.1[B] -> GSI 10 (level, low) -> IRQ 10
> nm256: found ??? in video RAM: 0x27ec00
> nm256: Mapping port 1 from 0x2709a0 - 0x27ec00
>
>
hmmmmm can you try to boot the kernel with irqpoll option and try the 2 modules?
but that "nm256: found ??? in video RAM: 0x27ec00" is really weird..
Fabio
Norbert Kiesel (nk-iname) wrote : | #20 |
(In reply to comment #18)
>
> Is gdm already running when you modprobe with that parameter? If so, please
> reboot into single user and try it without X loaded.
Sorry I did not mention but this was after booting into single user mode (i.e. X
was not loaded)
Norbert Kiesel (nk-iname) wrote : | #21 |
(In reply to comment #19)
> (In reply to comment #17)
> > (In reply to comment #15)
> > >
> > > Please modprobe with the reset_workaround=1 parameter from a fresh boot into
> > > Rescue mode (single user); if successful, telinit 2.
> >
> > Did this (with both the original and the patched module), but did not make a
> > difference: systms locks up. Have some more info though (written down and typed
> > in, so typos possible. ??? == cound not read my own handwriting :-).
> > # modprobe snd-nm256 reset_workaround=1
> > ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
> > ACPI: PCI interrupt 0000:01:00.1[B] -> GSI 10 (level, low) -> IRQ 10
> > nm256: found ??? in video RAM: 0x27ec00
> > nm256: Mapping port 1 from 0x2709a0 - 0x27ec00
> >
> >
>
> hmmmmm can you try to boot the kernel with irqpoll option and try the 2 modules?
will do and report back.
>
> but that "nm256: found ??? in video RAM: 0x27ec00" is really weird..
just to make this clear: there were no ??? but something resonable written.
It's just that I can't read what I scribbled down on a piece of paper after the
system locked up. Will try again and report exact line
Norbert Kiesel (nk-iname) wrote : | #22 |
(In reply to comment #19)
> (In reply to comment #17)
>
> hmmmmm can you try to boot the kernel with irqpoll option and try the 2 modules?
booted using "single irqpoll" and then entered "modprobe snd-nm256
reset_workaroun
This was with the original snd-nm256 module. What is the expected result of
irqpoll? Some output? Did not seem to do anything. Will try with your patched
module next.
> but that "nm256: found ??? in video RAM: 0x27ec00" is really weird..
ok wrote it down better now. The lines reads:
nm256: found card signature in video RAM: 0x27ec00
Fabio Massimo Di Nitto (fabbione) wrote : | #23 |
(In reply to comment #22)
> (In reply to comment #19)
> > (In reply to comment #17)
> >
> > hmmmmm can you try to boot the kernel with irqpoll option and try the 2 modules?
> booted using "single irqpoll" and then entered "modprobe snd-nm256
> reset_workaroun
> This was with the original snd-nm256 module. What is the expected result of
> irqpoll? Some output? Did not seem to do anything. Will try with your patched
> module next.
There is no output change either than a couple of lines in the dmesg. It is a
different
way of handling irqs.
>
> > but that "nm256: found ??? in video RAM: 0x27ec00" is really weird..
> ok wrote it down better now. The lines reads:
> nm256: found card signature in video RAM: 0x27ec00
>
>
this is clearly misdetection... I will have to test another patch
i saw upstream. I am preparing another test module for you.
Fabio
Fabio Massimo Di Nitto (fabbione) wrote : | #24 |
There is an updated driver at the same location as before.
It includes the patch from alsa and an update about detection from 2.6.12rc1.
Mind to test it please?
Fabio
PS if this driver doesn't work we will have to ship hoary with the oss workaround :(
Norbert Kiesel (nk-iname) wrote : | #25 |
Hi Fabio,
tested the new module and it - kind of - works. I did a "echo options snd-nm256
reset_workaround=1 > /etc/modprobe.
about 10HZ. I somehow think the problem is that this machine has too much
cramped on the same interrupt.
root@voyager:~ # cat /proc/interrupts
CPU0
0: 991949 XT-PIC timer
1: 2337 XT-PIC i8042
2: 0 XT-PIC cascade
3: 2669 XT-PIC orinoco_cs
9: 1416 XT-PIC acpi
10: 11142 XT-PIC uhci_hcd, yenta, eth0, NM256AV
12: 57476 XT-PIC i8042
14: 26214 XT-PIC ide0
NMI: 0
LOC: 0
ERR: 0
MIS: 0
I first just renamed the original module but left it in /lib/modules. This I
think resulted in loading the original module instead of the new one. So on
next reboot in single-user-mode I hit ctrl-c while hotplug was loading the
modules and ended up with a system which did not have anything mapped on INT 10.
Then I moved the original module out of /lib/modules, ran "depmod -a; modprobe
snd-nm256; telinit 3" and got a clear sound (but of course no wireless as e.g.
yenta was not loaded).
Is there a way to force nm256 to use another interrupt or am I on the wrong
track here anyway?
Fabio Massimo Di Nitto (fabbione) wrote : | #26 |
(In reply to comment #25)
> Hi Fabio,
>
> tested the new module and it - kind of - works. I did a "echo options snd-nm256
> reset_workaround=1 > /etc/modprobe.
> about 10HZ. I somehow think the problem is that this machine has too much
> cramped on the same interrupt.
finally a bit of good news... at least it does not hang the system, right?
did you try without the reset_workaround ? there is also the force_ac97
option that looks "interesting".
>
> I first just renamed the original module but left it in /lib/modules. This I
> think resulted in loading the original module instead of the new one. So on
> next reboot in single-user-mode I hit ctrl-c while hotplug was loading the
> modules and ended up with a system which did not have anything mapped on INT 10.
> Then I moved the original module out of /lib/modules, ran "depmod -a; modprobe
> snd-nm256; telinit 3" and got a clear sound (but of course no wireless as e.g.
> yenta was not loaded).
>
> Is there a way to force nm256 to use another interrupt or am I on the wrong
> track here anyway?
>
Not in the module. I think you need to check that in the BIOS.
Fabio
Norbert Kiesel (nk-iname) wrote : | #27 |
(In reply to comment #26)
>
> finally a bit of good news... at least it does not hang the system, right?
> did you try without the reset_workaround ? there is also the force_ac97
> option that looks "interesting".
yes, did not hang the system. Will try to remove snd-nm256 from hotplug
blacklist and boot regulary (i.e. not first in single user mode).
> >
> > Is there a way to force nm256 to use another interrupt or am I on the wrong
> > track here anyway?
> >
>
> Not in the module. I think you need to check that in the BIOS.
This BIOS does not allow playing around with IRQ (phoenix bios crippled by
Gateway). I think that I was wrong anyway: installed alsaplayer and this plays
my testfiles without problem, so seems to be more a gstreamer problem
(gstreamer-
further.
>
> Fabio
Norbert Kiesel (nk-iname) wrote : | #28 |
It seems we have a winner. I moved /etc/modprobe.conf to
/etc/modprobe.
alsa. Then I removed snd-nm256 from /etc/hotplug/
System comes up, loads snd-nm256 and has clear sound.
I currently have reset_workaround=1 force_ac97=1 in snd-nm256.modprobe, will try
to get rid of them and see if this works, too.
Fabio Massimo Di Nitto (fabbione) wrote : | #29 |
(In reply to comment #28)
> It seems we have a winner.
ROCKING! the fix will be in -29 that will be in the archive either later today
or tomorrow.
> I moved /etc/modprobe.conf to
> /etc/modprobe.
> alsa. Then I removed snd-nm256 from /etc/hotplug/
> System comes up, loads snd-nm256 and has clear sound.
>
> I currently have reset_workaround=1 force_ac97=1 in snd-nm256.modprobe, will try
> to get rid of them and see if this works, too.
>
>
Please let me know.
Thanks
Fabio
Norbert Kiesel (nk-iname) wrote : | #30 |
(In reply to comment #29)
> (In reply to comment #28)
> > It seems we have a winner.
>
> ROCKING! the fix will be in -29 that will be in the archive either later today
> or tomorrow.
Cool.
> Please let me know.
It still locks without reset_workaround=1. With reset_workaround=1, I could
boot 5 times in a row without problems.
I finally added the line to the bottom of /etc/modprobe.
my /etc/modprobe.
again, assuming that is what you will end up doing, too.
Now I just have to find out why it's always hanging 20 seconds in
/etc/init.
happy camper. (Actually I think I know why this happens: it's a PCMCIA card and
pcmcia is started as rc2.d/s20pcmcia which is way later than rcS.d/S40networ
> Thanks
> Fabio
Thomas Hood (jdthood) wrote : | #31 |
(In reply to comment #28)
> It seems we have a winner. I moved /etc/modprobe.conf to
> /etc/modprobe.
> alsa. Then I removed snd-nm256 from /etc/hotplug/
> System comes up, loads snd-nm256 and has clear sound.
>
> I currently have reset_workaround=1 force_ac97=1 in snd-nm256.modprobe, will try
> to get rid of them and see if this works, too.
You should know that if /etc/modprobe.conf is present then /etc/modprobe.d/* are
not used.
I am a bit confused about exactly what needed to be done to fix this problem.
Can someone please summarize the solution for me so that I can implement the
fix upstream in Debian too?
Fabio Massimo Di Nitto (fabbione) wrote : | #32 |
(In reply to comment #31)
> (In reply to comment #28)
> > It seems we have a winner. I moved /etc/modprobe.conf to
> > /etc/modprobe.
> > alsa. Then I removed snd-nm256 from /etc/hotplug/
> > System comes up, loads snd-nm256 and has clear sound.
> >
> > I currently have reset_workaround=1 force_ac97=1 in snd-nm256.modprobe, will try
> > to get rid of them and see if this works, too.
>
>
> You should know that if /etc/modprobe.conf is present then /etc/modprobe.d/* are
> not used.
>
>
> I am a bit confused about exactly what needed to be done to fix this problem.
> Can someone please summarize the solution for me so that I can implement the
> fix upstream in Debian too?
It is a kernel patch. All the other stuff were only tests done to verify that the
module was ok.
Fabio
Thomas Hood (jdthood) wrote : | #33 |
> It is a kernel patch. All the other stuff were only tests done to verify that the
> module was ok.
Does this patch apply to the source from the alsa-driver tarball too? If so, please
send it to me. :)
--
Thomas
<email address hidden>
Chuck Short (zulcss) wrote : | #34 |
Should be fixed in the next upload
Norbert Kiesel (nk-iname) wrote : | #35 |
Hi,
the module works now with linux-image-
linux-image-
got 3 out of 3 lockups with -686 and 2 out of 2 successful boots with sound
using -386.
Fabrizio Magni (fabrizio-magni) wrote : | #36 |
Hi,
I'm testing the 2.6.11-1-386 on my DELL Latitude CPi.
The snd-nm256 freezes my system even with reset_workaround=1 force_ac97=1 vaio_hack=1.
Fabio Massimo Di Nitto (fabbione) wrote : | #37 |
(In reply to comment #35)
> Hi,
>
> the module works now with linux-image-
> linux-image-
> got 3 out of 3 lockups with -686 and 2 out of 2 successful boots with sound
> using -386.
>
The patch is applied uncoditionally. Are you sure all the kernels are updated?
Fabio Massimo Di Nitto (fabbione) wrote : | #38 |
(In reply to comment #36)
> Hi,
> I'm testing the 2.6.11-1-386 on my DELL Latitude CPi.
> The snd-nm256 freezes my system even with reset_workaround=1 force_ac97=1
vaio_hack=1.
>
>
2.6.11 is not supported.
Fabrizio Magni (fabrizio-magni) wrote : | #39 |
Sorry I didn't know.
However snd-nm256 of linux-image-
Thanks.
aftertaf (dwooffindin) wrote : | #40 |
(In reply to comment #39)
> Sorry I didn't know.
>
> However snd-nm256 of linux-image-
>
> Thanks.
I have the same pb with Latitude LS on debian.
I have disabled OSS in the new kernel i'm compiling.
Is the problem with the alsa sources in the kernel?
Norbert Kiesel (nk-iname) wrote : | #41 |
(In reply to comment #40)
> I have the same pb with Latitude LS on debian.
> I have disabled OSS in the new kernel i'm compiling.
>
> Is the problem with the alsa sources in the kernel?
Yup, the patch was applied to the nm256 file of alsa in the kernel.
I actually did not look at the patch myself, but it's working
beautifully since it was incorporated into the Ubuntu kernel.
I upgraded the kernel 3 times since then and sound always worked
flawlessy.
Jonathon Sim (sim) wrote : | #42 |
In breezy's 2.6.12 kernel unfortunately this patch doesn't seem to be applied -
I have applied that patch to the breezy kernel source and recompiled and it
fixed this issue on my Dell Latitude LS.
Michael Haile (chain009) wrote : | #43 |
(In reply to comment #42)
> In breezy's 2.6.12 kernel unfortunately this patch doesn't seem to be applied -
> I have applied that patch to the breezy kernel source and recompiled and it
> fixed this issue on my Dell Latitude LS.
Which patch did you use? The one listed above (proposed patch from ALSA bug
report 914) or another patch? Can you provide a link to the patch you used?
Igor Bukanov (igor-bukanov) wrote : | #44 |
The bug still happens with Dapper Flight 6 and Breezy final on my Sony Vaio PCG-Z505R notebook. As with reports above system freezes after
modprobe snd-nm256
modprobe snd-nm256 reset_workaround=1 force_ac97=1 vaio_hack=1
and different combinations.
But during the first boot right after installation the sound is available and works fine.
Note that the bug present in Fedora Core 4 with all the updated kernels there including 2.6.16.
Created an attachment (id=1759)
dmidecode