Updated Realtek NIC drivers missing in PfSense 2.6.0
-
Try loading the realtek module manually from the command line, make sure it loads. It may be the kernel is mismatched sufficiently that the module refuses to load. It should report the version still AFAIK.
Is there something in 1.98 that you need? -
Yeah it won't load in 23.01-RC:
[23.01-RC][admin@6100.stevew.lan]/root: pkg add realtek-re-kmod-198.00.pkg Installing realtek-re-kmod-198.00... Newer FreeBSD version for package realtek-re-kmod: To ignore this error set IGNORE_OSVERSION=yes - package: 1400078 - running kernel: 1400073 Ignore the mismatch and continue? [y/N]: y Extracting realtek-re-kmod-198.00: 100% ===== Message from realtek-re-kmod-198.00: -- Add the following lines to your /boot/loader.conf to override the built-in FreeBSD re(4) driver. if_re_load="YES" if_re_name="/boot/modules/if_re.ko" By default, the size of allocated mbufs is enough to receive the largest Ethernet frame supported by the card. If your memory is highly fragmented, trying to allocate contiguous pages (more than 4096 bytes) may result in driver hangs. For this reason the value is tunable at boot time, e.g. if you don't need Jumbo frames you can lower the memory requirements and avoid this issue with: hw.re.max_rx_mbuf_sz="2048" [23.01-RC][admin@6100.stevew.lan]/root: kldload /boot/modules/if_re.ko kldload: an error occurred while loading module /boot/modules/if_re.ko. Please check dmesg(8) for more details.
Because of the kernel version mismatch:
Feb 5 14:11:34 kernel KLD if_re.ko: depends on kernel - not available or version mismatch Feb 5 14:11:34 kernel linker_load_file: /boot/modules/if_re.ko - unsupported file type
-
@stephenw10 unfortunately, I could not find any errata comparing 197 to 198, to know "officially" IF there was something updated that would be of value. So admittedly there is some (perhaps unfounded) trust that newer is better as it relates to Realtek ethernet driver adapters
I'm inferring you think that I should uninstall the 198 package? Would a package uninstall command in this instance be
pkg delete realtek-re-kmod-198.00.pkg
...and if I do that, should I reissue the command
pkg install realtek-re-kmod
...to bring the 197 "built in" driver back? OR...is there a better way to reinitialize the original "built in" 197 realtek driver package with ver 23.01RC?
-
You can just use:
[23.01-RC][admin@6100.stevew.lan]/root: pkg remove realtek-re-kmod Updating database digests format: 100% Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: realtek-re-kmod: 198.00 Number of packages to be removed: 1 Proceed with deinstalling packages? [y/N]: y [1/1] Deinstalling realtek-re-kmod-198.00... [1/1] Deleting files for realtek-re-kmod-198.00: 100%
Then install the 1.97 pkg again.
-
Since Realtek don't seem to publish a change log we can't easily see what they added there. We'd have to just compare the source directly. But we can see the additional fixes in the kmod:
https://github.com/alexdupre/rtl_bsd_drv/commits/v1.98/if_re.c -
I also demonstrated 1.98 and the current FreeBSD 14 version of PFSense 2.7 don't get along. 1.97 works great. What's the difference between the drivers and if there's a reason we need 1.98 hard to tell given as just noted no way to easily compare 1.97 to 1.98. If "works" is all we need to decide, 1.97, 197.00, works great.
What does the OS Version mismatch actually mean though? Did not put a line in the 1.98 driver before its compiled that said, "These versions are okay to use...." so its only looking for one particular "build"? There's no build wiggle room so to speak?
There's a hook of some sorts in the latest FreeBSD build that 1.98 is looking for, "Look there's an open door...let's go inside..." that is not in the current FreeBSD 14 we're using for PFSense? "Look the door is closed, do NOT go in there...."?
The compiler used is different between the builds?
Is there something in the full version of FreeBSD for 1.98 to install that is missing in the version PFSense needs?
With Windows, I understand FreeBSD is not Windows, Windows as it gets updated while needing "new" drivers when we're talking major versions, like Windows 7 drivers/programs don't work in Windows 11, when we're talking same Windows version there's usually not an issue. Update Windows 11 for the most part does not equal previous Windows 11 drivers don't work.
FreeBSD 14 each build is a different beast?
From where I sit, and it is hardly from a position of knowing much about FreeBSD, seems like someone missed a line, messed up a punctuation entry, etc., when compiling 1.98. Part of reason I have that opinion is the thread on this very thing that indicates 1.98 is good to go with FreeBSD 14. It maybe on some versions of FreeBSD 14 but clearly not across the board.
This site: https://www.freshports.org/net/realtek-re-kmod/
Does the radioactive warning sign mean for 1.98 and FreeBSD 14 the 1.98 driver isn't even there yet?
My opinion is given how many threads one can find on Realtek drivers, a sticky of some sort with the steps that work for PFSense 2.7 would be beneficial. Folks like me chased our tail for some time before getting it sorted.
IF you haven't searched the great wide web for PFSense and Realtek Driver you don't quite understand the volume of "Here's the steps" posts there are.
-
@jsmiddleton4 said in Updated Realtek NIC drivers missing in PfSense 2.6.0:
Does the radioactive warning sign mean for 1.98 and FreeBSD 14 the 1.98 driver isn't even there yet?
It means the package doesn't exist in that branch. In this case where it doesn't exist is not surprising since 14:quarterly doesn't exist yet and the driver was likely never intended for those other architechtures.
Really I would say the surprising thing here is that the pkg/module does work in 2.6. Usually, for a kernel module, it can only be imported into the same kernel version it was compiled against. Which is what you see here.
-
I learned the hard way on this one...first, if you are running 2.6CE, you ONLY want to use the 197 driver.
First, if you intend to upgrade to 23.01RC, you had better be on ver 197, as 197 (as @stephenw10 has told us) is the built in driver for 23.01RC. It aids in making the upgrade path a tad easier.
I did have problems with a 2.6CE to 23.01RC upgrade...first, having to go to 22.01, then having to modify a /usr/local/share/pfSense/pkg/repos/pfSense-repo.conf file as the system would throw an "Unable to check for updates" error. Then I made the error of thinking the 198 package MUST be better than the 197 package, right? (wrong!).
So, as usual, best to follow @stephenw10 's advice, stick with the 197 package. I ended up having to go back to 2.6CE with the 197 driver just to claw my way back to a stable router.
I'm going to try out 23.01RC again...but not during the work week.
-
Technically the 1.98 kmod pkg has some additional fixes that are not in either the 1.97 or 1.98 driver directly. So it could be 'better'. But until we resync the tree with upstream again and pull that in it will be much easier to use 1.97. And 1.97 covers all hardware you're likely to find AFAIK.
Steve
-
Its okay if not but is there some notification when 1.98 could be an option?
Or is it up to us, again that's fine, to periodically check for package update?
-
There's nothing in pfSense that would alert you to that. You could write a script to do it.
Unless there is some proven significant advantage to 1.98 it's unlikely we would update it in the 23.01 repo. It will be pulled into 2.7 and 23.05 when we next upstream sync though.
Steve
-
@stephenw10 Manual it is....
-
@stephenw10 I just did a new install of 23.01, running in VMware on my beelink with 2 x Realtek 8125 2.5gb onboard pci ports.
I installed Realtek 197 driver and the cards with
pkg install net/realtek-re-kmod
and added the detail to in /boot/loader.conf as per the instructions above & rebooted.
if_re_load="YES" if_re_name="/boot/modules/if_re.ko"
I'm using 1 Realtek port as a wan port the other is empty for the moment.
after 20 mins the Realtek port dies. toggling the interface in GUI or rebooting restores connectivity but it soon dies.I've tried loading 198 but there is that kernel incompatibility error.
any suggestions for running Realtek pic interfaces pin pfsense plus 23.01?
-
Check the boot log to make sure the driver is loading. It will show the version as each Realtek device attaches.
-
I hate to say this, but the way I got my PFsense router to work is to replace the Realtek NICs with Intel. Since then, I honestly haven't had an issue.
-
@richalgeni: I have a two-NIC NUC with built-in Realtek NICs. I would love for it to actually work as a pfSense box for the first time since purchasing it in 2017. When buying it, I had no idea that the brand of NIC was something to look out for.
-
@richalgeni said in Updated Realtek NIC drivers missing in PfSense 2.6.0:
I hate to say this, but the way I got my PFsense router to work is to replace the Realtek NICs with Intel. Since then, I honestly haven't had an issue.
this thing is like a NUC, its small, no room for additional network cards.
That said I have got 2 1gb usb nics that I'm currently using but would like to use the onboard 2.5gb nics to connect to my 1gb internet.
I'm close....
-
I did see the 8125's listed under re0 / re1 in the logs and saw 1.97 listed under pci output.
the pci nics didn't work until I installed the driver.
I no longer have the screen images.
-
If they were throwing any sort of errors when they stopped we could look at it.
Otherwise you could try a 2.7 snapshot which has the 1.98 driver. Not much has changed there though.
-
@stephenw10 Hi
I cant update the drivers, with fetch it said error 404 not found and with pkg add does not do anything
can u help me???
my best regards!