Date: Wed, 25 Sep 2013 15:36:10 +0900 From: Yonghyeon PYUN <pyunyh@gmail.com> To: Thomas Mueller <mueller6724@bellsouth.net> Cc: freebsd-stable@freebsd.org Subject: Re: dhclient failure with Realtek 8111E Etnernet on new MSI motherboard Message-ID: <20130925063610.GA1507@michelle.cdnetworks.com> In-Reply-To: <FD.82.01446.8D25F325@cdptpa-oedge02> References: <FD.82.01446.8D25F325@cdptpa-oedge02>
next in thread | previous in thread | raw e-mail | index | archive | help
--fdj2RfSjLxBAspz7
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Sun, Sep 22, 2013 at 08:28:08PM +0000, Thomas Mueller wrote:
> I've been unable to establish Internet connection from a new computer with Realtek 811E Ethernet despite this Ethernet chip working on another computer with another MSI motherboard.
>
> Problem motherboard is MSI Z77 MPOWER.
>
> Older, by two years, motherboard is MSI Z68MA-ED55(B3).
>
> uname -a shows
>
> FreeBSD amelia2 9.2-PRERELEASE FreeBSD 9.2-PRERELEASE #17 r254196: Sun Aug 11 00:36:49 UTC 2013 root@amelia2:/usr/obj/usr/src/sys/SANDY amd64
>
> I get the same problem with FreeBSD 9.1_STABLE i386.
>
> These are USB-stick installations.
>
> I was able to connect to the Internet with (MSI) Winki 3 (Linux-based), included on a DVD included in the motherboard package.
>
> After nothing but frustration trying to boot USB-stick installations of NetBSD 6.1-STABLE and HEAD (i386), I successfully booted NetBSD-HEAD amd64 from early last May, and "dhclient re0" was successful, whereupon I downloaded, by cvs, the HEAD source tree and pkgsrc tree.
>
> This proves or strongly suggests the Ethernet chip is healthy.
>
> Anything I can do (at loader prompt or loader.conf?) to make this Ethernet work in FreeBSD?
>
> I could update NetBSD-HEAD from source, update the packages through pkgsrc, and build subversion, then checkout the FreeBSD-HEAD source tree, ports and doc trees too, and build FreeBSD-HEAD from source on hard drive using USB-stick installation of FreeBSD 9.2 (prerelease or release).
>
> Related part of /var/run/dmesg.boot is
>
> re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet> port 0xe000-0xe0f
> f mem 0xf7d04000-0xf7d04fff,0xf7d00000-0xf7d03fff irq 17 at device 0.0 on pci2
> re0: Using 1 MSI-X message
> re0: Chip rev. 0x2c800000
> re0: MAC rev. 0x00000000
It looks like 8168E-VL.
Could you try attached patch and show me the dmesg output(re(4) and
rgephy(4) only)? The patch was generated to support 8106E but it
will correctly show MAC revision number.
> miibus0: <MII bus> on re0
> rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
> rgephy0: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX
> , 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-
> master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
> re0: Ethernet address: d4:3d:7e:97:17:e2
>
>
> Log of "dhclient re0" was
>
> DHCPDISCOVER on re0 to 255.255.255.255 port 67 interval 3
> DHCPDISCOVER on re0 to 255.255.255.255 port 67 interval 3
> DHCPOFFER from 192.168.1.1
Driver got a response but it seems it was discarded.
> DHCPREQUEST on re0 to 255.255.255.255 port 67
> DHCPREQUEST on re0 to 255.255.255.255 port 67
> DHCPDISCOVER on re0 to 255.255.255.255 port 67 interval 6
> DHCPDISCOVER on re0 to 255.255.255.255 port 67 interval 13
> DHCPDISCOVER on re0 to 255.255.255.255 port 67 interval 14
> DHCPDISCOVER on re0 to 255.255.255.255 port 67 interval 17
> DHCPDISCOVER on re0 to 255.255.255.255 port 67 interval 11
> No DHCPOFFERS received.
> No working leases in persistent database - sleeping.
>
>
> Somewhat later I got
>
> Memory modified after free 0xfffffe0011546800(2048) val=977e3dd
> 4 @ 0xfffffe0011546800
> Memory modified after free 0xfffffe001153b800(2048) val=ffffffff @ 0xfffffe00115
> 3b800
> Memory modified after free 0xfffffe0011524800(2048) val=977e3dd4 @ 0xfffffe00115
> 24800
> VESA: set_mode(): 24(18) -> 24(18)
> Memory modified after free 0xfffffe0011594000(2048) val=977e3dd4 @ 0xfffffe00115
> 94000
>
The size(2048) indicates mbuf cluster which in turn means bad
things happened in re(4). I have no idea how this can happen
though.
If you assign static IP addressi to re(4), does the driver works as
expected?
>
> In one case, when I went to bed on this, hours later the system crashed and went into the debugger (db>), where I was rather lost, couldn't kill dhclient, after some time types "reboot".
>
> Should I have posted this to a different list (hardware, questions?)?
>
> I would like to find if FreeBSD HEAD (10.0 alphas) would do better. Also, because of nearness of 10.0-RELEASE, I would rather go this track than 9.2 and then update; I already have 9.2 prerelease on other computer.
>
> Motherboard also has Atheros Wi-Fi (Atheros AR9271 802.11n), and I also have a USB stick-type WLAN adapter (Hiro Inc H50191, Realtek RTL8191SU 802.11n chip).
>
> Tom
--fdj2RfSjLxBAspz7
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="re.8106.diff"
Index: sys/dev/re/if_re.c
===================================================================
--- sys/dev/re/if_re.c (revision 255757)
+++ sys/dev/re/if_re.c (working copy)
@@ -223,6 +223,7 @@
{ RL_HWREV_8402, RL_8169, "8402", RL_MTU },
{ RL_HWREV_8105E, RL_8169, "8105E", RL_MTU },
{ RL_HWREV_8105E_SPIN1, RL_8169, "8105E", RL_MTU },
+ { RL_HWREV_8106E, RL_8169, "8106E", RL_MTU },
{ RL_HWREV_8168B_SPIN2, RL_8169, "8168", RL_JUMBO_MTU },
{ RL_HWREV_8168B_SPIN3, RL_8169, "8168", RL_JUMBO_MTU },
{ RL_HWREV_8168C, RL_8169, "8168C/8111C", RL_JUMBO_MTU_6K },
@@ -1367,10 +1368,11 @@
break;
default:
device_printf(dev, "Chip rev. 0x%08x\n", hwrev & 0x7c800000);
+ sc->rl_macrev = hwrev & 0x00700000;
hwrev &= RL_TXCFG_HWREV;
break;
}
- device_printf(dev, "MAC rev. 0x%08x\n", hwrev & 0x00700000);
+ device_printf(dev, "MAC rev. 0x%08x\n", sc->rl_macrev);
while (hw_rev->rl_desc != NULL) {
if (hw_rev->rl_rev == hwrev) {
sc->rl_type = hw_rev->rl_type;
@@ -1408,6 +1410,7 @@
case RL_HWREV_8401E:
case RL_HWREV_8105E:
case RL_HWREV_8105E_SPIN1:
+ case RL_HWREV_8106E:
sc->rl_flags |= RL_FLAG_PHYWAKE | RL_FLAG_PHYWAKE_PM |
RL_FLAG_PAR | RL_FLAG_DESCV2 | RL_FLAG_MACSTAT |
RL_FLAG_FASTETHER | RL_FLAG_CMDSTOP | RL_FLAG_AUTOPAD;
@@ -1429,7 +1432,7 @@
sc->rl_flags |= RL_FLAG_MACSLEEP;
/* FALLTHROUGH */
case RL_HWREV_8168C:
- if ((hwrev & 0x00700000) == 0x00200000)
+ if (sc->rl_macrev == 0x00200000)
sc->rl_flags |= RL_FLAG_MACSLEEP;
/* FALLTHROUGH */
case RL_HWREV_8168CP:
Index: sys/pci/if_rlreg.h
===================================================================
--- sys/pci/if_rlreg.h (revision 255757)
+++ sys/pci/if_rlreg.h (working copy)
@@ -189,6 +189,7 @@
#define RL_HWREV_8105E 0x40800000
#define RL_HWREV_8105E_SPIN1 0x40C00000
#define RL_HWREV_8402 0x44000000
+#define RL_HWREV_8106E 0x44800000
#define RL_HWREV_8168F 0x48000000
#define RL_HWREV_8411 0x48800000
#define RL_HWREV_8139 0x60000000
@@ -877,6 +878,7 @@
bus_dma_tag_t rl_parent_tag;
uint8_t rl_type;
const struct rl_hwrev *rl_hwrev;
+ uint32_t rl_macrev;
int rl_eecmd_read;
int rl_eewidth;
int rl_expcap;
--fdj2RfSjLxBAspz7--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130925063610.GA1507>
