Re: Call for testers: re(4) andRTL8168C/RTL8168CP/RTL8111C/RTL8111CP

From: Pyun YongHyeon <pyunyh_at_gmail.com>
Date: Thu, 17 Jul 2008 10:48:18 +0900
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
Received on Wed Jul 16 2008 - 23:50:35 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:32 UTC