2002-04-01 23:34:53

by Luis Falcon

[permalink] [raw]
Subject: IRQ routing conflicts / Assigning IRQ 0 to ethernet

Hi

It's been a while since I'm trying to get this running, but so far no
luck...

The laptop is a FIC 360+ ( http://www.fic.com.tw ) with an on-board ethernet
card. Comparing the pci scanning from other postings, it seems to be the
same as some model of the Gericom family.

I have tried different kernels and upgraded the BIOS, but still no good
results. Currently I'm using kernel 2.4.19-pre4, but have tried many
others.
I have also tried different PCI access types on the kernel ( auto,
Direct and BIOS ) and no luck.

The main problem is that it can't assign an interrupt for the
controller, plus I get irq routing conflicts on other devices...



Here are the logs

Regards,
Luis

[at boot time]

kernel: PCI: Found IRQ 10 for device 00:0c.0
kernel: PCI: Sharing IRQ 10 with 00:06.0
kernel: PCI: Sharing IRQ 10 with 00:0d.0
kernel: PCI: Found IRQ 4 for device 00:0c.1
kernel: PCI: Sharing IRQ 4 with 00:07.5
kernel: IRQ routing conflict for 00:0c.1, have irq 10, want irq 4



[at insmod tulip ]

kernel: Linux Tulip driver version 0.9.15-pre10 (Mar 8, 2002)
kernel: PCI: Enabling device 00:05.0 (0000 -> 0003)
kernel: PCI: No IRQ known for interrupt pin A of device 00:05.0. Please
try using pci=biosirq.
kernel: PCI: Setting latency timer of device 00:05.0 to 64
kernel: eth1: ADMtek Comet rev 17 at 0x1c00, 00:90:96:1D:D9:0F, IRQ 0.


[from lspci ]

00:00.0 Host bridge: VIA Technologies, Inc. VT8605 [ProSavage PM133]
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ >SERR- <PERR+
Latency: 0
Region 0: Memory at e8000000 (32-bit, prefetchable) [size=128M]
Capabilities: [a0] AGP version 2.0
Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:01.0 PCI bridge: VIA Technologies, Inc. VT8605 [PM133 AGP] (prog-if
00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000f000-00000fff
Memory behind bridge: e0100000-e01fffff
Prefetchable memory behind bridge: f0000000-f7ffffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:05.0 Ethernet controller: Accton Technology Corporation: Unknown
device 1216 (rev 11)
Subsystem: Accton Technology Corporation: Unknown device 2242
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (63750ns min, 63750ns max)
Interrupt: pin A routed to IRQ 0
Region 0: I/O ports at 1c00 [size=256]
Region 1: Memory at 1f000000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=100mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:06.0 Communication controller: Lucent Microelectronics LT WinModem
Subsystem: Askey Computer Corp.: Unknown device 4005
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 10
Region 0: Memory at e0000000 (32-bit, non-prefetchable) [disabled]
[size=256]
Region 1: I/O ports at 1030 [disabled] [size=8]
Region 2: I/O ports at 1400 [disabled] [size=256]
Capabilities: [f8] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=160mA
PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South]
(rev 40)
Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06)
(prog-if 8a [Master SecP PriP])
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1890
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Region 4: I/O ports at 1020 [size=16]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 1a)
(prog-if 00 [UHCI])
Subsystem: Unknown device 0925:1234
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at 1000 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.4 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
(rev 40)
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Capabilities: [68] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.5 Multimedia audio controller: VIA Technologies, Inc. AC97 Audio
Controller (rev 50)
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1840
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 4
Region 0: I/O ports at 1800 [size=256]
Region 1: I/O ports at 103c [size=4]
Region 2: I/O ports at 1038 [size=4]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0c.0 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev
01)
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1860
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 168
Interrupt: pin A routed to IRQ 10
Region 0: Memory at 1f001000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
Memory window 0: 1f400000-1f7ff000 (prefetchable)
Memory window 1: 1f800000-1fbff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

