Official Realtek Driver Binary 1.95 For 2.4.4 Release
-
I built if_re.ko in a vm running FreeBSD 11.3-RELEASE. Works for me.
-
Just loaded the driver compiled by @knight-of-ni on one of my two pfSense machines and all looks good. @netblues regarding the size increase, I'm not certain, but I'm willing to bet that most if not all of it is attributable to the fact that Realtek seems to release a single driver to support all their chipsets. So this 1.96 version may not have any changes at all for their older chipsets, and merely add support for newer ones. As noted elsewhere, since they're not great at communicating change logs or release notes, it's hard to know.
-
The 196 driver adds support for Realtek's line of new 2.5Gbps chipsets. I'm sure that is part of the reason why the new driver is larger.
I've created a diff for anyone who wants to look through the changes in the source code:
https://github.com/knight-of-ni/rtl_bsd_drv/commit/8d5ec5a609e5ce906ffc349f7a5d8432d2f03e4b -
@knight-of-ni
Working perfect on 2.4.5-RELEASE-p on my ZOTAC ZBOX CI325Note if you are showing Errors Out just double check under System -> Advanced -> Networking that all 3 Hardware offloading options are disabled.
I was showing some on my VLAN interfaces, and apparently mine were not disabled for some reason, seems to have fixed that. YMMV
-
My Zotac CI323 has had 5 or 6 mystery LAN issues in the last week but only 3 or 4 previously over a year's period. I previous had ESXi 6 installed on it which is a major pain due to there being no video at a certain point but that's a story for another time. When running pfsense as a vm under ESXi, I never had issues.
I was running headless and once the problem started happening, I just got a blank screen when plugging up a monitor so I thought the box was hung up and would power cycle it. I left the monitor plugged in and today, when it stopped responding, I found the re1 watchdog timeouts but the system was still online. Rebooted and the problem resolved.
I've installed @knight-of-ni 's driver and hopefully, that resolves the problem.
I should note that previously when this rarely happened, I was on a slower internet service. I've since upgraded and that's when the problem started to happen much more often.
-
@KNG75 Yeah, my story is similar. Over the years I deployed a CI323, a CI325, CI327, and CI329 at different locations. They all ran pretty well. The CI325 has a reboot issue on FreeBSD but that is a different story.
Then after upgrading them to pfSense 2.4.4, the LAN nic on all these boxes would each take turns going offline. Each machine would break about once a month. The log on each was filled with watchdog timeouts. Fortunately I could vpn in from the WAN side and just reboot each machine.
I found this thread while researching the problem, promptly switched them all over to the Realtek driver, and all three machines are back to running reliably.
It kind of sucks we've got to build a new nic driver after every new release of pfSense, but I have not found a substitute with Intel nics, quad core cpu, min 4GB ram, similar form factor, and a similar price.
I never would have thought to put ESXi on one of these boxes, and I can imagine what a trick that was!
-
@knight-of-ni said in Official Realtek Driver Binary 1.95 For 2.4.4 Release:
but I have not found a substitute with Intel nics, quad core cpu, min 4GB ram,
These are really good,[NUC-C3L2 Fanless Mini PC - link removed] but only dual core.
Admin edit: Please don't post direct links to our competitors who do nothing to support the project.
-
@knight-of-ni Thanks for compiling and uploading the driver once again.
I can confirm that on my setup the iPerf results from stock driver to your driver went from ~300Mbit per second to around 370Mbits. This is inter-vlan on a hair-pinned 1GB interface.
And as a bonus the Firewall doesn't stop responding after the test :-) -
I'm on the official realtek driver and I got almost 20 days without a watchdog timeout. Unfortunately, I lost connectivity today and had the timeout. Had to reboot to resolve.
-
Huge thanks to knight-of-ni for providing the latest compiled 1.96 driver and to everyone else in this thread, my rather nervous attempt at finally fixing this dreaded re watchdog timeout error seems to have worked for me using the current 2.4.5-RELEASE-p1. I have also forked and slightly updated the driver compilation instructions just in case anyone else needs to repeat this from scratch here -> https://gist.github.com/kmarf/960f3a00690756f978882607dec94179
In case of above links not working I've mirrored the compiled driver here -> https://drive.google.com/file/d/15lsDnnCz0C9rD9qIsmT0JeniFsSxgxTR/view?usp=sharing
and the original driver source file here -> https://drive.google.com/file/d/1rMRo3fM9U-bSHLtpuGsbDY8oao00DSac/view?usp=sharing
Thanks again, fingers crossed this helps :)
-
@knight-of-ni is there any change You could build if_re.ko for FreeBSD 12.1 as well? :)
-
Here you go: rtl_bsd12.1_drv_v196.04.zip
-Rico
-
@Rico said in Official Realtek Driver Binary 1.95 For 2.4.4 Release:
Here you go: rtl_bsd12.1_drv_v196.04.zip
-Rico
Thank you very much, Rico! :)
-
UPDATE: GREAT NEWS! After 15 days using the compiled 1.96 driver (shared above) on 2.4.5-RELEASE-p1 my overall experience has been a huge reliability improvement, with not a single re watchdog timeout hang, even under traffic loads that were previously almost guaranteed to cause them. On this basis, I'd fully recommend testing this for anyone else struggling with Realtek. Thanks again to knight-of-ni for sharing, much appreciated.
-
I have a Realtek 2.5G RTL8125B network card and after installing the 1.96 driver on my pfsense 2.4.5-p1, it recognized the card, however, I'm only getting about 500Mbps throughput on my WAN when I use it. I have a gigabit plan with Comcast and I should be getting roughly 1200Mbps but I'm getting nowhere near that. When I switch back over to my Intel gigabit NIC, I get about 950Mbps which tells me that the 1.96 driver isn't able to deliver on the full 2.5G speed.
is this what you are experiencing as well?
-
Does it link at 2.5Gbps? Can we see the ifconfig output?
What hardware are you using it in?
Steve
-
@stephenw10
It does link at 2.5Gbps and my hardware is HP 290-p0043w w/ Celeron G4900 and 4GB of RAM.I have Trendnet 2.5G network adapter installed in the PCIe x1 slot.
Here's the ifconfig output. The 2.5Gbps NIC is
re1
. When I set my WAN interface back toigb0
, I get 950Mbps down on speedtest. I just ran another test onre1
and I'm getting 615Mbps down.igb0: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=6403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether ac:16:2d:95:08:dc hwaddr ac:16:2d:95:08:dc nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: no carrier igb1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=500b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO> ether ac:16:2d:95:08:dd hwaddr ac:16:2d:95:08:dd nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active igb2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=500b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO> ether ac:16:2d:95:08:dd hwaddr ac:16:2d:95:08:de nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active igb3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=500b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO> ether ac:16:2d:95:08:dd hwaddr ac:16:2d:95:08:df nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active re0: flags=8803<UP,BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=2018<VLAN_MTU,VLAN_HWTAGGING,WOL_MAGIC> ether c4:65:16:30:2b:67 hwaddr c4:65:16:30:2b:67 inet 172.16.2.1 netmask 0xffffff00 broadcast 172.16.2.255 inet6 fe80::1:1%re0 prefixlen 64 tentative scopeid 0x5 inet6 2601:2c2:780:6919:c665:16ff:fe30:2b67 prefixlen 64 tentative nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: no carrier re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=2018<VLAN_MTU,VLAN_HWTAGGING,WOL_MAGIC> ether 3c:8c:f8:f9:7b:30 hwaddr 3c:8c:f8:f9:7b:30 inet6 fe80::3e8c:f8ff:fef9:7b30%re1 prefixlen 64 scopeid 0x6 inet6 2001:558:6022:76:cc0e:e073:c4d8:89b7 prefixlen 128 inet <REDACTED> netmask 0xfffff800 broadcast 255.255.255.255 nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> media: Ethernet autoselect (2500Base-T <full-duplex>) status: active enc0: flags=0<> metric 0 mtu 1536 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> groups: enc lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> groups: lo pflog0: flags=100<PROMISC> metric 0 mtu 33160 groups: pflog pfsync0: flags=0<> metric 0 mtu 1500 groups: pfsync lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=500b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,VLAN_HWTSO> ether ac:16:2d:95:08:dd inet 172.16.1.1 netmask 0xffffff00 broadcast 172.16.1.255 inet6 fe80::1:1%lagg0 prefixlen 64 scopeid 0xb inet6 2601:2c2:780:6910:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active groups: lagg laggproto lacp lagghash l2,l3,l4 laggport: igb1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: igb2 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: igb3 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> lagg0.20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.20.1 netmask 0xffffff00 broadcast 172.16.20.255 inet6 fe80::1:1%lagg0.20 prefixlen 64 scopeid 0xc inet6 2601:2c2:780:6912:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 20 vlanpcp: 4 parent interface: lagg0 groups: vlan lagg0.30: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.30.1 netmask 0xffffff00 broadcast 172.16.30.255 inet6 fe80::1:1%lagg0.30 prefixlen 64 scopeid 0xd inet6 2601:2c2:780:6913:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 30 vlanpcp: 0 parent interface: lagg0 groups: vlan lagg0.40: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.40.1 netmask 0xffffff00 broadcast 172.16.40.255 inet6 fe80::1:1%lagg0.40 prefixlen 64 scopeid 0xe inet6 2601:2c2:780:6914:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 40 vlanpcp: 2 parent interface: lagg0 groups: vlan lagg0.50: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.50.1 netmask 0xffffff00 broadcast 172.16.50.255 inet6 fe80::1:1%lagg0.50 prefixlen 64 scopeid 0xf inet6 2601:2c2:780:6915:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 50 vlanpcp: 4 parent interface: lagg0 groups: vlan lagg0.60: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.60.1 netmask 0xffffff00 broadcast 172.16.60.255 inet6 fe80::1:1%lagg0.60 prefixlen 64 scopeid 0x10 inet6 2601:2c2:780:6916:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 60 vlanpcp: 1 parent interface: lagg0 groups: vlan lagg0.70: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.70.1 netmask 0xffffff00 broadcast 172.16.70.255 inet6 fe80::1:1%lagg0.70 prefixlen 64 scopeid 0x11 inet6 2601:2c2:780:6917:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 70 vlanpcp: 5 parent interface: lagg0 groups: vlan lagg0.80: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.80.1 netmask 0xffffff00 broadcast 172.16.80.255 inet6 fe80::1:1%lagg0.80 prefixlen 64 scopeid 0x12 inet6 2601:2c2:780:6918:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 80 vlanpcp: 1 parent interface: lagg0 groups: vlan lagg0.10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether ac:16:2d:95:08:dd inet 172.16.10.1 netmask 0xffffff00 broadcast 172.16.10.255 inet6 fe80::1:1%lagg0.10 prefixlen 64 scopeid 0x13 inet6 2601:2c2:780:6911:ae16:2dff:fe95:8dd prefixlen 64 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet autoselect status: active vlan: 10 vlanpcp: 3 parent interface: lagg0 groups: vlan
-
What if you use re0? What does the CPU load look like when you're testing?
top -aSH
-
@stephenw10 said in Official Realtek Driver Binary 1.95 For 2.4.4 Release:
top -aSH
re0
works great and I get the full 950Mbps during speedtest.CPU load for
re0
is around 20-25% during speedtest, whereasre1
is around 10-15%.Also, does this mean anything?
Output ofpciconfig -lv
forre0
shows the correct controller, butre1
is missing thedevice
attribute.% pciconfig -lv re0 re0@pci0:2:0:0: class=0x020000 card=0x843f103c chip=0x816810ec rev=0x15 hdr=0x00 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' class = network subclass = ethernet
% pciconfig -lv re1 re1@pci0:4:0:0: class=0x020000 card=0x012310ec chip=0x812510ec rev=0x00 hdr=0x00 vendor = 'Realtek Semiconductor Co., Ltd.' class = network subclass = ethernet
-
The missing description is unlikely to matter.
I was more interested in the queue or interrupt loads on your CPU cores while testing. igb will use multiple CPU cores by default. re usually isn't but this is new hardware so....
CPU usage between those NICs looks to be inline with the throughput at least.
Steve