XG-7100 with third-party optics - best place and way to configure unsupported_sfp options?

  • I have a NetGate XG-7100, and I'm trying to use some third-party optics with the inbuilt SFP+ port, as well as a X520-DA2 PCI card

    According to Googling (link, link 2), I can add the following to /boot/loader.conf or /boot/loader.conf.local and it should work:


    However, this forum post also mentions using the Web UI, specifically under Advanced, System Tunables.

    My question is:

    1. Does the same line above work both for the inbuilt Intel X553 SFP+ ports, as well as other Intel cards like the X52-DA2 or X710-DA4?
    2. From a pfSense perspective what is the difference between /boot/loader.conf /boot/loader.conf.local
    3. Likewise, what is the difference between these two files, and Web UI, Advanced, System Tunables? (This post seems to suggest Web UI options get loaded later - but is that an issue for NIC options like these? Should they go in a specific place?).

    Any other caveats I should know about the above?

  • Netgate Administrator

    That is a loader variable it has to be set before the driver is loaded.

    It should go in /boot/loader.conf.local. Values stored there are not overwritten during firmware update but loader.conf may be. Both are processed at boot though.

    It should work identically on the on-board ports in the XG-7100 as it does on any Intel NIC that uses the ix(4) driver.
    You will see the 'unsupported SFP module' error in the boot log if your module is not attaching for that reason.


  • I have same issue with the XG-1537.

    As I understand it so far:

    1. the driver is no longer named ixgbe, it is called ix (even the man page is wrong).
    2. As soon as driver sees a SPF+ adapter is does not like (thanks intel) it kills the interface before any hw.ix.unsupported_sfp=“1” can help. This means firewall will not survive a reboot, planned or otherwise. You need to physically remove the offending SFP devices let pfsense boot up and then you can install the SFPs. (This is really ridiculous).
    3. ix settings in system turntables will not have an effect during kernel load (which also loads the driver) or could be a bug.
    4. then there is the loader.conf and loader.conf.local . The ix driver is loaded with the kernel I am not sure but it might mean that the hw.ix settings in the loader files are not used during the kernel load or could be a bug. I am going to try with if_ix_load=“YES” so the ix driver gets loaded as a module.

    I will try with this in my loader.conf and see if it makes a difference.

    If that doesn’t help I will try with latest intel drivers and load them via:

    Besides this I cannot get SFP modules to work in the SFP+ ports, I have tried with both Intel compatible and Cisco compatible. I know there exists a bios update directly from Super Micro but multiple places in the forum netgate staff advice against upgrading the bios.

    Any suggestions are most welcome.

  • Netgate Administrator

    The loader variables are loaded before the driver attaches to the hardware. If you have unsupported modules that should allow them to attach if they can attach at all.

    But yes you're right the variable name changed.