00:0c.1 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev
01)
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1860
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
Latency: 168
Interrupt: pin B routed to IRQ 10
Region 0: Memory at 1f002000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
Memory window 0: 1fc00000-1ffff000 (prefetchable)
Memory window 1: 20000000-203ff000
I/O window 0: 00004800-000048ff
I/O window 1: 00004c00-00004cff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

00:0d.0 FireWire (IEEE 1394): Lucent Microelectronics: Unknown device
5811 (rev 04) (prog-if 10 [OHCI])
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1881
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 10
Region 0: Memory at e0001000 (32-bit, non-prefetchable) [disabled]
[size=4K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:00.0 VGA compatible controller: S3 Inc.: Unknown device 8d01 (rev 02)
(prog-if 00 [VGA])
Subsystem: FIRST INTERNATIONAL Computer Inc: Unknown device 1830
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (1000ns min, 63750ns max), cache line size 08
Interrupt: pin A routed to IRQ 5
Region 0: Memory at e0100000 (32-bit, non-prefetchable) [size=512K]
Region 1: Memory at f0000000 (32-bit, prefetchable) [size=128M]
Expansion ROM at <unassigned> [disabled] [size=64K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [80] AGP version 2.0
Status: RQ=31 SBA- 64bit- FW- Rate=<none>
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>



2002-04-02 03:23:24

by Bryan Rittmeyer

[permalink] [raw]
Subject: Re: IRQ routing conflicts / Assigning IRQ 0 to ethernet

try the latest acpi patch from http://sf.net/projects/acpi/

-Bryan

Luis Falcon wrote:
> The main problem is that it can't assign an interrupt for the
> controller, plus I get irq routing conflicts on other devices...

2002-04-02 19:34:07

by Luis Falcon

[permalink] [raw]
Subject: Re: IRQ routing conflicts / Assigning IRQ 0 to ethernet

Bryan,

Thanks a lot for your response.
In fact the IRQ routing conflict has been solved !

What is still pending is the assignment of a valid IRQ to the Ethernet card
( device 00:05.0 ) and Sound Card ( 00:07.5 ). So, at this point, the
ethernet card doesn't work.
does not work.

Here's the latest dmesg.

Regards,
Luis



I'm attaching the latest dmesg.

> try the latest acpi patch from http://sf.net/projects/acpi/
>
> -Bryan
>
> Luis Falcon wrote:
>> The main problem is that it can't assign an interrupt for the
>> controller, plus I get irq routing conflicts on other devices...



Attachments:
latest.dmesg (7.98 kB)

2002-04-02 22:08:30

by Dominik Brodowski

[permalink] [raw]
Subject: [patch] Re: IRQ routing conflicts / Assigning IRQ 0 to ethernet

Luis:

This patch should resolve the remaining issues. Patch is against
acpi-20020329 + 2.5.7/2.4.18. Please test + tell me if it works.

Dominik

--- linux/arch/i386/kernel/pci-irq.c.original Tue Apr 2 13:35:24 2002
+++ linux/arch/i386/kernel/pci-irq.c Tue Apr 2 13:47:23 2002
@@ -576,10 +576,8 @@
struct pci_dev *dev2;
char *msg = NULL;

- if (!pirq_table)
- return 0;

- /* Find IRQ routing entry */
+ /* Find IRQ pin */
pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
if (!pin) {
DBG(" -> no interrupt pin\n");
@@ -588,10 +586,17 @@
pin = pin - 1;

#ifdef CONFIG_ACPI_PCI
+ /* Use ACPI to lookup IRQ */
+
if (pci_use_acpi_routing)
return acpi_lookup_irq(dev, pin, assign);
#endif

+ /* Find IRQ routing entry */
+
+ if (!pirq_table)
+ return 0;
+
DBG("IRQ for %s:%d", dev->slot_name, pin);
info = pirq_get_info(dev);
if (!info) {


On Tuesday, 2. April 2002 23:54, Luis Falcon wrote:
> Bryan,
>
> Thanks a lot for your response.
> In fact the IRQ routing conflict has been solved !
>
> What is still pending is the assignment of a valid IRQ to the Ethernet card
> ( device 00:05.0 ) and Sound Card ( 00:07.5 ). So, at this point, the
> ethernet card doesn't work.
> does not work.
>
> Here's the latest dmesg.
>
> Regards,
> Luis


Attachments:
pci-irq1.1.acpi.diff (726.00 B)

2002-04-03 20:25:49

by Luis Falcon

[permalink] [raw]
Subject: Re: [patch] Re: IRQ routing conflicts / Assigning IRQ 0 to ethernet

Hi Dominik.

Thanks for the patch !

The devices have been assigned the missing IRQs. The network card keeps
having some problems, but I believe is now a driver related issue.

This is what I get when activating the network card.I'm copying this
message to Donald Becker, the developer for the tulip driver.

Apr 3 12:28:47 inferno kernel: NETDEV WATCHDOG: eth0: transmit timed
out
Apr 3 12:28:47 inferno kernel: eth0: Transmit timed out, status
fc674055, CSR12 00000000, resetting...

I'm attaching the latest dmesg and lspci so you can take a look at it
and check for possible hot-spots.

Thanks again for your help.

Regards,
Luis



sues. Patch is against
> acpi-20020329 + 2.5.7/2.4.18. Please test + tell me if it works.
>
> Dominik
>
> --- linux/arch/i386/kernel/pci-irq.c.original Tue Apr 2 13:35:24 2002
> +++ linux/arch/i386/kernel/pci-irq.c Tue Apr 2 13:47:23 2002
> @@ -576,10 +576,8 @@
> struct pci_dev *dev2;
> char *msg = NULL;
>
> - if (!pirq_table)
> - return 0;
>
> - /* Find IRQ routing entry */
> + /* Find IRQ pin */
> pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
> if (!pin) {
> DBG(" -> no interrupt pin\n");
> @@ -588,10 +586,17 @@
> pin = pin - 1;
>
> #ifdef CONFIG_ACPI_PCI
> + /* Use ACPI to lookup IRQ */
> +
> if (pci_use_acpi_routing)
> return acpi_lookup_irq(dev, pin, assign);
> #endif
>
> + /* Find IRQ routing entry */
> +
> + if (!pirq_table)
> + return 0;
> +
> DBG("IRQ for %s:%d", dev->slot_name, pin);
> info = pirq_get_info(dev);
> if (!info) {
>
>
> On Tuesday, 2. April 2002 23:54, Luis Falcon wrote:
> > Bryan,
> >
> > Thanks a lot for your response.
> > In fact the IRQ routing conflict has been solved !
> >
> > What is still pending is the assignment of a valid IRQ to the Ethernet card
> > ( device 00:05.0 ) and Sound Card ( 00:07.5 ). So, at this point, the
> > ethernet card doesn't work.
> > does not work.
> >
> > Here's the latest dmesg.
> >
> > Regards,
> > Luis
> ----
>

> --- linux/arch/i386/kernel/pci-irq.c.original Tue Apr 2 13:35:24 2002
> +++ linux/arch/i386/kernel/pci-irq.c Tue Apr 2 13:47:23 2002
> @@ -576,10 +576,8 @@
> struct pci_dev *dev2;
> char *msg = NULL;
>
> - if (!pirq_table)
> - return 0;
>
> - /* Find IRQ routing entry */
> + /* Find IRQ pin */
> pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
> if (!pin) {
> DBG(" -> no interrupt pin\n");
> @@ -588,10 +586,17 @@
> pin = pin - 1;
>
> #ifdef CONFIG_ACPI_PCI
> + /* Use ACPI to lookup IRQ */
> +
> if (pci_use_acpi_routing)
> return acpi_lookup_irq(dev, pin, assign);
> #endif
>
> + /* Find IRQ routing entry */
> +
> + if (!pirq_table)
> + return 0;
> +
> DBG("IRQ for %s:%d", dev->slot_name, pin);
> info = pirq_get_info(dev);
> if (!info) {


Attachments:
lspci.patchirq (8.62 kB)
dmseg.patchirq (8.62 kB)
Download all attachments