Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Feb 2002 19:58:11 -0800 (PST)
From:      Doug Ambrisko <ambrisko@ambrisko.com>
To:        "W. Desjardins" <bill@carracing.com>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   Re: sis0: incorrect mac address
Message-ID:  <200202190358.g1J3wBM71729@ambrisko.com>
In-Reply-To: <20020216140328.O63345-100000@mail.carracing.com>

next in thread | previous in thread | raw e-mail | index | archive | help
W. Desjardins writes:
| Hello,
| 
| on 3 out of 4 servers just installed, I get this when looking at ifconfig:
| 
| sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
|         inet 66.28.74.109 netmask 0xffffffe0 broadcast 66.28.74.127
|         inet6 fe80::d483:b781:285a:6ea1%sis0 prefixlen 64 scopeid 0x1
|         ether 00:00:00:00:00:00
|  NOTE:------->^^^^^^^^^^^^^^^^^
|         media: Ethernet autoselect (100baseTX <full-duplex>)
|         status: active
| 
| these machines are due for production, but without valid mac's, they cant
| talk to each other.
| 
| systems are running 4.5 RELEASE with custom kernel (GENERIC had same
| results). The motherboard is an asus cusi-fx sis socket 370 with the sis
| 630e onboard fast ethernet chipset.
| 
| I have 7 more of these exact same machines with most also running 4.5R
| fine and showing normal mac addresses. normally I run stable on all my
| machines, but I have been bringing them up to 4.5R to get them all in sync
| with each other since they are all identical.
| 
| has anyone had any problems with the recent versions of this motherboard
| or am I looking at a few bad chipsets?

Well you are dealing with an obsolete board.  They may have built
some with a 630ET chipset which is used on the ASUS TUSI motherboards.
Here is a patch that fixes 630ET support in -stable (already fixed
in -current).  Note the TUSI and CUSI board look exactly the same
except for voltage regulator.  We have a bunch of the newer TUSI 
boards here.

If this patch doesn't work can you add a printf to dump the
"sc->sis_rev" value?

Thanks,

Doug A.

Index: if_sisreg.h
===================================================================
RCS file: /cvs/src/sys/pci/if_sisreg.h,v
retrieving revision 1.1.4.9
diff -u -r1.1.4.9 if_sisreg.h
--- if_sisreg.h	9 Feb 2002 23:02:40 -0000	1.1.4.9
+++ if_sisreg.h	19 Feb 2002 03:49:55 -0000
@@ -369,7 +369,7 @@
 #define SIS_REV_630E		0x0081
 #define SIS_REV_630S		0x0082
 #define SIS_REV_630EA1		0x0083
-#define SIS_REV_630ET		0x0083
+#define SIS_REV_630ET		0x0084
 #define SIS_REV_635		0x0090
 
 /*
Index: if_sis.c
===================================================================
RCS file: /cvs/src/sys/pci/if_sis.c,v
retrieving revision 1.13.4.19
diff -u -r1.13.4.19 if_sis.c
--- if_sis.c	9 Feb 2002 23:02:40 -0000	1.13.4.19
+++ if_sis.c	19 Feb 2002 03:49:55 -0000
@@ -919,11 +919,11 @@
 		 */
 		if (sc->sis_rev == SIS_REV_630S ||
 		    sc->sis_rev == SIS_REV_630E ||
-		    sc->sis_rev == SIS_REV_630EA1 ||
-		    sc->sis_rev == SIS_REV_630ET)
+		    sc->sis_rev == SIS_REV_630EA1)
 			sis_read_cmos(sc, dev, (caddr_t)&eaddr, 0x9, 6);
 
-		else if (sc->sis_rev == SIS_REV_635)
+		else if (sc->sis_rev == SIS_REV_635 ||
+			 sc->sis_rev == SIS_REV_630ET)
 			sis_read_mac(sc, dev, (caddr_t)&eaddr);
 		else
 #endif
@@ -937,13 +937,6 @@
 	 */
 	printf("sis%d: Ethernet address: %6D\n", unit, eaddr, ":");
 
-	/*
-	 * From the Linux driver:
-	 * 630ET : set the mii access mode as software-mode
-	 */
-	if (sc->sis_rev == SIS_REV_630ET)
-		SIS_SETBIT(sc, SIS_CSR, SIS_CSR_ACCESS_MODE);
-	
 	sc->sis_unit = unit;
 	callout_handle_init(&sc->sis_stat_ch);
 	bcopy(eaddr, (char *)&sc->arpcom.ac_enaddr, ETHER_ADDR_LEN);

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202190358.g1J3wBM71729>