Skip to content

Instantly share code, notes, and snippets.

@jovimon
Last active April 26, 2024 17:59
Show Gist options
  • Star 46 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save jovimon/524e116471f249626fd2ccd141f3fe05 to your computer and use it in GitHub Desktop.
Save jovimon/524e116471f249626fd2ccd141f3fe05 to your computer and use it in GitHub Desktop.
compile realtek network driver for pfsense 2.4.x

How to compile and install latest realtek network driver in pfSense 2.4.x (FreeBSD 11.1)

  1. Download FreeBSD 11.1 VMDK and create a VM with it as HDD.

  2. Get FreeBSD source tree for your exact FreeBSD version and uncompress it to /usr/src:

    fetch -o /tmp ftp://ftp.freebsd.org/pub/`uname -s`/releases/`uname -m`/`uname -r | cut -d'-' -f1,2`/src.txz
    tar -C / -xvf /tmp/src.txz
    
  3. Download latest Realtek network driver (you need to input an email address).

  4. Uncompress driver:

    tar xvzf 0007-rtl_bsd_drv_v194.01.tgz
    
  5. Make driver:

    cd rtl_bsd_drv_v194.01
    make
    
    1. If the last command fails, change the following line in file if_re.c

      From: #include <dev/re/if_rereg.h>

      To: #include "if_rereg.h"

  6. Copy the file if_re.ko to the /boot/kernel folder in pfSense device.

    scp if_re.ko root@<pfSense device IP>:/boot/kernel

  7. Change file permissions in if_re.ko file accessing through SSH to pfSense.

    chmod 555 /boot/kernel/if_re.ko

  8. Modify /boot/loader.conf.local file and add the following line at the end of the file: if_re_load="YES"

    • Through console: vi /boot/loader.conf.local
    • Through web: Diagnostics > Edit File and click Load. When finished editing click Save.
  9. Reboot pfSense.

  10. After restart, verify if module is installed through ssh with kldstat. Example execution:

    [2.4.2-RELEASE][root@pfSense.local]/root: kldstat
        Id Refs Address            Size     Name
         1    7 0xffffffff80200000 2c3ea98  kernel
         2    1 0xffffffff82e3f000 80900    if_re.ko
         3    1 0xffffffff83021000 46c6     cryptodev.ko
    

Based on:

@Hoto-Cocoa
Copy link

For future users:
You can just search package using this command: pkg search realtek-re-kmod, and this output will like to this:

realtek-re-kmod-198.00_3       Kernel driver for Realtek PCIe Ethernet Controllers

Then you can install using following command: pkg install realtek-re-kmod-198.00_3

And follow package's message.

In my case, Realtek provided source is broken to build in FreeBSD 14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment