Subject: EISA network card problems - Fixed!?
To: None <port-i386@netbsd.org>
From: Christian Groessler <cpg@aladdin.de>
List: port-i386
Date: 09/05/2001 11:57:13
I had problems with 2 3com network cards in a EISA machine, a 3c579
EISA card and a 3c509 ISA card configured as EISA.
While comparing the NetBSD ep driver with Linux' 3c509 driver, I found
the reason the NetBSD doesn't work:
-----------
Index: if_ep_eisa.c
===================================================================
RCS file: /net/swamp/zeug/netbsd-rsync/main/syssrc/sys/dev/eisa/if_ep_eisa.c,v
retrieving revision 1.22
diff -u -4 -r1.22 if_ep_eisa.c
--- if_ep_eisa.c 2000/05/07 13:57:16 1.22
+++ if_ep_eisa.c 2001/09/05 08:52:10
@@ -238,15 +238,19 @@
sc->sc_ioh = ioh;
sc->sc_iot = iot;
+#if 0 /* cpg: my 3c579 card does not work, if this is done */
/* Reset card. */
bus_space_write_1(iot, ioh_cfg, EP_EISA_CFG_CONTROL,
EISA_ENABLE | EISA_RESET);
delay(10);
bus_space_write_1(iot, ioh_cfg, EP_EISA_CFG_CONTROL, EISA_ENABLE);
/* Wait for reset? */
delay(1000);
+#endif
+
+ GO_WINDOW(0);
/* Read the IRQ from the card. */
irq = bus_space_read_2(iot, ioh_cfg, EP_EISA_CFG_RESOURCE) >> 12;
-----------
With this change both cards work fine. I haven't looked whether the
reset or the setting of EISA_ENABLE is the problem, but the Linux
driver doesn't seem to do any of them.
I'd like to get this integrated, but I'm a bit concerned about the
consequences. Are there people for which the current driver did work?
Can they try this patch and verify that the driver still works?
I don't have docs for the 3com cards, maybe can the original autor of
this code (thorpej?) shed some light onto this issue?
regards,
chris