Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
3c509 forces itself into an IRQ conflict
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Kimmo_S
n00b
n00b


Joined: 10 Apr 2004
Posts: 45

PostPosted: Sat Apr 17, 2004 3:19 pm    Post subject: 3c509 forces itself into an IRQ conflict Reply with quote

I'm having an IRQ conflict.

When I boot Debian, vanilla kernel 2.4.22, everything is fine.
eth0 3c509 is IRQ 9, IO 0x210
eth1 3c509 is IRQ 5, IO 0x300
hisax HFC-PCI ISDN is IRQ 12
Adaptec AHA152x is IRQ11, IO 0x340
All cards work flawlessly and as expected. modules.conf has line "options 3c509 irq=9"

When I boot Gentoo on the same machine, eth0 3c509 steals IRQ 12, no matter what I do. Compiling 3c509 in and giving a kernel command-line as described in linux/Documentation/networking/3c509.txt didn't help. All logs have that it takes IRQ 12 (or is found at IRQ 12). Giving irq=9 as a parameter doesn't help if I manually run modprobe. I've also tried including "3c509 irq=9" into Gentoo's /etc/modules.autoload.d/kernel-2.6 to no avail. It just doesn't care that I'm asking it to try IRQ 9. Booting back to Debian, eth0 is found at irq=9, and everything is fine again.

Debian doesn't have ISAPnP package installed, and when I installed it on Gentoo, pnpdump found nothing. So I guess that I have set both 3c509 cards to use non-PnP initalisation. Gentoo has 2.6.4 kernel. The machine is a Pentium 133MHz with Intel HX chipset and PIIX3 IDE controller.

I had modprobe segfault a few times when I had 3c509 in /etc/modules.autoload.d/kernel-2.6 but now it just says "SIOCSIFFLAGS: Device or resource busy" if I try to do something. 3c509 doesn't appear in /proc/interrupts, except when I remove hisax from /etc/modules.autoload.d/kernel-2.6, but then it appears as IRQ 12, which is the whole problem.
Back to top
View user's profile Send private message
Kimmo_S
n00b
n00b


Joined: 10 Apr 2004
Posts: 45

PostPosted: Sun Apr 18, 2004 6:44 am    Post subject: Reply with quote

In Debian, the cards are found at IRQ 12 and 5 on boot, according to logs, but ifconfig says they are IRQ 9 and 5, and they work as expected. I can remove and insert the module as many times as I want when the corresponding eth interface is down. Every time it finds cards at IRQ 12 and 5, and every time "ifconfig up eth0 ; ifconfig" shows the card at IRQ 9, and the other (eth1) at IRQ 5. I can switch the cards (interfaces) by "modprobe 3c509 irq=5,9", and I can set up an IRQ conflict by "modprobe 3c509 irq=12,5", and eth0 then refuses to come up, but after "rmmod 3c509" I can again "modprobe 3c509", the cards are found at 12 and 5, and ifconfig again says IRQ 9 and 5, and everything works.

I found out that /etc/modules.conf made the first card IRQ 9, and with an "option" line there removed, I had to specify irq=9 to modprobe, or the card went to IRQ 12, and "ifconfig eth0 up" resulted in "SIOCSIFFLAGS: Device or resource busy".

With Gentoo, once someone or something modprobes 3c509, it is there and can't be removed. And it never obeys any irq parameters. By removing hisax I was able to do "ifconfig eth0 up" (with no error messages), but ifconfig said eth0 is IRQ 12, /proc/interrupts showed 0 interrupts for it, and no traffic could go in or out.

I Googled for kernel changelogs. There was a mention of 3c509, like "3c509: FIXED" in some rc of 2.6.5, so I installed the newest sys-apps/development-sources, which is 2.6.6-rc1, but nothing changed.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum