Re: FreeBSD keep loosing ethernet connection

From: Pete Wright <pete_at_nomadlogic.org>
Date: Thu, 08 Dec 2022 00:58:00 UTC

On 12/7/22 16:21, iio7@tutanota.com wrote:
> I have recently changed one of my long running boxes from Arch Linux
> to FreeBSD 13.1, after which I see this in the log during file transfers:
>
> <snip>
> Dec  8 01:01:41 foo kernel: re0: watchdog timeout
> Dec  8 01:01:41 foo kernel: re0: link state changed to DOWN
> Dec  8 01:01:45 foo kernel: re0: link state changed to UP
> Dec  8 01:01:51 foo kernel: re0: watchdog timeout
> Dec  8 01:01:51 foo kernel: re0: link state changed to DOWN
> Dec  8 01:01:55 foo kernel: re0: link state changed to UP
> Dec  8 01:02:02 foo kernel: re0: watchdog timeout
> Dec  8 01:02:02 foo kernel: re0: link state changed to DOWN
> Dec  8 01:02:06 foo kernel: re0: link state changed to UP
> Dec  8 01:02:18 foo kernel: re0: watchdog timeout
> Dec  8 01:02:18 foo kernel: re0: link state changed to DOWN
> Dec  8 01:02:22 foo kernel: re0: link state changed to UP
> Dec  8 01:02:30 foo kernel: re0: watchdog timeout
> Dec  8 01:02:30 foo kernel: re0: link state changed to DOWN
> Dec  8 01:02:34 foo kernel: re0: link state changed to UP
> Dec  8 01:02:45 foo kernel: re0: watchdog timeout
> Dec  8 01:02:45 foo kernel: re0: link state changed to DOWN
> Dec  8 01:02:49 foo kernel: re0: link state changed to UP
> Dec  8 01:03:01 foo kernel: re0: watchdog timeout
> Dec  8 01:03:01 foo kernel: re0: link state changed to DOWN
> Dec  8 01:03:05 foo kernel: re0: link state changed to UP
> Dec  8 01:03:14 foo kernel: re0: watchdog timeout
> Dec  8 01:03:14 foo kernel: re0: link state changed to DOWN
> Dec  8 01:03:18 foo kernel: re0: link state changed to UP
> Dec  8 01:03:26 foo kernel: re0: watchdog timeout
> Dec  8 01:03:26 foo kernel: re0: link state changed to DOWN
> Dec  8 01:03:30 foo kernel: re0: link state changed to UP
> Dec  8 01:03:47 foo kernel: re0: watchdog timeout
> Dec  8 01:03:47 foo kernel: re0: link state changed to DOWN
> Dec  8 01:03:51 foo kernel: re0: link state changed to UP
> Dec  8 01:03:57 foo kernel: re0: watchdog timeout
> Dec  8 01:03:57 foo kernel: re0: link state changed to DOWN
> Dec  8 01:04:01 foo kernel: re0: link state changed to UP
> Dec  8 01:04:31 foo kernel: re0: watchdog timeout
> Dec  8 01:04:31 foo kernel: re0: link state changed to DOWN
> Dec  8 01:04:35 foo kernel: re0: link state changed to UP
> Dec  8 01:05:09 foo kernel: re0: watchdog timeout
> Dec  8 01:05:09 foo kernel: re0: link state changed to DOWN
> Dec  8 01:05:13 foo kernel: re0: link state changed to UP
> Dec  8 01:13:39 foo kernel: re0: watchdog timeout
> Dec  8 01:13:39 foo kernel: re0: link state changed to DOWN
> Dec  8 01:13:41 foo kernel: .
> Dec  8 01:13:42 foo kernel: , 52791.
> Dec  8 01:13:43 foo kernel:
> Dec  8 01:13:43 foo kernel: re0: link state changed to UP
> Dec  8 01:13:44 foo kernel: .
> </snip>
>
> During which I eventually loose connection completely and have to
>   manually reboot the box.
>
> When I run Linux on the box all runs well, so I don't suspect the
> ethernet card.
>
> The card is setup with a static IP address:
>
> ifconfig_re0="inet 192.168.1.3/24"
>
> So it really should NOT change the state like this.
>
> Any advice?

You probably want to use the realtek module from ports/pkgs versus the 
stock re(4) driver.  that's just a guess though, it would be helpful if 
you could post what the actual chip is either via dmesg or pciconf.

I have this device, and using the realtek-re-kmod pkg (pkg install 
realtek-re-kmod) works well on my system:
<RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet>

Cheers,
-pete

-- 
Pete Wright
pete@nomadlogic.org
@nomadlogicLA