Call for testers: re(4) andRTL8168C/RTL8168CP/RTL8111C/RTL8111CP
Pyun YongHyeon
pyunyh at gmail.com
Thu Jul 17 01:50:35 UTC 2008
On Wed, Jul 16, 2008 at 09:45:33AM +0200, Johan Hendriks wrote:
>
>
> >Aan: pyunyh at gmail.com
> >CC: freebsd-current at FreeBSD.org
> >Onderwerp: Re: Call for testers: re(4) >andRTL8168C/RTL8168CP/RTL8111C/RTL8111CP
>
> >On 2008-07-14 03:35, Pyun YongHyeon wrote:
> >> Here is patch for re(4) link handling.
> >> Copy if_re.c and if_rlreg.h from HEAD to RELENG_7 and apply
> >> attached one. If you still see watchdog timeouts, please turn off
> >> TSO and let me know how it goes.
>
> >I've tested this trough several reboots, and I haven't been bitten by
> >any watchdogs yet. :) I'll run some stress tests today, to see if it
> >handles that too.
>
>
> >> One user reported TSO issues on 8169 family controllers but I
> >> can't reproduce this on my 8169 hardware so it could be related
> >> with silicon bug of sepecific revision of the hardware.
>
> >I'm using re's default settings, which seem to be:
>
> >re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >options=399b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_UCA>ST,WOL_MCAST,WOL_MAGIC>
>
> >So TSO for IPv4 but not IPv6, right? I haven't yet seen any problems
> >because of it. What would be a good way to "exercise" TSO?
>
>
> I had a re(4) card that did crash 7-stable now i cvsuped to 15-07-2008 and did a rebuild
>
> The system is now in "production" and I see the following in /var/log/messages.
>
> Jul 15 18:24:40 intranet kernel: re0: watchdog timeout
> Jul 15 18:24:40 intranet kernel: re0: link state changed to DOWN
> Jul 15 18:24:43 intranet kernel: re0: link state changed to UP
> Jul 15 19:28:03 intranet ntpd[883]: kernel time sync enabled 6001
> Jul 15 19:45:08 intranet ntpd[883]: kernel time sync enabled 2001
> Jul 15 20:04:41 intranet kernel: re0: watchdog timeout
> Jul 15 20:04:41 intranet kernel: re0: link state changed to DOWN
> Jul 15 20:04:43 intranet kernel: re0: link state changed to UP
> Jul 15 21:14:40 intranet kernel: re0: watchdog timeout
> Jul 15 21:14:40 intranet kernel: re0: link state changed to DOWN
> Jul 15 21:14:43 intranet kernel: re0: link state changed to UP
> Jul 15 21:19:41 intranet kernel: re0: watchdog timeout
> Jul 15 21:19:41 intranet kernel: re0: link state changed to DOWN
> Jul 15 21:19:43 intranet kernel: re0: link state changed to UP
> Jul 15 21:24:40 intranet kernel: re0: watchdog timeout
> Jul 15 21:24:40 intranet kernel: re0: link state changed to DOWN
> Jul 15 21:24:43 intranet kernel: re0: link state changed to UP
> Jul 15 22:14:40 intranet kernel: re0: watchdog timeout
> Jul 15 22:14:40 intranet kernel: re0: link state changed to DOWN
> Jul 15 22:14:43 intranet kernel: re0: link state changed to UP
> Jul 16 03:20:53 intranet kernel: re0: watchdog timeout
> Jul 16 03:20:53 intranet kernel: re0: link state changed to DOWN
> Jul 16 03:20:56 intranet kernel: re0: link state changed to UP
> Jul 16 03:24:41 intranet kernel: re0: watchdog timeout
> Jul 16 03:24:41 intranet kernel: re0: link state changed to DOWN
> Jul 16 03:24:43 intranet kernel: re0: link state changed to UP
> Jul 16 03:25:53 intranet kernel: re0: watchdog timeout
> Jul 16 03:25:53 intranet kernel: re0: link state changed to DOWN
> Jul 16 03:25:56 intranet kernel: re0: link state changed to UP
> Jul 16 03:44:40 intranet kernel: re0: watchdog timeout
> Jul 16 03:44:40 intranet kernel: re0: link state changed to DOWN
> Jul 16 03:44:43 intranet kernel: re0: link state changed to UP
> Jul 16 04:23:32 intranet ntpd[883]: kernel time sync enabled 6001
> Jul 16 04:40:38 intranet ntpd[883]: kernel time sync enabled 2001
> Jul 16 05:19:41 intranet kernel: re0: watchdog timeout
> Jul 16 05:19:41 intranet kernel: re0: link state changed to DOWN
> Jul 16 05:19:44 intranet kernel: re0: link state changed to UP
> Jul 16 06:19:40 intranet kernel: re0: watchdog timeout
> Jul 16 06:19:40 intranet kernel: re0: link state changed to DOWN
> Jul 16 06:19:43 intranet kernel: re0: link state changed to UP
> Jul 16 08:14:40 intranet kernel: re0: watchdog timeout
> Jul 16 08:14:40 intranet kernel: re0: link state changed to DOWN
> Jul 16 08:14:43 intranet kernel: re0: link state changed to UP
> Jul 16 08:44:41 intranet kernel: re0: watchdog timeout
> Jul 16 08:44:41 intranet kernel: re0: link state changed to DOWN
> Jul 16 08:44:44 intranet kernel: re0: link state changed to UP
>
> It is a small intranet webserver and does cacti and nagios things and mirror cvs for the other machines.
>
> #pciconf -lv
> re0 at pci0:2:0:0: class=0x020000 card=0x2a73103c chip=0x816810ec rev=0x02 hdr=0x00
> vendor = 'Realtek Semiconductor'
> device = 'RTL8168/8111 PCI-E Gigabit Ethernet NIC'
> class = network
> subclass = Ethernet
>
> # dmesg
> re0: <RealTek 8168/8168B/8168C/8168CP/8111B/8111C/8111CP PCIe Gigabit Ethernet> port 0xe800-0xe8ff mem 0xfebff000-0xfebfffff,0xfdff0000-0xfdffffff irq 18 at device 0.0 on pci2
> re0: Chip rev. 0x3c000000
It's RealTek 8139C controller.
> re0: MAC rev. 0x00200000
> miibus0: <MII bus> on re0
> rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
> rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> re0: Ethernet address: 00:1e:0b:a7:cc:38
> re0: [FILTER]
>
> It also not always load ok on a reboot !
> Sometimes it complains about something with PHY
I know this issue on second generation of PCIe controllers but have
no clue yet. I vaguely guess it's related with power-saving or
initial hardware reset related stuff.
> A reboot than fix this and loads the re0 driver.
>
It would be even better if you can try patch I posted earlier in
this thread.
--
Regards,
Pyun YongHyeon
More information about the freebsd-current
mailing list