Official Realtek Driver Binary 1.95 For 2.4.4 Release



  • @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



  • @lovinghdtv

    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.ko

    Then 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:

    @lovinghdtv

    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.ko

    Then 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


  • LAYER 8 Netgate

    I would put it in /boot/loader.conf.local



  • @breakaway said in Official Realtek Driver Binary 1.95 For 2.4.4 Release:

    @lovinghdtv

    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.ko

    Then 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



  • This post is deleted!


  • 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.



  • @penetal

    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


  • Netgate Administrator

    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.


  • Netgate Administrator

    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?


  • Netgate Administrator

    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?