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