Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Sep 2006 14:46:49 GMT
From:      Allan Jude <freebsd@thunderit.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   kern/103401: [patch] support for D-Link DGE-530T rev. b1 under if_sk
Message-ID:  <200609191446.k8JEknQ5093587@www.freebsd.org>
Resent-Message-ID: <200609191500.k8JF0a5U007514@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         103401
>Category:       kern
>Synopsis:       [patch] support for D-Link DGE-530T rev. b1 under if_sk
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 19 15:00:35 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Allan Jude
>Release:        6.1-RELEASE
>Organization:
ThunderIT Consulting Inc.
>Environment:
FreeBSD  6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May  7 04:42:56 UTC 2006     root@opus.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP  i386

>Description:
the driver that supports the D-Link DGE-530T Gigabit networking adapter, does not support revision B of the card


pci5: <PCI bus> on pcib5
pci5: <network, ethernet> at device 11.0 (no driver attached)


pci bus 0x0005 cardnum 0x0b function 0x00: vendor 0x1186 device 0x4b01
 D-Link System Inc  Device unknown


>How-To-Repeat:
install a DGE-530T that is Rev.B
>Fix:
patch against if_sk.c (Revision 1.106.2.8) (because it was removed in HEAD)

===================================================================
--- src/sys/pci/if_sk.c	Fri Mar 17 16:30:57 2006
+++ src/sys/pci/if_sk.c	Tue Sep 19 10:07:20 2006
@@ -175,6 +175,11 @@
 		DEVICEID_DLINK_DGE530T,
 		"D-Link DGE-530T Gigabit Ethernet"
 	},
+	{
+		VENDORID_DLINK,
+		DEVICEID_DLINK_DGE530TB,
+		"D-Link DGE-530T Rev.B1 Gigabit Ethernet"
+	},
 	{ 0, 0, NULL }
 };
 
@@ -1723,6 +1728,9 @@
 	case SK_PMD_1000BASETX:
 		sc->sk_pmd = IFM_1000_T;
 		break;
+	case DLGE_PMD_1000BASETX:
+		sc->sk_pmd = IFM_1000_T;
+		break;
 	default:
 		printf("skc%d: unknown media type: 0x%x\n",
 		    sc->sk_unit, sk_win_read_1(sc, SK_PMDTYPE));
@@ -1738,6 +1746,10 @@
 	case DEVICEID_3COM_3C940:
 	case DEVICEID_LINKSYS_EG1032:
 	case DEVICEID_DLINK_DGE530T:
+		/* Stay with VPD PN. */
+		pname = sc->sk_vpd_prodname;
+		break;
+	case DEVICEID_DLINK_DGE530TB:
 		/* Stay with VPD PN. */
 		pname = sc->sk_vpd_prodname;
 		break;


===================================================================

patch against if_skreg.h (Revision 1.29.2.1) (because it was removed in HEAD)

===================================================================
--- /usr/src/sys/pci/if_skreg.h	Sun Nov  6 11:00:54 2005
+++ if_skreg.h	Tue Sep 19 10:07:20 2006
@@ -117,6 +117,7 @@
  * D-Link gigabit ethernet device ID
  */
 #define DEVICEID_DLINK_DGE530T	0x4c00
+#define DEVICEID_DLINK_DGE530TB	0x4b01
 
 /*
  * GEnesis registers. The GEnesis chip has a 256-byte I/O window
@@ -427,6 +428,7 @@
 #define SK_PMD_1000BASESX	0x53
 #define SK_PMD_1000BASECX	0x43
 #define SK_PMD_1000BASETX	0x54
+#define DLGE_PMD_1000BASETX	0x31
 
 /* GPIO bits */
 #define SK_GPIO_DAT0		0x00000001

===================================================================

>Release-Note:
>Audit-Trail:
>Unformatted:



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