Re: shuttle DS47 - RTL8168 no link / lladdr

2013-10-22 Thread Mark
So far so good! I applied the patch, build the new kernel and I can confirm
my NICs are now recognized and working.

-- Mark


2013/10/11 Mark m...@m021.nl

 Thanks for the quick reply i'll give it a try next week!


 2013/10/11 Stuart Henderson st...@openbsd.org

 On 2013/10/11 11:09, Stuart Henderson wrote:
  On 2013/10/11 00:23, m...@m021.nl wrote:
   Synopsis:  Realtek 8168 ethernet not working
   Category:  bugs
   Environment:
   System  : OpenBSD 5.3
   Details : OpenBSD 5.3 (GENERIC.MP) #62: Tue Mar 12 18:21:20
 MDT 2013
dera...@amd64.openbsd.org:
 /usr/src/sys/arch/amd64/compile/GENERIC.MP
  
   Architecture: OpenBSD.amd64
   Machine : amd64
   Description:
   OpenBSD does recognize the NIC as Realtek 8168 but the NIC will
 have
   no valid mac-address and even if set, the NIC won't work.
   How-To-Repeat:
   Install OpenBSD on hardware with the RTL8186 chipset
   Fix:
   Realtek has new drivers available on there website
   (http://www.realtek.com.tw) -- Perhaps someone with the
   knowlage of how to compile and embed them into OpenBSD kernel
   can create a fix for this problem.
 
  you could maybe try this.. it's reduced/converted from a diff at
 
 http://lists.freebsd.org/pipermail/freebsd-current/2013-September/044569.html

 ignore this and try jsg's diff instead.



Re: shuttle DS47 - RTL8168 no link / lladdr

2013-10-11 Thread Jonathan Gray
On Fri, Oct 11, 2013 at 12:23:50AM +0200, m...@m021.nl wrote:
 Synopsis:Realtek 8168 ethernet not working
 Category:bugs
 Environment:
   System  : OpenBSD 5.3
   Details : OpenBSD 5.3 (GENERIC.MP) #62: Tue Mar 12 18:21:20 MDT 2013

 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
 
   Architecture: OpenBSD.amd64
   Machine : amd64
 Description:
   OpenBSD does recognize the NIC as Realtek 8168 but the NIC will have
   no valid mac-address and even if set, the NIC won't work.
 How-To-Repeat:
   Install OpenBSD on hardware with the RTL8186 chipset
 Fix:
   Realtek has new drivers available on there website
   (http://www.realtek.com.tw) -- Perhaps someone with the
   knowlage of how to compile and embed them into OpenBSD kernel
   can create a fix for this problem.

re(4) does not know about RTL8168G/RTL8111G, here is a diff
against -current that might work

Index: re.c
===
RCS file: /cvs/src/sys/dev/ic/re.c,v
retrieving revision 1.144
diff -u -p -r1.144 re.c
--- re.c5 Oct 2013 22:59:57 -   1.144
+++ re.c9 Oct 2013 01:21:41 -
@@ -223,6 +223,8 @@ static const struct re_revision {
{ RL_HWREV_8101,RTL8101 },
{ RL_HWREV_8101E,   RTL8101E },
{ RL_HWREV_8102E,   RTL8102E },
+   { RL_HWREV_8106E,   RTL8106E },
+   { RL_HWREV_8106E_SPIN1, RTL8106E },
{ RL_HWREV_8401E,   RTL8401E },
{ RL_HWREV_8402,RTL8402 },
{ RL_HWREV_8411,RTL8411 },
@@ -238,6 +240,10 @@ static const struct re_revision {
{ RL_HWREV_8168C_SPIN2, RTL8168C/8111C },
{ RL_HWREV_8168CP,  RTL8168CP/8111CP },
{ RL_HWREV_8168F,   RTL8168F/8111F },
+   { RL_HWREV_8168G,   RTL8168G/8111G },
+   { RL_HWREV_8168G_SPIN1, RTL8168G/8111G },
+   { RL_HWREV_8168G_SPIN2, RTL8168G/8111G },
+   { RL_HWREV_8168G_SPIN4, RTL8168G/8111G },
{ RL_HWREV_8105E,   RTL8105E },
{ RL_HWREV_8105E_SPIN1, RTL8105E },
{ RL_HWREV_8168D,   RTL8168D/8111D },
@@ -846,6 +852,8 @@ re_attach(struct rl_softc *sc, const cha
case RL_HWREV_8402:
case RL_HWREV_8105E:
case RL_HWREV_8105E_SPIN1:
+   case RL_HWREV_8106E:
+   case RL_HWREV_8106E_SPIN1:
sc-rl_flags |= RL_FLAG_INVMAR | RL_FLAG_PHYWAKE |
RL_FLAG_PHYWAKE_PM | RL_FLAG_PAR | RL_FLAG_DESCV2 |
RL_FLAG_MACSTAT | RL_FLAG_CMDSTOP | RL_FLAG_AUTOPAD |
@@ -892,6 +900,15 @@ re_attach(struct rl_softc *sc, const cha
RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT |
RL_FLAG_CMDSTOP | RL_FLAG_AUTOPAD | RL_FLAG_NOJUMBO;
break;
+   case RL_HWREV_8168G:
+   case RL_HWREV_8168G_SPIN1:
+   case RL_HWREV_8168G_SPIN2:
+   case RL_HWREV_8168G_SPIN4:
+   sc-rl_flags |= RL_FLAG_INVMAR | RL_FLAG_PHYWAKE |
+   RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT |
+   RL_FLAG_CMDSTOP | RL_FLAG_AUTOPAD | RL_FLAG_NOJUMBO |
+   RL_FLAG_EARLYOFF;
+   break;
case RL_HWREV_8169_8110SB:
case RL_HWREV_8169_8110SBL:
case RL_HWREV_8169_8110SCd:
@@ -1974,6 +1991,7 @@ re_init(struct ifnet *ifp)
 {
struct rl_softc *sc = ifp-if_softc;
u_int16_t   cfg;
+   uint32_trxcfg;
int s;
union {
u_int32_t align_dummy;
@@ -2058,7 +2076,10 @@ re_init(struct ifnet *ifp)
 
CSR_WRITE_1(sc, RL_EARLY_TX_THRESH, 16);
 
-   CSR_WRITE_4(sc, RL_RXCFG, RL_RXCFG_CONFIG);
+   rxcfg = RL_RXCFG_CONFIG;
+   if (sc-rl_flags  RL_FLAG_EARLYOFF)
+   rxcfg |= RL_RXCFG_EARLYOFF;
+   CSR_WRITE_4(sc, RL_RXCFG, rxcfg);
 
/* Program promiscuous mode and multicast filters. */
re_iff(sc);
Index: rtl81x9reg.h
===
RCS file: /cvs/src/sys/dev/ic/rtl81x9reg.h,v
retrieving revision 1.76
diff -u -p -r1.76 rtl81x9reg.h
--- rtl81x9reg.h17 Mar 2013 20:47:23 -  1.76
+++ rtl81x9reg.h3 Aug 2013 13:54:57 -
@@ -186,8 +186,14 @@
 #define RL_HWREV_8105E 0x4080
 #define RL_HWREV_8105E_SPIN1   0x40C0
 #define RL_HWREV_8402  0x4400
+#define RL_HWREV_8106E 0x4480
+#define RL_HWREV_8106E_SPIN1   0x4490
 #define RL_HWREV_8168F 0x4800
 #define RL_HWREV_8411  0x4880
+#define RL_HWREV_8168G 0x4c00
+#define RL_HWREV_8168G_SPIN1   0x4c10
+#define RL_HWREV_8168G_SPIN2   0x5090
+#define RL_HWREV_8168G_SPIN4   0x5c80  
 #define RL_HWREV_8139  0x6000
 #define RL_HWREV_8139A 0x7000
 #define RL_HWREV_8139AG0x7080
@@ -277,6 +283,7 @@
 #define RL_RXCFG_RX_RUNT   0x0010
 

Re: shuttle DS47 - RTL8168 no link / lladdr

2013-10-11 Thread Stuart Henderson
On 2013/10/11 00:23, m...@m021.nl wrote:
 Synopsis:Realtek 8168 ethernet not working
 Category:bugs
 Environment:
   System  : OpenBSD 5.3
   Details : OpenBSD 5.3 (GENERIC.MP) #62: Tue Mar 12 18:21:20 MDT 2013

 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
 
   Architecture: OpenBSD.amd64
   Machine : amd64
 Description:
   OpenBSD does recognize the NIC as Realtek 8168 but the NIC will have
   no valid mac-address and even if set, the NIC won't work.
 How-To-Repeat:
   Install OpenBSD on hardware with the RTL8186 chipset
 Fix:
   Realtek has new drivers available on there website
   (http://www.realtek.com.tw) -- Perhaps someone with the
   knowlage of how to compile and embed them into OpenBSD kernel
   can create a fix for this problem.

you could maybe try this.. it's reduced/converted from a diff at
http://lists.freebsd.org/pipermail/freebsd-current/2013-September/044569.html

Index: re.c
===
RCS file: /cvs/src/sys/dev/ic/re.c,v
retrieving revision 1.144
diff -u -p -r1.144 re.c
--- re.c5 Oct 2013 22:59:57 -   1.144
+++ re.c11 Oct 2013 10:08:03 -
@@ -244,6 +244,7 @@ static const struct re_revision {
{ RL_HWREV_8168DP,  RTL8168DP/8111DP },
{ RL_HWREV_8168E,   RTL8168E/8111E },
{ RL_HWREV_8168E_VL,RTL8168E/8111E-VL },
+   { RL_HWREV_8168G,   RTL8168G/8111G },
{ RL_HWREV_8169,RTL8169 },
{ RL_HWREV_8169_8110SB, RTL8169/8110SB },
{ RL_HWREV_8169_8110SBL, RTL8169SBL },
@@ -896,6 +897,7 @@ re_attach(struct rl_softc *sc, const cha
case RL_HWREV_8169_8110SBL:
case RL_HWREV_8169_8110SCd:
case RL_HWREV_8169_8110SCe:
+   case RL_HWREV_8168G:
sc-rl_flags |= RL_FLAG_PHYWAKE;
/* FALLTHROUGH */
case RL_HWREV_8169:
Index: rtl81x9reg.h
===
RCS file: /cvs/src/sys/dev/ic/rtl81x9reg.h,v
retrieving revision 1.76
diff -u -p -r1.76 rtl81x9reg.h
--- rtl81x9reg.h17 Mar 2013 20:47:23 -  1.76
+++ rtl81x9reg.h11 Oct 2013 10:08:03 -
@@ -188,6 +188,7 @@
 #define RL_HWREV_8402  0x4400
 #define RL_HWREV_8168F 0x4800
 #define RL_HWREV_8411  0x4880
+#define RL_HWREV_8168G 0x4c00
 #define RL_HWREV_8139  0x6000
 #define RL_HWREV_8139A 0x7000
 #define RL_HWREV_8139AG0x7080



Re: shuttle DS47 - RTL8168 no link / lladdr

2013-10-11 Thread Stuart Henderson
On 2013/10/11 11:09, Stuart Henderson wrote:
 On 2013/10/11 00:23, m...@m021.nl wrote:
  Synopsis:  Realtek 8168 ethernet not working
  Category:  bugs
  Environment:
  System  : OpenBSD 5.3
  Details : OpenBSD 5.3 (GENERIC.MP) #62: Tue Mar 12 18:21:20 MDT 2013
   
  dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
  
  Architecture: OpenBSD.amd64
  Machine : amd64
  Description:
  OpenBSD does recognize the NIC as Realtek 8168 but the NIC will have
  no valid mac-address and even if set, the NIC won't work.
  How-To-Repeat:
  Install OpenBSD on hardware with the RTL8186 chipset
  Fix:
  Realtek has new drivers available on there website
  (http://www.realtek.com.tw) -- Perhaps someone with the
  knowlage of how to compile and embed them into OpenBSD kernel
  can create a fix for this problem.
 
 you could maybe try this.. it's reduced/converted from a diff at
 http://lists.freebsd.org/pipermail/freebsd-current/2013-September/044569.html

ignore this and try jsg's diff instead.



Re: shuttle DS47 - RTL8168 no link / lladdr

2013-10-11 Thread Mark
Thanks for the quick reply i'll give it a try next week!


2013/10/11 Stuart Henderson st...@openbsd.org

 On 2013/10/11 11:09, Stuart Henderson wrote:
  On 2013/10/11 00:23, m...@m021.nl wrote:
   Synopsis:  Realtek 8168 ethernet not working
   Category:  bugs
   Environment:
   System  : OpenBSD 5.3
   Details : OpenBSD 5.3 (GENERIC.MP) #62: Tue Mar 12 18:21:20
 MDT 2013
dera...@amd64.openbsd.org:
 /usr/src/sys/arch/amd64/compile/GENERIC.MP
  
   Architecture: OpenBSD.amd64
   Machine : amd64
   Description:
   OpenBSD does recognize the NIC as Realtek 8168 but the NIC will
 have
   no valid mac-address and even if set, the NIC won't work.
   How-To-Repeat:
   Install OpenBSD on hardware with the RTL8186 chipset
   Fix:
   Realtek has new drivers available on there website
   (http://www.realtek.com.tw) -- Perhaps someone with the
   knowlage of how to compile and embed them into OpenBSD kernel
   can create a fix for this problem.
 
  you could maybe try this.. it's reduced/converted from a diff at
 
 http://lists.freebsd.org/pipermail/freebsd-current/2013-September/044569.html

 ignore this and try jsg's diff instead.