How to Install Best Realtek Network Drivers for pfSense

Apparently, there's no need anymore to bother and maually compile network interface drivers for your pfSense router which happens to have Network Interface Chips by Realtek.

If you haven't updated yet to the latest pfSense 2.5.0 stable version, please do so . In fact, the drivers are now officially included in a package of FreeBSD which is the operating system that pfSense is built on.

Introduction

From my experience while running my own Homelab and still being involved in the Reddit community for many years on that particular topic.

People have always suffered from Realtek Network Interface Chips because of the poor kernel driver support provided by default on the FreeBSD operating system. Thus, everyone was facing stability issues, and at worst it's leading the ethernet link to be completely out of commission, it's basically unreal.

Meanwhile, the Homelab Community has always been trying to fix the issue, mostly by telling users to manually compile Realtek Drivers which replaces the default buggy and instable ones.

Alright, so the FreeBSD distribution maintainers now provide that solution by default on the system, that's making it much more convenient for users to install a simple package including the compiled drivers, and we can now count them responsible for updates, maintainance and combatibility.

FreeBSD Realtek Network Driver Stability Issueus

Indeed, the default Realtek Network Drivers that are provided by default on the FreeBSD kernel space is a living hell that's causing all sorts of issues! Let me state the some points showing how broken they are:

  1. When the ethernet link is under load, it doesn’t respond to the software watchdog in time, and thus it resets with a timeout.
  2. Ethernet interfaces go down and up in a sudden for no reason.
  3. You cannot get maximum speed out of the Gigibit link bus.
  4. Realtek Network Chips by default are difinitely unusable on pfSense.

That's it! Feel free to contribute more in the comment section. Basically, in this tutorial we're going to shift the driver all the way from Kernel Space to be replaced with an User Space module.

Install Official Realtek Network Interface Driver

Here we go, navigate to the command line of any client on the network, please make sure that you know the IP address of the target pfSense router device which is 172.16.1.1 in my case.

If you do not have any client that can run command line shell, you can use Putty SSH Client for Windows instead.

Installation

Now, we need to SSH into the FreeBSD operating system that's running pfSense, here's how.

ssh admin@172.16.1.1

Just enter the password that you use for pfSense web control panel, when authenticated successfully make sure to input number 8 into the dialog so that we can access the shell.

We can now tell the package manager on FreeBSD to install the package for us.

pkg install realtek-re-kmod

Just in case, when it asks for confirmation just input y for "yes" and be done with it.

Configuration

Well, I am going to recommend using the web control panel of pfSense instead of the command line for this one, just because it's much easier to use the text editor on gui than command line.

From the browser address bar, navigate to 172.168.1.1 which is serving the web control panel for pfSense in my case.

Okay, now just login and from the menu above navigate to Diagnostics > Edit File and enter /boot/loader.conf.local as the path for the file and then click on "Load" so that we can work on it.

There should be a square dialog below we're going to tell pfSense to use the newly installed drivers instead, make sure to input the following:

if_re_load="YES"
if_re_name="/boot/modules/if_re.ko"

The final step to finish the configuration process is through clicking on that "Save" button. Now, reboot your pfSense router device which can be done from the menu Diagnostics > Reboot > Submit or the physical hardware button if you prefer.

Confirmation

After reboot, verify if module is installed through SSH again with the "kldstat" command as shown below.

kldstat

Output:

Id Refs Address                Size Name
 1   10 0xffffffff80200000  3aea538 kernel
 2    1 0xffffffff83cec000   11e230 if_re.ko
 3    1 0xffffffff84111000     1000 cpuctl.ko
 4    1 0xffffffff84112000     8cd0 aesni.ko
 5    1 0xffffffff8411b000      b28 coretemp.ko

Simply, if you can find if_re.ko in the output, it means the newly released Realtek Network Drivers for FreeBSD are properly installed and working as intended.

Speak Your Mind

Connect

If you like our content, please consider buying us a coffee.
Thank you for your support!

Explore

Discussion