network card

David O'Brien obrien at freebsd.org
Mon Dec 6 09:25:40 PST 2004


On Mon, Dec 06, 2004 at 04:45:37PM +0100, Guillaume R. wrote:
> > On Monday 06 December 2004 15:23, Ernst W. Winter wrote:
> >> Well I would like to ask "what ntwork card" is working with amd64
> >> FreeBSD, that is without any hassles. I try the sk one and it still
> >> has the problem of putting out the same message:
> >>
> >> sk0 discard frame w/o leading ethernet header (len 10 pkt len 10)
> >>
> >> it is a ASUS A8V Deluxe board with the lan omboard.
> >> 5.3_STABLE is the version I'm running.
> >
> > 5-CURRENT has had patches applied by Bjoern (or others? In any case,
> > mentioned  often and recently on this list) for sk0; that works
> > normally for me on a  K8V.
> I'm interested here :)
> What patches have u applied to get this card working?
> As for me this card does not perfectly work on a fresh 5.3 installation.
> You got some clue?

Can you update to RELENG_5 and try again?  There was a MAJOR bug fixed
after 5.3 (diff attached).

-- 
-- David  (obrien at FreeBSD.org)


Index: if_sk.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/if_sk.c,v
retrieving revision 1.83.2.2
retrieving revision 1.83.2.3
diff -u -r1.83.2.2 -r1.83.2.3
--- if_sk.c	25 Aug 2004 21:19:06 -0000	1.83.2.2
+++ if_sk.c	20 Nov 2004 17:41:43 -0000	1.83.2.3
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.83.2.2 2004/08/25 21:19:06 jmg Exp $");
+__FBSDID("$FreeBSD: src/sys/pci/if_sk.c,v 1.83.2.3 2004/11/20 17:41:43 bz Exp $");
 
 /*
  * SysKonnect SK-NET gigabit ethernet driver for FreeBSD. Supports
@@ -136,7 +136,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-  "$FreeBSD: src/sys/pci/if_sk.c,v 1.83.2.2 2004/08/25 21:19:06 jmg Exp $";
+  "$FreeBSD: src/sys/pci/if_sk.c,v 1.83.2.3 2004/11/20 17:41:43 bz Exp $";
 #endif
 
 static struct sk_type sk_devs[] = {
@@ -1501,6 +1501,7 @@
 {
 	struct sk_softc		*sc;
 	int			unit, error = 0, rid, *port;
+	uint8_t			skrs;
 
 	sc = device_get_softc(dev);
 	unit = device_get_unit(dev);
@@ -1561,9 +1562,10 @@
 	/* Read and save vital product data from EEPROM. */
 	sk_vpd_read(sc);
 
+	skrs = sk_win_read_1(sc, SK_EPROM0);
 	if (sc->sk_type == SK_GENESIS) {
 		/* Read and save RAM size and RAMbuffer offset */
-		switch(sk_win_read_1(sc, SK_EPROM0)) {
+		switch(skrs) {
 		case SK_RAMSIZE_512K_64:
 			sc->sk_ramsize = 0x80000;
 			sc->sk_rboff = SK_RBOFF_0;
@@ -1586,8 +1588,11 @@
 			error = ENXIO;
 			goto fail;
 		}
-	} else {
-		sc->sk_ramsize = 0x20000;
+	} else { /* SK_YUKON */
+		if (skrs == 0x00)
+			sc->sk_ramsize = 0x20000;
+		else
+			sc->sk_ramsize = skrs * (1<<12);
 		sc->sk_rboff = SK_RBOFF_0;
 	}
 


More information about the freebsd-amd64 mailing list