Truenas 12 and Realtek - Updating Your Driver to 1.96 to Prevent "re0 watchdog timeout"

2dfx

Cadet
Joined
Nov 16, 2020
Messages
4
Didn't see a new and up to date post for this once common issue so I figured I would make one. Apologies if this is the wrong forum for this tip.

Upon upgrading from FreeNAS 11.3-U5 to TrueNAS Core 12, I had discovered that my NAS would randomly drop off of the network and I was paranoid I had messed something up in the upgrade process. When combing through logs, I had found out that my old nemesis had come back to bite me.

The dreaded "re0 - watchdog timeout".

Despite following this guide for FreeNAS 11 it seems that after my upgrade TrueNAS was ignoring my system tunable and not loading the 1.95 driver. After searching the web looking for an answer to a hot off the press answer to this question, I was greeted with a familiar response "just put in an Intel card". What a waste of onboard silicon - especially when it was just working fine prior to the upgrade. Seems like even in TrueNAS 12 it is still reverting to the included buggy driver originally supplied by Realtek.

I went to Realtek's website to download the newest driver at the time of this post - 1.96. I compiled the driver and deleted and re-added it. Goodbye watchdog timeouts, hello stable operation!

I have attached the amd64 architecture driver in this post. For those new to TrueNAS and Realtek - here's how to add:

1. Login to your TrueNAS box with elevation. Extract the rar from this post and copy
Code:
if_re.ko
to
Code:
/boot/kernel

2. Apply the correct permissions to your newly copied file with
Code:
chmod 555 /boot/kernel/if_re.ko

3. Login to FreeNAS Web UI, add and save the following tunable under System > Tunables to load the new driver during next boot

variable = if_re_load
value = YES
Type = loader
Comment = Realtek 1.96 Driver Load
Enabled = “checked”

4. Reboot your NAS

When finished, you should be able to see if the driver has loaded by issuing this command in the shell
Code:
dmesg | grep 're0'
which should return a similar result:
realtek.PNG


The version string tells us the driver has been loaded successfully. Hope this helps!
 
Last edited by a moderator:

ThreeDee

Guru
Joined
Jun 13, 2013
Messages
700
I run a Chinese knock off mobo with onboard Realtek NIC .. I "just threw an intel" NIC into it, but maybe I'll give this a go and see what happens :cool:

Thanks!
 

The Presence

Cadet
Joined
Nov 17, 2020
Messages
8
I am using a realtek onboard as well, but haven't been having issues with the standard install:

Code:
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0xf000-0xf0ff mem 0xfc904000-0xfc904fff,0xfc900000-0xfc903fff irq 29 at device 0.0 on pci5


I do see watchdog timeouts, but not very recurrent.

Code:
Nov 16 22:09:49 truenas kernel: re0: watchdog timeout
Nov 16 22:33:49 truenas kernel: re0: watchdog timeout
Nov 16 22:53:54 truenas amdsbwd0: watchdog hardware is disabled
Nov 16 23:08:58 truenas amdsbwd0: watchdog hardware is disabled
 

Borja Marcos

Contributor
Joined
Nov 24, 2014
Messages
125
Sorry to be blunt, but trying to use a Realtek Ethernet interface for serious purposes is like setting up a ZFS pool with floppy disks ;)

It might seem to work but it will bite hard at the worst possible moment!

(Now it would be a great April Fools' joke, ZFS adding support for floppy disks!)
 

NicJak

Cadet
Joined
Jun 16, 2020
Messages
9
I downloaded the attached file and interrupted the unzipping when reaching 116GB. I fear this user placed a zip-bomb onto this post. If someone could please verify this and if confirmed, take according action.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
The archive has been deleted.
 

jblackburn

Dabbler
Joined
Jul 1, 2012
Messages
13
I believe this has been fixed in FreeNAS 12-U4 but you have to set a tunable. Set this in the FreeNAS UI:

1626018305512.png


and you should see in dmesg the new realtek driver being used:
re0: <Realtek PCIe GbE Family Controller> port 0xe000-0xe0ff mem 0xfc704000-0xfc704fff,0xfc700000-0xfc703fff at device 0.0 on pci4
re0: version:1.96.04


I've been load testing with iperf since and have had no watchdog resets since.

Related links:
https://github.com/truenas/ports/pull/999
 

SKova

Dabbler
Joined
Dec 12, 2019
Messages
12
I was having this issue on 12-U5 when copying a large amount of files to the NAS. It had to be restarted 3 times. Once I added the variables referenced above by @jblackburn, it worked perfectly. In short, it has been fixed, you need to add the tunables and restart.
 

Vidica

Cadet
Joined
Dec 4, 2021
Messages
1
I managed to install the driver but my NIC still runs at 100mbit.
dmesg grep 're0'.png


I tried media 1000baseTX mediaopt full-duplex in the options of the interface but it doesn't work. Before it would lose connection, now it doesn't. I made sure that it isn't the cable or the switch.
ifconfig.png

Interface.png
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I hate to be that guy, but there's a reason why the Realtek name is not popular in server circles. The damned RTL8111 series has been around for 17 years and it still is not reliable. It's not even a matter of how well it performs (terribly, but masked by modern CPUs), it is quite simply an unreliable piece of crap. There's an entire alphabet soup of variants (what's the difference between an RTL8111E and an RTL 8111DL or an RTL8111H or an RTL8111L or ...) and probably revisions of each of them.
 

sirforce

Cadet
Joined
Oct 11, 2022
Messages
3
Found I had this very issue with Watchdog and the realtek nic - the two specific tunables added to the /boot/loader.conf fixed this issue for me!
 
Top