Hi Marius, I finally got my RT 8168 Ethernet Card (Zotac Ri323) working after patching if_re.c (r295601). Contrary to the assumption that HWREV_8168E_VL with Chip Rev 0x2c800000 should not require RTL8168G handling as soon as I expand the sc->rl_flags for the respective HWREV and define the (ominous) 8168G_Plus Flag for RL_HWREV_8168E_VL the card is functioning correctly. /usr/src/sys/dev/re # svn diff if_re.c Index: if_re.c =================================================================== --- if_re.c (revision 295601) +++ if_re.c (working copy) _at__at_ -1473,6 +1473,8 _at__at_ RL_FLAG_WOL_MANLINK; break; case RL_HWREV_8168E_VL: + sc->rl_flags |= RL_FLAG_8168G_PLUS; + /* FALLTHROUGH */ case RL_HWREV_8168F: sc->rl_flags |= RL_FLAG_EARLYOFF; /* FALLTHROUGH */ My system: FreeBSD kartal.net.hayat 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r295601: Sat Feb 13 19:11:05 CET 2016 root_at_kartal.net.hayat:/usr/obj/usr/src/sys/KARTAL amd64 When broken (without the patch) I got the following tcpdump output: 19:18:46.299360 00:00:00:00:00:00 (oui Ethernet) > 00:00:00:00:00:00 (oui Ethernet) Null Information, send seq 0, rcv seq 0, Flags [Command], length 84 Regards, Stefan Gesendet: Freitag, 05. Februar 2016 um 22:29 Uhr Von: "Marius Strobl" <marius_at_alchemy.franken.de> An: s.o.k_at_web.de Cc: pyunyh_at_gmail.com, freebsd-current_at_freebsd.org Betreff: Re: Re: Realtek 8168/8111 if_re not working in current r295091 On Fri, Feb 05, 2016 at 09:04:02PM +0100, s.o.k_at_web.de wrote: > Hi Marius and Pyun, > > actually it is Chip rev. 0x2c800000 (I have overlooked that information in my first post) > > re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0xe000-0xe0ff mem 0xf0104000-0xf0104fff,0xf0100000-0xf0103fff irq 19 at device 0.0 on pci2 > re0: Using 1 MSI-X message > re0: turning off MSI enable bit. > re0: Chip rev. 0x2c800000 > re0: MAC rev. 0x00100000 > miibus0: <MII bus> on re0 > rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0 > > Does that help in any way? Thanks Stefan > Unfortunately, it doesn't make a whole lot of sense to me; 0x2c800000 translates to RL_HWREV_8168E_VL, which is an older chip that should never have required the handling of RTL8168G and later revisions (or may not actually work when applying it). So r290566 should only make a positive difference, if it changes anyting for that revision all. Did the interface work before r290151, or actually before r281337? Does reverting r290946 and r290566 locally make it work again? Another candidate causing that breakage would be r291676 if the PHY is an RTL8211F one. If you boot verbosely, you'll have a line in the dmesg(8) output with "OUI 0x00e04c" in it. If the "rev." number in that line is 6, you have an RTL8211F. Marius _______________________________________________ freebsd-current_at_freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"Received on Sat Feb 13 2016 - 19:21:23 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:02 UTC