Usage of Intel E610 network cards under OPNsense 25.7 with Free BSD 14.3

From Thomas-Krenn-Wiki
Jump to navigation Jump to search

With the open source firewall OPNsense, hardware support generally depends on the drivers, which are supplied with the FreeBSD kernel. It may happen that there are new drivers available from the manufacturer that are included later in the FreeBSD kernel. For this reason, new hardware is not directly recognized, for example Intel E610 network cards. However, there is the possibility of starting the driver manually. This article shows how to update the driver under OPNsense 25.7 so that these network cards can still be used now.

Situations of manual driver installation

The Intel E610-based network interfaces are not recognized and can not be used. The FreeBSD 14.3-RELEASE integrated driver, that is integrated in the kernel, is too old. The current driver (version 3.4.31) must be compilated manually and installed. After every OPNsense update, especially when a new kernel is installed, the driver must be compiled and attached. Please note that this can lead to problems during updates. Therefore, we do not recommend the productive operation with OPNsense and E610 network cards. The new driver should probably be included with OPNsense 26.1 or 26.7 in the FreeBSD kernel.[1][2]

Manual compilation and installation of the ix-driver

The following paragraph describes the manual compilation of the ix-driver under OPNsense 25.7.

Preparations

Activate SSH with the OPNsense firewall. This can be made in the webinterface under System → Settings → Administration.

Connection via SSH and installation of required components

The following steps are all made via SSH-connection to the OPNsense firewall:

pkg install git
cd /usr/
git clone https://github.com/opnsense/src
git checkout stable/25.7
cd /root

Download and unpacking of the driver

This paragraph shows how to download, compile and activate the driver.

  • Connect for example via WinSCP to the OPNsense system and upload the driver.
  • The following steps are performed via SSH session. Unpack the archive:
tar xvfz ix-3.4.31.tar.gz
cd ix-3.4.31/src

Installation of driver

The preparatory measures have been performed and the driver can now be compiled and be set instead of the driver supplied by the kernel.

make
cp if_ix.ko /boot/kernel/if_ix_e610.ko
cd /boot/kernel
mv if_ix.ko if_ix_old.ko
mv if_ix_e610.ko if_ix.ko

Loading driver at system startup

This paragraph shows how to load the driver at system startup.

  • Create a new loader.conf.local file to load the driver at system startup:
root@OPNsense:~ # vi /boot/loader.conf.local
  • Enter the following line here:
if_ix_load="YES"


Verification after restart

After restarting, check whether the current module is being used.

  • kldstat after restart:
root@OPNsense:~ # kldstat | grep -i if_ix.ko
 5    1 0xffffffff82417000    65c20 if_ix.ko
  • dmesg after restart:
[1] ix0: <Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.4.31> mem 0x4001000000-0x4001ffffff,0x4002004000-0x4002007fff at device 0.0 on pci5
[1] ix0: fw 0.15.15 nvm 1.30.0 etid 8000e942
[1] ix0: Using MSI-X interrupts with 9 vectors
[1] ix0: Ethernet address: 00:80:82:bd:4f:e1
[1] ix0: PCI Express Bus: Speed 16.0GT/s Width x4
[1] ix1: <Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.4.31> mem 0x4000000000-0x4000ffffff,0x4002000000-0x4002003fff at device 0.1 on pci5
[1] ix1: fw 0.15.15 nvm 1.30.0 etid 8000e942
[1] ix1: Using MSI-X interrupts with 9 vectors
[1] ix1: Ethernet address: 00:80:82:bd:4f:e2
[1] ix1: PCI Express Bus: Speed 16.0GT/s Width x4

Usage of interfaces

The interfaces can be configured and used afterwards.

References


Author: Thomas Niedermeier

Thomas Niedermeier working in the product management team at Thomas-Krenn, completed his bachelor's degree in business informatics at the Deggendorf University of Applied Sciences. Since 2013 Thomas is employed at Thomas-Krenn and takes care of OPNsense firewalls, the Thomas-Krenn-Wiki and firmware security updates.


Translator: Alina Ranzinger

Alina has been working at Thomas-Krenn.AG since 2024. After her training as multilingual business assistant, she got her job as assistant of the Product Management and is responsible for the translation of texts and for the organisation of the department.


Related articles

Activate SATA Link Power Management in OPNsense
Configuration of OPNsense Intrusion Detection and Intrusion Prevention
Network problems during the activation of IPS on OPNsense