okay -- i got the dual card working -- somehow: === $ diff -u freebios-20031024.orig/src/mainboard/via/epia-m/mainboard.c freebios-20031024/src/mainboard/via/epia-m/mainboard.c --- freebios-20031024.orig/src/mainboard/via/epia-m/mainboard.c 2003-07-25 05:20:20.000000000 +0200 +++ freebios-20031024/src/mainboard/via/epia-m/mainboard.c 2003-11-28 11:02:37.948735048 +0100 @@ -8,8 +8,10 @@ static const unsigned char usbIrqs[4] = { 11, 10, 12, 5 }; static const unsigned char enetIrqs[4] = { 11, 5, 10, 12 }; static const unsigned char slotIrqs[4] = { 10, 12, 5, 11 }; +static const unsigned char dualenetaIrq[4] = { 12, 5, 11, 10 }; +static const unsigned char dualenetbIrq[4] = { 10, 12, 5, 11 }; static const unsigned char firewireIrqs[4] = {10, 12, 5, 11 }; -static const unsigned char vt8235Irqs[4] = { 5,10, 12, 11 }; +static const unsigned char vt8235Irqs[4] = { 5, 10, 12, 11 };
/* @@ -57,6 +59,12 @@ // vt8235 slot printk_info("setting vt8235 slot\n"); pci_assign_irqs(0, 0x11, vt8235Irqs); + + // dual eth card + printk_info("setting pci slot - pci-pci bridge - dual eth card (a)\n"); + pci_assign_irqs(2, 0x4, dualenetaIrq); + printk_info("setting pci slot - pci-pci bridge - dual eth card (b)\n"); + pci_assign_irqs(2, 0x5, dualenetbIrq); }
===
jan: thanks a lot for the tip with the bridge!!!
it seems that i have to play a little bit more with the interrupts. the e100.o code in linux tells me ``Disabling IRQ #10'' and/or ``Disabling IRQ #12'' (depending on the values in dualenetaIrq[4] and dualenetbIrq[4]) when bringing up the nics. and then one or both of the nics dont work...
niki