Realtek Gigabit Network Card 0xd6088086

Pyun YongHyeon pyunyh at gmail.com
Mon Oct 29 18:10:41 PDT 2007


On Mon, Oct 29, 2007 at 06:40:59PM -0200, Daniel Dias Gon?alves wrote:
 > Pyun YongHyeon escreveu:
 > >On Wed, Oct 24, 2007 at 10:28:46PM -0200, Daniel Dias Gon?alves wrote:
 > > > Hi,
 > > > 
 > > > FreeBSD 6.2-STABLE can support this network card?
 > > > 
 > > > none2 at pci3:0:0: class=0x020000 card=0xd6088086 chip=0x816810ec rev=0x01 
 > > > hdr=0x00
 > > >    vendor   = 'Realtek Semiconductor'
 > > >    class    = network
 > > >    subclass = ethernet
 > > > 
 > >
 > >If it's not detected by re(4) your NIC would be newer 8168 series.
 > >So try re(4) first and let me know the result.(I have a WIP version
 > >for newer 8168 family but need testers.)
 > >
 > >  
 > Hi,
 > 
 > I' m using kernel generic "SMP" 
 > (root at dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP) and already is 
 > enable "device re", but dont work.
 > What is WIP version ?

work in progress version.

Try attached patch. One user reported the patch generated ARP storm
so I requested more information for the issue but got no reply yet.

-- 
Regards,
Pyun YongHyeon
-------------- next part --------------
Index: dev/re/if_re.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/re/if_re.c,v
retrieving revision 1.95
diff -u -r1.95 if_re.c
--- dev/re/if_re.c	14 Aug 2007 02:00:04 -0000	1.95
+++ dev/re/if_re.c	30 Oct 2007 01:05:06 -0000
@@ -180,6 +180,8 @@
 		"RealTek 8168/8111B PCIe Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8168, RL_HWREV_8168_SPIN2,
 		"RealTek 8168/8111B PCIe Gigabit Ethernet" },
+	{ RT_VENDORID, RT_DEVICEID_8168, RL_HWREV_8168_SPIN3,
+		"RealTek 8168/8111B PCIe Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169,
 		"RealTek 8169 Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169S,
@@ -221,6 +223,7 @@
 	{ RL_HWREV_8100E, RL_8169, "8100E"},
 	{ RL_HWREV_8101E, RL_8169, "8101E"},
 	{ RL_HWREV_8168_SPIN2, RL_8169, "8168"},
+	{ RL_HWREV_8168_SPIN3, RL_8169, "8168"},
 	{ 0, 0, NULL }
 };
 
@@ -676,14 +679,18 @@
 	 */
 
 	hwrev = CSR_READ_4(sc, RL_TXCFG) & RL_TXCFG_HWREV;
-
-	if (hwrev == RL_HWREV_8100E || hwrev == RL_HWREV_8101E ||
-	    hwrev == RL_HWREV_8168_SPIN1 || hwrev == RL_HWREV_8168_SPIN2) {
+	switch (hwrev) {
+	case RL_HWREV_8100E:
+	case RL_HWREV_8101E:
+	case RL_HWREV_8168_SPIN1:
+	case RL_HWREV_8168_SPIN2:
 		CSR_WRITE_4(sc, RL_MAR0, bswap32(hashes[1]));
 		CSR_WRITE_4(sc, RL_MAR4, bswap32(hashes[0]));
-	} else {
+		break;
+	default:
 		CSR_WRITE_4(sc, RL_MAR0, hashes[0]);
 		CSR_WRITE_4(sc, RL_MAR4, hashes[1]);
+		break;
 	}
 }
 
@@ -1314,6 +1321,7 @@
 			case RL_HWREV_8169_8110SB:
 			case RL_HWREV_8169_8110SC:
 			case RL_HWREV_8168_SPIN2:
+			case RL_HWREV_8168_SPIN3:
 				re_gmii_writereg(dev, 1, 0x1f, 0);
 				re_gmii_writereg(dev, 1, 0x0e, 0);
 				break;
Index: pci/if_rlreg.h
===================================================================
RCS file: /home/ncvs/src/sys/pci/if_rlreg.h,v
retrieving revision 1.67
diff -u -r1.67 if_rlreg.h
--- pci/if_rlreg.h	24 Jul 2007 01:24:03 -0000	1.67
+++ pci/if_rlreg.h	30 Oct 2007 01:05:07 -0000
@@ -156,6 +156,7 @@
 #define RL_HWREV_8100E		0x30800000
 #define RL_HWREV_8101E		0x34000000
 #define RL_HWREV_8168_SPIN2	0x38000000
+#define RL_HWREV_8168_SPIN3	0x38400000
 #define RL_HWREV_8139		0x60000000
 #define RL_HWREV_8139A		0x70000000
 #define RL_HWREV_8139AG		0x70800000


More information about the freebsd-stable mailing list