Official Realtek Driver Binary 1.95 For 2.4.4 Release
-
I believe that it does increase performance, but primarily it's for stability. With the built-in driver you get watchdog timeout events under heavy load, so it's basically unusable.
-
what chipset? I have several realtek cards and have never noticed an issue
-
8111/8168 Family:
Realtek Driver Page -
interesting, I guess I don't have enough load to trigger the issue
-
does it trigger a reboot or something?
-
Not an automatic reboot, but the NICs just stop working until you manually reboot. Typically you can provoke it with iperf testing.
-
@TheNarc Thanks for the compiled driver. I will be using it with my resurrected C1323 box (currently running on 32GB USB thumb drive). But before patching the compiled driver, I have to try iperf if it can trigger the problem.
What I remember (a year ago), after updating pfsense to this box, I noticed that the ethernet slowly becoming unusable. it will be good again after a reboot, but it will go back to the same problem after several minutes.
Thanks again.
-
@love-it-again No problem, I'm glad to hear it's useful. I run two CI323-based pfSense boxes and your memory syncs with mine. Without the official Realtek driver, it will eventually get watchdog timeouts and the NICs go down until a reboot. I remember that being easy to trigger with iperf to stress them too. I haven't had any issues since using the official driver though.
-
I’ve just (in the last 2 days) applied this patch to two pfSense machines. One is a Intel N3150-based machine with dual Realtek NICs and another is a Intel J1800 with dual Realtek NICs.
Both used to crash and go unresponsive a lot since upgrading to 2.4.4 but now they’ve been up for over 24 hours. One has been syncing off-site backups for over 12 hours at 600 mbps over our 1gbps symmetric fiber internet connection, no issue.
-
How do I update my Pfsense box with this driver?
Do I just copy it to /boot/kernel?
thanks
david -
Unzip & Place "if_re.ko" file at "/boot/kernel"
Change ownership and permissions on the if_re.ko file
chown root:wheel if_re.ko
chmod 0555 if_re.koThen edit "/boot/loader.conf” to add this line:
if_re_load=“YES”
Reboot.
Then go to diagnostics > command prompt in the WebGUI
Run the command
kldstat
If you did everything properly you’ll see “if_re.ko” in the list that comes up. If not, the driver isn’t loaded.
-
@breakaway said in Official Realtek Driver Binary 1.95 For 2.4.4 Release:
Unzip & Place "if_re.ko" file at "/boot/kernel"
Change ownership and permissions on the if_re.ko file
chown root:wheel if_re.ko
chmod 0555 if_re.koThen edit "/boot/loader.conf” to add this line:
if_re_load=“YES"
Reboot.
Then go to diagnostics > command prompt in the WebGUI
Run the command
kldstat
If you did everything properly you’ll see “if_re.ko” in the list that comes up. If not, the driver isn’t loaded.
Thanks that worked like a charm.
Now hopefully it fixed my issue.
david
-
I would put it in /boot/loader.conf.local
-
@breakaway said in Official Realtek Driver Binary 1.95 For 2.4.4 Release:
Unzip & Place "if_re.ko" file at "/boot/kernel"
Change ownership and permissions on the if_re.ko file
chown root:wheel if_re.ko
chmod 0555 if_re.koThen edit "/boot/loader.conf” to add this line:
if_re_load=“YES"
Reboot.
Then go to diagnostics > command prompt in the WebGUI
Run the command
kldstat
If you did everything properly you’ll see “if_re.ko” in the list that comes up. If not, the driver isn’t loaded.
Tip for anyone having a issue, If you copied and pasted the if_re_load=“YES" line fix the first “ and make it " yes there is a difference. /facedesk
Works like a charm, once I found that =P
Thanks for the updated driver and taking the time to compile, I have a ZOTAC ZBOX CI323 Nano with dual Realtek and a 2nd Generic system with a single Realtek (router on a Stick).
-
Odd - looks like the double quotes are messed up. You can thank my Phone for that! I’ll update it.
Always use kldstat to verify if the driver if_re.ko is loaded!
Shell Output - cat /boot/loader.conf
kern.cam.boot_delay=10000
kern.ipc.nmbclusters="1000000"
kern.ipc.nmbjumbop="524288"
kern.ipc.nmbjumbo9="524288"
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
zfs_load="YES"
if_re_load=“YES”
autoboot_delay="3"
hw.usb.no_pf="1”Shell Output - kldstat
Id Refs Address Size Name
1 20 0xffffffff80200000 2d9a7d0 kernel
2 1 0xffffffff82f9c000 381f00 zfs.ko
3 2 0xffffffff8331e000 a3a0 opensolaris.ko
4 1 0xffffffff83329000 7d2c0 if_re.ko
5 1 0xffffffff83911000 10a0 cpuctl.ko
6 1 0xffffffff83913000 2ec0 cryptodev.ko
7 1 0xffffffff83916000 c80 coretemp.ko -
@breakaway upper case is fine, it is the left/backwards/upside down quotation mark that if copy pasted makes the loader throw a syntax error and not load the driver.
-
Could you post a guide on how to compile the driver? Would be nice to know what is needed from pfsense sources etc and if any configs is needed.
-
Here's a link of the guide. The files are a little bit old so use the newer version (Realtek driver v1.95 and FreeBSD 11.2), but the process is still the same.
https://gist.github.com/jovimon/524e116471f249626fd2ccd141f3fe05
-
Also, is there any way to “slipstream” the driver and the modification to the loader.conf so that it will automatically include this driver when installing from media?
-
would it be possible to put driver into a pfS package?
-
@love-it-again thanks a ton
-
It's very unlikely this could ever be added as an official package. Is it even using a license that would allow it?
The correct way to resolve this would be to fix the upstream FreeBSD driver. I've never looked to see what the differences are there.
Steve
-
Just got finished putting this driver on my Odroid H2. This SBC has been nice but the NIC's seem to drop connection about a once a day.
Is there something I can do to track the state of the NIC's and the drivers to see what's happening when they lock up? I'd be willing to revert to the stock drivers just to find out why a daily reboot has been necessary.
-
Not easily. You'd probably need to add debug messages to the driver for example. Maybe recompile it.
Are you (were you) seeing the watchdog timeouts?
Steve
-
@stephenw10 I hadn't been seeing the watchdog timeouts but I hadn't been looking for them either. What's the best way to look for them?
-
They would be in the system log if you are hitting that issue.
Steve
-
Also, at least in my experience using the driver built in to FreeBSD, the watchdog timeout is pretty easy to provoke by running iperf tests against the LAN interface. I see that the Odroid H2 has dual RTL8111Gs whereas I, and I believe most others using the official Realtek driver, have been running Zotac machines that I believe have RTL8111Es. Both of those use the same driver, but I think it's fair to say that the RTL8111G is less "battle tested" with this driver. Have you also confirmed that the driver is indeed being loaded and used by looking for it in the output of ldstat?
-
I have made FreeBSD 12 package.
https://drive.google.com/file/d/1Ch4Z_w7gpbrpavQ4KhPUXUzYhRyzqnye/view?usp=sharing
I dont consider it my work - I have just packed it in one archive. It is stable for me on 12.0 p3 more than
"sed -i -e 's/TAILQ_FOREACH/CK_STAILQ_FOREACH/g' if_re.c" -
Will pfSense 2.5.0 / FreeBSD 12.0-RELEASE-p3 improve the built-in Realtek drivers situation at all?
-
I would guess no. Not much activity in the FreeBSD repo:
https://github.com/pfsense/FreeBSD-src/commits/RELENG_2_5/sys/dev/re -
I've installed precomplied version of this driver for Nettop Gigabyte GB-BACE-3000 - working good with PFSence 2.4.4-RELEASE-p1. Uptime 31 days.
Thanks for the driver @TheNarc! -
I am currently using a Gigabyte GA-C1007UN-D
It has two realtek NICS either RTL8111E or RTL811F (online reviews conflict) I have never noticed this error, but would use this driver if it would increase stability. using the current 2.4.5 dev build.Any advice on specific iperf test that is known to kick off this problem? traffic to the rtr, from the router, do I need tons of simultaneous streams?
I would like to see it fail before I spent the time.
-
@mervincm In my experience, I didn't need to set any exotic iperf options. Just running a few iperf tests between a host on the LAN and the LAN port of the pfSense machine was enough to reproduce the error.
-
@TheNarc I guess I am fine then as after I stood up iperf as a server on pfSense
I hammered it quite hard from my desktop with 5, 10, 15, 20, 25, 30, 40, 50 parallel threads under iperf2 and never managed to cause the pfSense LAN nic to freeze.
I then shut down the iperf service and then started up iperf3 from the command line iperf3 -s
again, I hammered it quite hard from my desktop with 5, 10, 15, 20, 25, 50, and then even 100 parallel threads a few times under iperf3 and again, never managed to cause the pfSense LAN nic to freeze.The iperf performance wasn't great, say about 700-900 Mbps, but it was stable.
edit I did get 2 occurrences of the alert. I didn't notice the impact while testing, perhaps it came back up quickly?
Mar 27 17:09:23 kernel re1: watchdog timeout
Mar 27 16:38:39 kernel re1: watchdog timeoutIs a few errors like this symptomatic of this bug, or would you see far more of them?
I do see this occasionally in my logs, 35 total of them over a couple of months. I am not sure if that is expected or a problem to fix.
-
Well, I decided to try it out. I added the driver as detailed above, and confirmed it was loaded, and now I beat on it 5 times as hard and I have not been able to get a single more watchdog error. thanks for helping me find and fix a problem I didn't even know I had!
-
@TheNarc said in Official Realtek Driver Binary 1.95 For 2.4.4 Release:
CI323
What I experienced, using the driver built into pfsense on Cl323, is that there will be watchdog timeouts frequently; but eventually the LAN interface will quite working completely until someone reboots the box. After installing the realtek driver 1.95 as described in this thread, those issues are no more and the box is stable.
If you are deploying pfsense on CI323, I'd strongly reccommend this driver and that stress testing the network is part of your checklist.
-
Has anyone experienced a downgrade in performance to around 100mbps? It used to operate at my connection speed 175mbps, but after I had to shutdown and replace a power bar a few days ago, it hasn't been the same.
The dashboard reports the link is 1000mbps but that's not the actual speed when downloading a file.
Thanks for your time.
-
@krackpot I have two systems running with this driver one on a 200mbps link one on a 300mbps, neither have trouble hitting those speeds.
-
That sounds more like something is actually linking at 100Mb. That NIC should pass far more than that with either driver.
Steve
-
Have 2.4.4-RELEASE-p3 the latest driver for RTL8111G or must I manualy update the driver to latest version?
I have problem WAN port stop working, disable the port and enable and it start working again... its happens with low load 10mbit maybe... within 1 hour or so...