OPNsense Forum

Archive => 18.7 Legacy Series => Topic started by: Werner Fischer on August 07, 2018, 02:13:59 pm

Title: Query Intel NIC driver version
Post by: Werner Fischer on August 07, 2018, 02:13:59 pm
Is there an easy way to query driver versions in FreeBSD? OPNsense 18.7 has "several of its [FreeBSD 11.2] Intel NIC driver updates included".

Now I'd like to query the driver versions of ix, igb, ...
Is there an easy way to do this? (like it can be done under Linux using "modinfo")

Best regards,
Werner
Title: Re: Query Intel NIC driver version
Post by: RFGuy_KCCO on August 07, 2018, 04:24:32 pm
Not sure how to query driver version on a running system, but you can look in Syslog at the driver versions loaded during startup.
Title: Re: Query Intel NIC driver version
Post by: franco on August 08, 2018, 12:27:34 pm
Something like this...

# sysctl -a | grep -E 'dev.(igb|ix|em).*.%desc:'
dev.em.2.%desc: Intel(R) PRO/1000 Network Connection 7.6.1-k
dev.em.1.%desc: Intel(R) PRO/1000 Network Connection 7.6.1-k
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 7.6.1-k


Cheers,
Franco
Title: Re: Query Intel NIC driver version
Post by: Werner Fischer on August 09, 2018, 02:59:12 pm
Thank you Franco,

OPNsense 18.7-amd64 shows these versions for me:
Code: [Select]
# sysctl -a | grep -E 'dev.(igb|ix|em).*.%desc:'
dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 7.6.1-k
dev.igb.4.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k

Does anybody have a system with ix driver by the hand to check?

Or is there also a way to check the version when the driver is not loaded (like in my case when I want to check the ix driver version, but I don't have a system with an appropriate NIC by the hand)?
Title: Re: Query Intel NIC driver version
Post by: mimugmail on August 09, 2018, 03:52:46 pm
dev.igb.5.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.4.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.3.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.2.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.1.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.0.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.ix.1.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.2.12-k
dev.ix.0.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.2.12-k


It's from your FronIO system :)

Do you have a problem report from a swiss customer? ;)
Title: Re: Query Intel NIC driver version
Post by: Werner Fischer on August 10, 2018, 06:41:25 am
Thx for the feedback. And no, currently I don't have any problem reports right now 8)
I'm just curious...
Title: Re: Query Intel NIC driver version
Post by: mimugmail on August 10, 2018, 07:52:04 am
There was a guy from swiss with your appliance and not detected GBICs .. sounded like your question. But also on my side everything fine with it :)
Title: Re: Query Intel NIC driver version
Post by: Werner Fischer on August 10, 2018, 08:34:18 am
GBICs (SFP modules) must be from Intel to be fully supported by the Intel NIC chips:
Quote
Intel® Ethernet SFP+ SR Optics and Intel® Ethernet SFP+ LR Optics are the only 10-Gbps optical modules supported.

Sources:

It seems that the FW of the NICs checks the installed SFP module EEPROM for 03h SFF-8472 identifier and refuse to work if that check failed. See https://www.thomas-krenn.com/de/wiki/Intel_10_Gigabit_X710-DA2_SFP%2B_state_DOWN_beheben and https://communities.intel.com/message/402917 for further background information (although these links refer to X710 cards, they should be valid for the other Intel 10Gbit cards, too).
Title: Re: Query Intel NIC driver version
Post by: Werner Fischer on August 10, 2018, 12:18:17 pm
We have just plugged in a X710-DA2 card in our FrontIO system - here you find the driver version for ixl:

Code: [Select]
root@OPNsense82:~/hw-analyse-frontio-mit-x710 # sysctl -a | grep -E 'dev.(igb|ix|em).*.%desc:'
dev.igb.5.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.4.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.3.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.2.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.1.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.igb.0.%desc: Intel(R) PRO/1000 Network Connection, Version - 2.5.3-k
dev.ixl.1.%desc: Intel(R) Ethernet Connection 700 Series PF Driver, Version - 1.9.9-k
dev.ixl.0.%desc: Intel(R) Ethernet Connection 700 Series PF Driver, Version - 1.9.9-k
dev.ix.1.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.2.12-k
dev.ix.0.%desc: Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.2.12-k
root@OPNsense82:~/hw-analyse-frontio-mit-x710 # sysctl dev.ixl.0.fw_version
dev.ixl.0.fw_version: fw 6.0.48442 api 1.7 nvm 6.01 etid 800035cf oem 1.262.0
root@OPNsense82:~/hw-analyse-frontio-mit-x710 #

So this updated ixl version 1.9.9-k comes from FreeBSD 11.2: https://www.freebsd.org/releases/11.2R/relnotes.html#drivers-device and https://svnweb.freebsd.org/base?view=revision&revision=333343

Driver 1.9.9-k fixes together with the X710 firmware NVM 6.01 issues with LACP - see https://www.intel.com/content/dam/www/public/us/en/documents/brief/lacp-config-guide.pdf - see page 17 which says:

Quote
Each Intel ® Ethernet 700 Series Network Adapter has a built-in hardware LLDP engine, which is
enabled by default. The LLDP Engine is responsible for receiving and consuming LLDP frames, and also
replies to the LLDP frames that it receives. The LLDP engine does not forward LLDP frames to the
network stack of the Operating System.
LACP may not function correctly in certain environments that require LLDP frames containing LCAP
information to be forwarded to the network stack. To avoid this situation, the user must disable the
Intel ® Ethernet 700 Series Network Adapter's hardware LLDP engine.
The following subsections provide instructions on how to disable the Intel ® Ethernet 700 Series
Network Adapter's hardware LLDP engine.

As deactivating the included LLDP engine had issues with firmwares < 6.01 - see issue #70 on page 50 of https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/xl710-10-40-controller-spec-update.pdf - you need to have firmware version NVM 6.01 on such a nic (like me in the example output above). See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221530 for details on that.

And here you can find further information on the 1.9.9-k driver: https://reviews.freebsd.org/D14985

@mimugmail: I'm not sure, but maybe this (by default enabled) LLDP engine of the X710 cards could be a cause of the IPS issues of this card. I haven't tested IPS yet with this LLDP engine switched of, but maybe this could help.
Title: Re: Query Intel NIC driver version
Post by: mimugmail on August 10, 2018, 12:37:53 pm
With

ixl1: fw 5.0.40043 api 1.5 nvm 5.05 etid 80002892 oem 1.262.0

It doesn't work. But I dont have the time to update the firmware right now .. next week or so I'll try it :)