Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Mar 2001 19:19:09 -0800 (PST)
From:      wpaul@FreeBSD.ORG (Bill Paul)
To:        matt@gsicomp.on.ca (Matthew Emmerton)
Cc:        edwynn42@hotmail.com, freebsd-net@FreeBSD.ORG
Subject:   Re: D-Link problem
Message-ID:  <20010326031909.A32F137B71B@hub.freebsd.org>
In-Reply-To: <014901c0b57e$826dbaf0$1200a8c0@gsicomp.on.ca> from Matthew Emmerton at "Mar 25, 2001 05:54:07 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Guh. Support for this card was added to -current, but the changes never
made it back to -stable. The problem (I think) is that while you updated
the device list, you overlooked a piece of code in rl_attach() that selects
the driver behavior depending on the PCI device ID. Get back your original
version of if_rl.c and if_rlreg.h and try the following patch. This should
be all you need to have the card recognized correctly as a RealTek NIC.
(Note that while I have about 3 different RealTek PCI boards, I don't have
this particular one. There are bunches of them.)

-Bill


*** if_rl.c.orig	Sun Mar 25 19:08:34 2001
--- if_rl.c	Sun Mar 25 19:11:59 2001
***************
*** 149,154 ****
--- 149,156 ----
  		"Delta Electronics 8139 10/100BaseTX" },
  	{ ADDTRON_VENDORID, ADDTRON_DEVICEID_8139,
  		"Addtron Technolgy 8139 10/100BaseTX" },
+ 	{ DLINK_VENDORID, DLINK_DEVICEID_530TXPLUS,
+ 		"D-Link DFE-530TX+ 10/100BaseTX" },
  	{ 0, 0, NULL }
  };
  
***************
*** 898,904 ****
  	rl_read_eeprom(sc, (caddr_t)&rl_did, RL_EE_PCI_DID, 1, 0);
  
  	if (rl_did == RT_DEVICEID_8139 || rl_did == ACCTON_DEVICEID_5030 ||
! 	    rl_did == DELTA_DEVICEID_8139 || rl_did == ADDTRON_DEVICEID_8139)
  		sc->rl_type = RL_8139;
  	else if (rl_did == RT_DEVICEID_8129)
  		sc->rl_type = RL_8129;
--- 900,907 ----
  	rl_read_eeprom(sc, (caddr_t)&rl_did, RL_EE_PCI_DID, 1, 0);
  
  	if (rl_did == RT_DEVICEID_8139 || rl_did == ACCTON_DEVICEID_5030 ||
! 	    rl_did == DELTA_DEVICEID_8139 || rl_did == ADDTRON_DEVICEID_8139 ||
! 	    rl_did == DLINK_DEVICEID_530TXPLUS)
  		sc->rl_type = RL_8139;
  	else if (rl_did == RT_DEVICEID_8129)
  		sc->rl_type = RL_8129;
*** if_rlreg.h.orig	Sun Mar 25 19:08:34 2001
--- if_rlreg.h	Sun Mar 25 19:10:12 2001
***************
*** 433,438 ****
--- 433,448 ----
  #define ADDTRON_DEVICEID_8139			0x1360
  
  /*
+  * D-Link vendor ID.
+  */
+ #define DLINK_VENDORID				0x1186
+ 
+ /*
+  * D-Link DFE-530TX+ device ID
+  */
+ #define DLINK_DEVICEID_530TXPLUS		0x1300
+ 
+ /*
   * PCI low memory base and low I/O base register, and
   * other PCI registers.
   */

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




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