question about intel X710 driver
-
I am new to pfsense and freebsd. I have an X710-BM2 based NIC. I see its driver is ixl but it is not loaded as a module (I dont see it with kldstat), and I guess that means it is built into the kernel ? I was wondering if/how I can update its firmware, and ixl manual page says I can install intel-nvmupdate for firmware update and also intel-ixl-kmod package for the driver. These are not available in netgate repo but in generic freebsd repo. Shall I install these ? or in general how are firmware/driver updates handled when using pfsense ?
-
Yes, it's in kernel. You can see it with
kldstat -v
.You can see the driver and firmware versions reported by sysctl. For example:
[21.05-RELEASE][admin@7100.stevew.lan]/root: sysctl dev.ixl.0.fw_version; sysctl dev.ixl.0.iflib.driver_version dev.ixl.0.fw_version: fw 7.0.50775 api 1.8 nvm 7.00 etid 8000521b oem 0.0.0 dev.ixl.0.iflib.driver_version: 2.3.0-k
Since it's in kernel, driver updates are included in pfSense updates. You should not normally need to update a driver. And you should usually avoid doing that anyway since whatever you add may be broken at upgrade.
Steve
-
@stephenw10 thanks, I should learn a bit more freebsd.
Actually the reason I asked is I saw in dmesg and now I also checked with sysctl, I see my firmware is 6.0.48442. If I dont see wrong (at intel), the current firmware is 8 sth, it sounds strange to have it 2 major versions behind. The driver version is the same as yours. I guess it may make sense to update the firmware keeping the included driver in kernel, but I think sometimes it is not possible, I read I think on Intel docs firmware update may ask for a recent driver.
-
@stephenw10 said in question about intel X710 driver:
Yes, it's in kernel. You can see it with
kldstat -v
.You can see the driver and firmware versions reported by sysctl. For example:
[21.05-RELEASE][admin@7100.stevew.lan]/root: sysctl dev.ixl.0.fw_version; sysctl dev.ixl.0.iflib.driver_version dev.ixl.0.fw_version: fw 7.0.50775 api 1.8 nvm 7.00 etid 8000521b oem 0.0.0 dev.ixl.0.iflib.driver_version: 2.3.0-k
Since it's in kernel river updates are included in pfSense updates. You should not normally need to update a driver. And you should usually avoid doing that anyway since whatever you add may be broken at upgrade.
Steve
A related question in regards to the firmware version: Is there a way to see the equivalent Intel driver version so we can match up the corresponding NVM per Intel's Software/NVM compatibility table? I have seen folks attempting to use firmware versions 6.0, 7.0, 8.1 and 8.3 with CE 2.5.2/Plus 21.05, but it isn't clear which firmware version we should be using with the default ixl/iflib driver in these version.
-
@setarcos I check the ixl driver version in the pfsense distribution and then check intel‘s doc ( https://www.intel.com/content/dam/www/public/us/en/documents/release-notes/xl710-ethernet-controller-feature-matrix.pdf ) to find out which NVM/firmware version to use.
-
@metebalci said in question about intel X710 driver:
@setarcos I check the ixl driver version in the pfsense distribution and then check intel‘s doc ( https://www.intel.com/content/dam/www/public/us/en/documents/release-notes/xl710-ethernet-controller-feature-matrix.pdf ) to find out which NVM/firmware version to use.
How does one check the corresponding ixl driver version in a given pfSense version? The version string reported by sysctl:
dev.ixl.0.%desc: Intel(R) Ethernet Controller X710 for 10GBASE-T - 2.3.0-k
The most recent Intel ixl driver version from the PDF you linked is 1.12.24.
-
@setarcos you are right, I dont know if there is a way to check this in runtime. I check the release notes etc. e.g. freebsd 12.2 release notes (https://www.freebsd.org/releases/12.2R/relnotes/) say: „The ixl(4) driver has been updated to version 1.11.29. [r363876] (Sponsored by Intel Corporation)“. There should be a directory where you can see all packages and their versions in a specific distribution, not sure how it is called, I am also new to freebsd. It is also possible to update the driver to not use the one in the kernel, but use a newer version as an external module, but I am not doing that considering it is a less tested scenario. Also pay attention not all NVM update paths are tested same or supported, so you might need to do more than one updates (x to y, y to z, instead of x to z) to be on the safe side.
-
S Setarcos referenced this topic on