A few weeks ago my Internet started to have problems. The connection was dropping every 2-3 days and it couldn’t recover itself . The simpler solution found was to reset the pfSense Firewall.

At the beginning I thought that is only an isolated case but the problem seemed to become something permanent. So I decided to spend some time to check and try to fix this issue.

Step one – Check Error

So in order to check the issue, we have to ssh to the pfSense and then start shell with option 8. My network interface is called re0. You will get this information once connected to ssh.

After that, run the command bellow to check the issue:

dmesg | grep re0 | more

As you can see, we found the error is – re0: watchdog timeout and we also noticed that the interface is going up and down. If you ping the IP address of the interface 192.168.1.1, you will get a response, but if you ping another host on this network, you will get a request timed out.

As I mentioned, the simpler, but temporary solution is to reboot pfSense. After reboot, everything is back to normal. I found that I can reproduce the error if I’m running a speed test. Download test is working fine, but at the upload test you will get this error and the pfsense stops working again.

For the permanent solution we need some more patience.

Step two – Check NIC (Network Interface Card) and find a driver

The next step would be to check the NIC and see what chipset it has. If we issue this command, we’ll get what we need:

pciconf -lv

So it seems we are having a RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller.
On the Netgate forum I found a post with info about the Realtek driver. You can download the new driver from here using this command:

curl https://forum.netgate.com/assets/uploads/files/1537813753467-if_re.zip -o if_re.zip

Step three – install driver

After downloading the driver, unzip the archive, change the permissions and copy it to /boot/kernel.

Step four – update /boot/loader.conf

In this step, we have to add the line if_re_load=”YES” in /boot/loader.conf file.

Step five – reboot pfSense

We’ve finished doing all the configurations, now we can reboot the firewall.

Step six – check if fix applied works

After reboot, I’m checking if Realtek driver was properly loading. This looks good.

Now run a new speed test on the web interface and check if the issue is gone. The test went successfully, the interface re0 is still up. Good job!

Conclusion

I started to have this issue only after my Internet provider changed the cable modem. My Internet speed should have a speed up to 200 Mbps, but before changing the modem I was only reaching 70-80Mbps.
Now, after changing the modem I finally could reach 210-220Mbps. This was the point when pfSense started to have problems.

So if your Internet is running with speeds over 200Mbps, it’s possible to notice that problem. The solution applied seems to work very good for me, I didn’t have any more issues in the last 5 days.

Share:

4 comments

  1. Thanks for this guide, it helped me fix my pfsense box with the same problem! My only suggestion is in step four you should remove the word “set” from the instructions, just add if_re_load=”YES” like the picture shows.

    1. I’m glad that it helped you.
      Thanks for the hint, I removed set from the text. It was ideed an error.

  2. Thank you. I have the same issue showed here, and I hadn’t linked this issue with the change of bandwidth but it is true, it started exactly when we updated our speed over 200Mb. Looking answer to this issue I found in OPN forum a similar solution, they recomend to install the plugin os-realtek-re , it makes exactly the same steps detailed here only that you don’t need access to ssh console, you can do it directly from Web GUI in only one step [System][Firmware][Plugins].

    https://github.com/opnsense/src/issues/155#issuecomment-1052258785

Leave a Reply

Your email address will not be published. Required fields are marked *