Subject: another EISA problem
To: None <port-i386@netbsd.org>
From: Christian Groessler <cpg@aladdin.de>
List: port-i386
Date: 09/04/2001 00:47:13
Hi,

for those reading my other posts about the 3Com 3c579 in an EISA
machine, since it didn't work, I tried to boot NetBSD on my other EISA
machine (486/50).

This machine has an Adaptec 2740 EISA SCSI controller and a 3com 3c509
ISA network card configured as an EISA device (thru a DOS utility).

The good news is, the Adaptec seems to be working fine. But the bad
news is, the network card does not work. :-(

The card is not configured. It is a TP-only version which seems not to
be recognized by NetBSD. I get a message like

unknown 3Com device TCM5095 at eisa0 slot 3 not configured

Hmm, I thought, maybe this version of the card isn't known to the
kernel, so simply tell him. I looked at the L+++x sources and came up
with the following patch:

(see at the end of the mail)

This patch lets the kernel recognize the card, but the card still
seems to be different to "regular" 3c509 cards, I get the following at
boot time:
(typed in manually)

---------
ep0 at eisa0 slot 3: 3Com 3C509-TP Ethernet
ep0: interrupting at irq 10

ep0: erase pencil mark!

ep0: erase pencil mark!

ep0: erase pencil mark!
ep0: wrote 0x7ff to TX_AVAIL_THRESH, read back 0xffff. Interface disabled
---------

Later the kernel panicks.

This is obviously not my day :-(

regards,
chris



Here's the patch:

Index: eisadevs
===================================================================
RCS file: /net/swamp/zeug/netbsd-rsync/main/syssrc/sys/dev/eisa/eisadevs,v
retrieving revision 1.23
diff -u -p -r1.23 eisadevs
--- eisadevs	2001/05/06 19:43:54	1.23
+++ eisadevs	2001/09/02 17:40:55
@@ -169,6 +169,8 @@ product TCM 5091	3C509 Ethernet
 product TCM 5092	3C579-TP Ethernet
 product TCM 5093	3C579 Ethernet
 product TCM 5094	3C509 Ethernet Combo
+product TCM 5095	3C509-TP Ethernet
+product TCM 5098	3C509-TPC Ethernet
 product	TCM 5920 	3C592 Etherlink III
 product	TCM 5970 	3C597 Fast Etherlink TX
 product	TCM 5971 	3C597 Fast Etherlink T4 
Index: eisadevs.h
===================================================================
RCS file: /net/swamp/zeug/netbsd-rsync/main/syssrc/sys/dev/eisa/eisadevs.h,v
retrieving revision 1.25
diff -u -p -r1.25 eisadevs.h
--- eisadevs.h	2001/05/06 19:44:14	1.25
+++ eisadevs.h	2001/09/02 17:40:20
@@ -152,6 +152,8 @@
 #define	EISA_PRODUCT_TCM5092	"3Com 3C579-TP Ethernet"
 #define	EISA_PRODUCT_TCM5093	"3Com 3C579 Ethernet"
 #define	EISA_PRODUCT_TCM5094	"3Com 3C509 Ethernet Combo"
+#define	EISA_PRODUCT_TCM5095	"3Com 3C509-TP Ethernet"
+#define	EISA_PRODUCT_TCM5098	"3Com 3C509-TPC Ethernet"
 #define	EISA_PRODUCT_TCM5920	"3Com 3C592 Etherlink III"
 #define	EISA_PRODUCT_TCM5970	"3Com 3C597 Fast Etherlink TX"
 #define	EISA_PRODUCT_TCM5971	"3Com 3C597 Fast Etherlink T4"
Index: eisadevs_data.h
===================================================================
RCS file: /net/swamp/zeug/netbsd-rsync/main/syssrc/sys/dev/eisa/eisadevs_data.h,v
retrieving revision 1.26
diff -u -p -r1.26 eisadevs_data.h
--- eisadevs_data.h	2001/05/06 19:44:14	1.26
+++ eisadevs_data.h	2001/09/02 17:39:46
@@ -406,6 +406,16 @@ const struct eisa_knowndev eisa_knowndev
 	},
 	{
 	    0,
+	    "TCM5095",
+	    EISA_PRODUCT_TCM5095,
+	},
+	{
+	    0,
+	    "TCM5098",
+	    EISA_PRODUCT_TCM5098,
+	},
+	{
+	    0,
 	    "TCM5920",
 	    EISA_PRODUCT_TCM5920,
 	},
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 -p -r1.22 if_ep_eisa.c
--- if_ep_eisa.c	2000/05/07 13:57:16	1.22
+++ if_ep_eisa.c	2001/09/02 17:39:46
@@ -160,6 +160,10 @@ struct ep_eisa_product {
 	  0,				EISA_PRODUCT_TCM5093 },
 	{ "TCM5094",			ELINK_CHIPSET_3C509,
 	  0,				EISA_PRODUCT_TCM5094 },
+	{ "TCM5095",			ELINK_CHIPSET_3C509,
+	  0,				EISA_PRODUCT_TCM5095 },
+	{ "TCM5098",			ELINK_CHIPSET_3C509,
+	  0,				EISA_PRODUCT_TCM5098 },
 
 	/*
 	 * Note: The 3c597 Fast Etherlink MII (TCM5972) is an