Opened 10 years ago

Closed 10 years ago

#5511 closed bug (fixed)

intel 3945 driver cause an interrupt storm

Reported by: pulkomandy Owned by: colin
Priority: normal Milestone: R1
Component: Drivers/Network Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #5569
Has a Patch: no Platform: All

Description

Hardware is Dell inspiron 1525. Booting Haiku shows a lot of CPU usage. With the driver disabled it is ok. I didn't manage to enter kdl (what were the keys to use already) and I don't really know what to do in there anyway. Please tell me what info you need.

Attachments (2)

interrupts_default_boot_options.txt (1.6 KB ) - added by pulkomandy 10 years ago.
pulkomandy's interrupts config on linux
interrupts_noapic_nolapic_pci_nomsi.txt (1.1 KB ) - added by pulkomandy 10 years ago.
pulkomandy's interrupt config on linux, without rerouting. Looks similar to haiku ints command

Download all attachments as: .zip

Change History (16)

comment:1 by pulkomandy, 10 years ago

Ok, I did some more tests...

  • Trying to enter KDL failed : the computer is totally freezed, I can(t use the mouse nor the keyboard
  • Adding sc->irq->r_bushandle = 0x0A; (in if_wpi.c line 557, as suggested by luroh) lets me with a running system. I'm not sure it works, but CPU usage is ok, and I see things hapenning (channel scan) in systlog.

In this configuration, i can see two intel interrupts in kdl ints command : an interrupt wrapper in int10 and something else in int11.

Please tell me what you need. I'll do a test with an open network reachable to see if it actually works.

comment:2 by colin, 10 years ago

Status: newin-progress

I suppose it is an irq mapping problem. To be absolutely sure I need the following info retrieved with linux running on the same hardware:

  1. just boot linux, open a terminal and run: cat /proc/interrupts and append the output as interrupts-default-boot-options.txt
  2. start linux by adding the following kernel boot params to boot loader of your choice: noapic nolapic pci=nomsi and get me the output of cat /proc/interrupts again. Preferably as interrupts-noapic-nolapic-pci-nomsi.txt

This first file will show the default interrupt mapping of linux, which I then can compare to the second file to see

  1. that it made a difference to use the boot options, at all
  2. how the interrupt mapping should be in haiku.

by pulkomandy, 10 years ago

pulkomandy's interrupts config on linux

by pulkomandy, 10 years ago

pulkomandy's interrupt config on linux, without rerouting. Looks similar to haiku ints command

comment:3 by colin, 10 years ago

Ok, you should use 0x07, instead of the 0x0A you mentioned before. This should make it work for you.
Though note, this is only a hack, as the right way to do it, would be to implement irq routing by using ACPI in Haiku. As far as I know someone is working on that already.
Please report back.

comment:4 by axeld, 10 years ago

FWIW I have a similar problem on my Lenovo T60 - there, LAN, and WLAN are affected (both worked well at some point, but the interrupt mapping is broken ever since I updated to OpenSUSE 11.2).

I can manually alter the interrupt lines (to 3 and 4 in my case), and then everything works as intended. Quite annoying, but something that will be solved once we're using the configuration via ACPI.

comment:5 by jackburton, 10 years ago

Blocking: 5569 added

(In #5569) Replying to colin:

Looks like a duplicate of ticket #5511. Even though you aren't reporting interrupt storms, the syslog says "timeout waiting for adapter to initialize" which means that irqs are misrouted. Though as ticket #5511 presents no real solution (which would be implementing acpi irq routing) it contains a work around. If you are running a linux on your machine and retrieve the needed info with it we can, at least, make it work for you.

Thanks. It's not really a problem at the moment, since to be able to use the wireless network I need WPA2 support. For the moment I can just remove the driver, hoping that someone implements ACPI routing soon. Let's close this as dup of #5511 then.

in reply to:  3 comment:6 by mmadia, 10 years ago

Blocked By: 5 added

Replying to colin:

... the right way to do it, would be to implement irq routing by using ACPI in Haiku. As far as I know someone is working on that already.

Setting #5 as a blocker.

comment:7 by jackburton, 10 years ago

Still here after hrev36225.

comment:8 by pulkomandy, 10 years ago

Yes, still here. I can confirm that with the workaround of bruteforcing the interrupt, wlan works properly. It's pretty hard to debug as the interrupt storm lets me with no keyboard at all...

comment:9 by jackburton, 10 years ago

I thought that Michael's commit could've fixed the problem, that's why I put that note.

comment:10 by pulkomandy, 10 years ago

Axel added the missing bits in #36292 It now works for me ! But not for axel, still.

Waiting for feedback from the other users now...

comment:11 by axeld, 10 years ago

While it doesn't work for me (the device for whatever reason), the interrupt storm is definitely gone.

comment:12 by luroh, 10 years ago

Fixed for me as well; no interrupt storms and no more need for IRQ hacks to get wifi (iprowifi3945) and Ethernet (ipro1000) going.

comment:13 by jackburton, 10 years ago

Blocked By: 5 removed

Fixed for me as well.

comment:14 by jackburton, 10 years ago

Resolution: fixed
Status: in-progressclosed
Note: See TracTickets for help on using tickets.