Updated Realtek NIC drivers missing in PfSense 2.6.0
-
@rk0 can you point me to the manual steps you reference in this post to update Realtek drivers? I can't seem to find it. I recently bought a mini pc that as Realtek NICs. I am having the same problem other users are describing. Please point me to the manual steps.
-
@tgdsilva this info I copied and edited from my post at https://forum.netgate.com/topic/166746/realtek-re-kmod-missing-in-pfsense-2-6-repository/29?_=1669636929416
I did a total PfSense reload/reformat of my Lenovo ThinkCentre M90n IoT system with version 2.6.0.
No errors on any adapters after I updated the Realtek drivers per the procedure below.
First, I made sure the BIOS level of the system was at the most current release per the Lenovo support site at pcsupport.lenovo.com. The system BIOS settings were put into pure UEFI mode, CSM enabled, Secure Boot disabled. I also disabled wifi on the M90n (PfSense can't "understand" the built in wifi card, and I have AP's anyway), disabled the serial ports on the unit, and set it to return to last power state if the power goes out. The file system was installed "fresh"...the ZFS file system and PfSense version 2.6.0, since ZFS will be the default file system going forward.
It took the backup XML file restore settings from my 2.5.2 installation with no issues.
I used SSH to log in and open a command prompt as admin.
I then issued the commands to download the revised Realtek drivers from freebsd
fetch -v https://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/realtek-re-kmod-197.00.pkg pkg install -f -y realtek-re-kmod-197.00.pkg
I then loaded nano...just because it is easier than vi
pkg install nano
I then created a /boot/loader.conf.local file with the entries
if_re_load="YES" if_re_name="/boot/modules/if_re.ko"
...and then rebooted the system
Logged back in after the reboot, disabled ssh, and looked for errors....
There were none.
-
You can just use pkg add dircetly:
pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/realtek-re-kmod-197.00.pkg
You can append those lines with echo:
echo 'if_re_load="YES"' >> /boot/loader.conf.local echo 'if_re_name="/boot/modules/if_re.ko"' >> /boot/loader.conf.local
Check the boot logs for the new driver version.
Steve
-
@rk0 Thank you very much for your detailed reply. I was able to follow and install the new drivers!
-
@stephenw10 Thank you very much for these instructions. They make it very quick and easy!
-
@stephenw10 Thanks for the details, I also followed the instructions and the install worked with our PFSense box.
However, the newer driver borked the re0: WAN pppoe0 interface, which according to the kernel logs is a RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet add-in card. The connection came up, but it didn't stay up.
The re1: LAN interface (RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet) built-in port seemed to still work fine.
As soon as I went back to the native FreeBSD driver, all was well again. Might there be a problem with different Realtek controllers on the same PFSense install? Would trying a slightly older version of the driver be any value?
Edit: Just saw above that the 8169 chipset is not supported by the 197 driver. Well, ain't that just grand...
-
Hmm, well it must support it to some extent since it did attach and come up initially.
At least it's an add-in card so you can replace it.
Steve
-
@stephenw10 True. But that entire box is meant to be a temporary replacement, until we can find another small low-power PC to take over running PFSense. Are Intel controllers preferable to Realtek ones, or is that no longer an issue?
-
Yes, Intel NICs are almost always preferred.
-
@stephenw10 Okay. Last question, I promise.
Our previous PFSense box has Intel NICs, but we were getting watchdog timeouts on it. Is there an update to the Intel drivers that are as easy to install as the Realtek ones? -
No but the Intel NICs do not hang in the same way when seeing errors like that. You can't really compare the two states.
-
This post is deleted! -
@tgdsilva FYI, 198 is out:
pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/realtek-re-kmod-198.00.pkg -
@gradius Thank you! Good addition to this post string!
...if any people has experience with 198 in a production environment, it would be good to hear from them... -
@rk0: Your post raises the following questions:
- What specific edits do I have to make to loader.conf.local?
- What directory is it in?
- Does loader.conf.local supersede loader.conf?
- If so, am I correct in assuming that loader.conf remains unchanged?
I realized just now that Question 1 & 2 are answered in @RK0’s [post from Nov. 28, 2022] (https://forum.netgate.com/post/1072717) and @stephenw10’s post from the same day.
-
@dominikhoffmann it should be the same entries I outlined in this same post string on Nov 28, 2022, 7:16 AM
I did load nano as the editor, just because it is easier.
Putting the entries in /boot/loader.conf.local should just have that file persist if you update PFSense.
You won't have those entries in /boot/loader.conf, unless you already modified it yourself.
Also, when you install the package, it should flash up on the screen the entries it wants you to make, with the difference being it will tell you to put them in /boot/loader.conf vs /boot/loader.conf.local. I just do it in the /boot/loader.conf.local so it will be persistent.
-
@dominikhoffmann said in Updated Realtek NIC drivers missing in PfSense 2.6.0:
Does loader.conf.local supersede loader.conf?
If so, am I correct in assuming that loader.conf remains unchanged?Yes and yes.
But, as said, mainly you use the .local file because it will survive pfSense updates/changes that may otherwise re-write the main loader.conf file.
Steve
-
@rk0 said in Updated Realtek NIC drivers missing in PfSense 2.6.0:
I then issued the commands to download the revised Realtek drivers from freebsd
fetch -v https://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/realtek-re-kmod-197.00.pkg pkg install -f -y realtek-re-kmod-197.00.pkg
Because my Protectli PC with two Realtek NICs had difficulty with one of them, I had trouble controlling it via the WebConfigurator or ssh on the LAN port, while there was an active internet connection. I managed to copy the PKG file over to the Protectli via a USB thumb drive. But then the
pkg install -f -y realtek-re-kmod-198.00.pkg
command did not work, because there was no active internet connection. A bit of a chicken-and-egg problem.
I think, I’ll wait for the next major version beyond 2.6.0 and hope that the drivers will be included.
By the way the 197 drivers are no longer at pkg.freebsd.org, although the 198 drivers are.
-
@dominikhoffmann just use "pkg add" instead
-
@stephenw10 is there any chance the Realtek 198 drivers will be natively integrated into the next public release of PfSense?
Or...is this impossible since PFSense will probably move to FreeBSD 14.x? Looking at https://pkg.freebsd.org/FreeBSD:14:amd64/latest/All/ I get a "forbidden" message, unfortunately.