Register for the iXsystems Community to get an ad-free experience

Intel X710 using incorrect driver in latest 9.10 release?

Western Digital Drives - The Preferred Drives of FreeNAS and TrueNAS CORE
Status
Not open for further replies.

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
I'd like a few more eyes on this one before I file a ticket. It seems to me that FreeNAS 9.10 (I'm currently on 9.10.2-U1) is using the FreeBSD driver that was made for the XL710 as the base driver in FreeNAS for the X710 cards. I don't believe this is correct as Intel doesn't list the drivers as compatible for either card. I believe it should be using the Physical Function driver (current latest version from Intel is 3.1.14) for the X710. I have a few X710-DA4 cards and this is what my system shows its using:
ixl0: <Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3>

An Intel X540-T2 shows the following driver in use:
ix0: <Intel(R) PRO/10GbE PCI-Express Network Driver, Version - 3.1.13-k>

The X710 and X540 should both be using the same ix driver and not the ixl driver.

Somewhere along the lines this changed, because I've seen posts about FreeNAS 9.3 when they first added support for the X710 series and they used to use the correct driver for this card (old version 2.x.x). Is it just me or does something seem off here?

X710-DA4 PCI info: dev.ixl.0.%pnpinfo: vendor=0x8086 device=0x1572 subvendor=0x8086 subdevice=0x0002 class=0x020000

bug search

Latest Intel drivers
 

Attachments

  • if_ixl_1.7.12.1.zip
    77.6 KB · Views: 271
Last edited:

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Updated the OP. At little deeper dive into this shows that it is using a physical function driver, but the incorrect one. If it were using a virtual function driver it would list as ixv or ixlv. Still, looks like a bug to me. Bug filed here
 
Last edited:

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Ok, doesn't look like its a bug. The Intel site is extremely misleading and doesn't list support for the X710 on the XL710 driver, but they are surely compatible. The current version of the driver in 9.10.2-U1 is very old, 1.4.3 released around 8/2015, and they are up to 1.6.10 which was released 10/19/2016. Hopefully we can get the new driver in a future version of 9.10.
 

AirportGuy

Cadet
Joined
Feb 4, 2017
Messages
3
BigPhil, I tried the fix you suggested here: https://bugs.freenas.org/issues/20768#change-108840
My FreeNAS is still loading v1.4.3
ixl0: <Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3> mem 0xfb000000-0xfb7fffff,0xfb818000-0xfb81ffff irq 48 at device 0.0 on pci129

Is there anything else I need to do?

On my freenas box, I did the following:
cd /
wget http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/intel-ixl-kmod-1.4.27.txz

tar xfvz intel-ixl-kmod-1.4.27.txz
x +COMPACT_MANIFEST
x +MANIFEST
tar: Removing leading '/' from member names
x boot/modules/if_ixl_updated.ko
x usr/local/man/man4/ixl.4.gz
x usr/local/share/licenses/intel-ixl-kmod-1.4.27/catalog.mk
x usr/local/share/licenses/intel-ixl-kmod-1.4.27/LICENSE
x usr/local/share/licenses/intel-ixl-kmod-1.4.27/BSD2CLAUSE

cd boot/modules/
cp if_ixl_updated.ko /boot/kernel

Added the information to turnables, rebooted, and no change. Any help you could provide would be appreciative.
 

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Did you give execute permission on the kernal module file? It should match the files that are already in the directory.
 

AirportGuy

Cadet
Joined
Feb 4, 2017
Messages
3
I did check that, but it has the same permission as every other file in that directory. It does have the execute permissions.

-r-xr-xr-x 1 root wheel 208600 Feb 5 00:24 if_ixl_updated.ko*

Here is my turnables table:
freenas_turnables.jpg
 

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Everything looks good to me. How are you verifying that it's loading the old driver? /var/log/messages or checking sysctl -a | grep ixl
 

AirportGuy

Cadet
Joined
Feb 4, 2017
Messages
3
I was using dmesg.

Here is the /var/log/messages output:
Code:
Feb  5 01:08:56 freenas ixl0: <Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3> mem 0xfb000000-0xfb7fffff,0xfb818000-0xfb81ffff irq 48 at device 0.0 on pci129
Feb  5 01:08:56 freenas ixl0: Using MSIX interrupts with 9 vectors
Feb  5 01:08:56 freenas ixl0: f4.33 a1.2 n04.42 e80001921
Feb  5 01:08:56 freenas ixl0: The driver for the device detected an older version of the NVM image than expected.
Feb  5 01:08:56 freenas Please update the NVM image.
Feb  5 01:08:56 freenas ixl0: Using defaults for TSO: 65518/35/2048
Feb  5 01:08:56 freenas ixl0: Ethernet address: xx:xx:xx:xx:xx:xx
Feb  5 01:08:56 freenas ixl0: PCI Express Bus: Speed 5.0GT/s Width x4
Feb  5 01:08:56 freenas ixl0: PCI-Express bandwidth available for this device
Feb  5 01:08:56 freenas may be insufficient for optimal performance.
Feb  5 01:08:56 freenas ixl0: For expected performance a x8 PCIE Gen3 slot is required.
Feb  5 01:08:56 freenas ixl1: <Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3> mem 0xfa800000-0xfaffffff,0xfb810000-0xfb817fff irq 48 at device 0.1 on pci129
Feb  5 01:08:56 freenas ixl1: Using MSIX interrupts with 9 vectors
Feb  5 01:08:56 freenas ixl1: f4.33 a1.2 n04.42 e80001921
Feb  5 01:08:56 freenas ixl1: The driver for the device detected an older version of the NVM image than expected.
Feb  5 01:08:56 freenas Please update the NVM image.
Feb  5 01:08:56 freenas ixl1: Using defaults for TSO: 65518/35/2048
Feb  5 01:08:56 freenas ixl1: Ethernet address: xx:xx:xx:xx:xx:xx
Feb  5 01:08:56 freenas ixl1: PCI Express Bus: Speed 5.0GT/s Width x4
Feb  5 01:08:56 freenas ixl1: PCI-Express bandwidth available for this device
Feb  5 01:08:56 freenas may be insufficient for optimal performance.
Feb  5 01:08:56 freenas ixl1: For expected performance a x8 PCIE Gen3 slot is required.

The output from sysctl -a | grep ixl shows the same:
/var/log# sysctl -a | grep ixl
device  ixl
device  ixlv
hw.ixlv.tx_itr: 122
hw.ixlv.rx_itr: 62
hw.ixlv.dynamic_tx_itr: 0
hw.ixlv.dynamic_rx_itr: 0
hw.ixlv.txbr_size: 16777216
hw.ixlv.max_queues: 0
hw.ixlv.ring_size: 1024
hw.ixl.tx_itr: 122
hw.ixl.rx_itr: 62
hw.ixl.dynamic_tx_itr: 0
hw.ixl.dynamic_rx_itr: 0
hw.ixl.max_queues: 0
hw.ixl.ring_size: 1024
hw.ixl.enable_msix: 1
dev.ixl.3.mac.xoff_recvd: 0
dev.ixl.3.mac.xoff_txd: 0
dev.ixl.3.mac.xon_recvd: 0
dev.ixl.3.mac.xon_txd: 0
dev.ixl.3.mac.tx_frames_big: 0
dev.ixl.3.mac.tx_frames_1024_1522: 0
dev.ixl.3.mac.tx_frames_512_1023: 0
dev.ixl.3.mac.tx_frames_256_511: 0
dev.ixl.3.mac.tx_frames_128_255: 0
dev.ixl.3.mac.tx_frames_65_127: 0
dev.ixl.3.mac.tx_frames_64: 0
dev.ixl.3.mac.checksum_errors: 0
dev.ixl.3.mac.rx_jabber: 0
dev.ixl.3.mac.rx_oversized: 0
dev.ixl.3.mac.rx_fragmented: 0
dev.ixl.3.mac.rx_undersize: 0
dev.ixl.3.mac.rx_frames_big: 0
dev.ixl.3.mac.rx_frames_1024_1522: 0
dev.ixl.3.mac.rx_frames_512_1023: 0
dev.ixl.3.mac.rx_frames_256_511: 0
dev.ixl.3.mac.rx_frames_128_255: 0
dev.ixl.3.mac.rx_frames_65_127: 0
dev.ixl.3.mac.rx_frames_64: 0
dev.ixl.3.mac.rx_length_errors: 0
dev.ixl.3.mac.remote_faults: 0
dev.ixl.3.mac.local_faults: 0
dev.ixl.3.mac.illegal_bytes: 0
dev.ixl.3.mac.crc_errors: 0
dev.ixl.3.mac.bcast_pkts_txd: 0
dev.ixl.3.mac.mcast_pkts_txd: 0
dev.ixl.3.mac.ucast_pkts_txd: 0
dev.ixl.3.mac.good_octets_txd: 0
dev.ixl.3.mac.rx_discards: 0
dev.ixl.3.mac.bcast_pkts_rcvd: 0
dev.ixl.3.mac.mcast_pkts_rcvd: 0
dev.ixl.3.mac.ucast_pkts_rcvd: 0
dev.ixl.3.mac.good_octets_rcvd: 0
dev.ixl.3.pf.que7.rx_bytes: 0
dev.ixl.3.pf.que7.rx_packets: 0
dev.ixl.3.pf.que7.tx_bytes: 0
dev.ixl.3.pf.que7.tx_packets: 0
dev.ixl.3.pf.que7.no_desc_avail: 0
dev.ixl.3.pf.que7.tx_dma_setup: 0
dev.ixl.3.pf.que7.tso_tx: 0
dev.ixl.3.pf.que7.irqs: 0
dev.ixl.3.pf.que7.dropped: 0
dev.ixl.3.pf.que7.mbuf_defrag_failed: 0
dev.ixl.3.pf.que6.rx_bytes: 0
dev.ixl.3.pf.que6.rx_packets: 0
dev.ixl.3.pf.que6.tx_bytes: 0
dev.ixl.3.pf.que6.tx_packets: 0
dev.ixl.3.pf.que6.no_desc_avail: 0
dev.ixl.3.pf.que6.tx_dma_setup: 0
dev.ixl.3.pf.que6.tso_tx: 0
dev.ixl.3.pf.que6.irqs: 0
dev.ixl.3.pf.que6.dropped: 0
dev.ixl.3.pf.que6.mbuf_defrag_failed: 0
dev.ixl.3.pf.que5.rx_bytes: 0
dev.ixl.3.pf.que5.rx_packets: 0
dev.ixl.3.pf.que5.tx_bytes: 0
dev.ixl.3.pf.que5.tx_packets: 0
dev.ixl.3.pf.que5.no_desc_avail: 0
dev.ixl.3.pf.que5.tx_dma_setup: 0
dev.ixl.3.pf.que5.tso_tx: 0
dev.ixl.3.pf.que5.irqs: 0
dev.ixl.3.pf.que5.dropped: 0
dev.ixl.3.pf.que5.mbuf_defrag_failed: 0
dev.ixl.3.pf.que4.rx_bytes: 0
dev.ixl.3.pf.que4.rx_packets: 0
dev.ixl.3.pf.que4.tx_bytes: 0
dev.ixl.3.pf.que4.tx_packets: 0
dev.ixl.3.pf.que4.no_desc_avail: 0
dev.ixl.3.pf.que4.tx_dma_setup: 0
dev.ixl.3.pf.que4.tso_tx: 0
dev.ixl.3.pf.que4.irqs: 0
dev.ixl.3.pf.que4.dropped: 0
dev.ixl.3.pf.que4.mbuf_defrag_failed: 0
dev.ixl.3.pf.que3.rx_bytes: 0
dev.ixl.3.pf.que3.rx_packets: 0
dev.ixl.3.pf.que3.tx_bytes: 0
dev.ixl.3.pf.que3.tx_packets: 0
dev.ixl.3.pf.que3.no_desc_avail: 0
dev.ixl.3.pf.que3.tx_dma_setup: 0
dev.ixl.3.pf.que3.tso_tx: 0
dev.ixl.3.pf.que3.irqs: 0
dev.ixl.3.pf.que3.dropped: 0
dev.ixl.3.pf.que3.mbuf_defrag_failed: 0
dev.ixl.3.pf.que2.rx_bytes: 0
dev.ixl.3.pf.que2.rx_packets: 0
dev.ixl.3.pf.que2.tx_bytes: 0
dev.ixl.3.pf.que2.tx_packets: 0
dev.ixl.3.pf.que2.no_desc_avail: 0
dev.ixl.3.pf.que2.tx_dma_setup: 0
dev.ixl.3.pf.que2.tso_tx: 0
dev.ixl.3.pf.que2.irqs: 0
dev.ixl.3.pf.que2.dropped: 0
dev.ixl.3.pf.que2.mbuf_defrag_failed: 0
dev.ixl.3.pf.que1.rx_bytes: 0
dev.ixl.3.pf.que1.rx_packets: 0
dev.ixl.3.pf.que1.tx_bytes: 0
dev.ixl.3.pf.que1.tx_packets: 0
dev.ixl.3.pf.que1.no_desc_avail: 0
dev.ixl.3.pf.que1.tx_dma_setup: 0
dev.ixl.3.pf.que1.tso_tx: 0
dev.ixl.3.pf.que1.irqs: 0
dev.ixl.3.pf.que1.dropped: 0
dev.ixl.3.pf.que1.mbuf_defrag_failed: 0
dev.ixl.3.pf.que0.rx_bytes: 0
dev.ixl.3.pf.que0.rx_packets: 0
dev.ixl.3.pf.que0.tx_bytes: 0
dev.ixl.3.pf.que0.tx_packets: 0
dev.ixl.3.pf.que0.no_desc_avail: 0
dev.ixl.3.pf.que0.tx_dma_setup: 0
dev.ixl.3.pf.que0.tso_tx: 0
dev.ixl.3.pf.que0.irqs: 0
dev.ixl.3.pf.que0.dropped: 0
dev.ixl.3.pf.que0.mbuf_defrag_failed: 0
dev.ixl.3.pf.bcast_pkts_txd: 0
dev.ixl.3.pf.mcast_pkts_txd: 0
dev.ixl.3.pf.ucast_pkts_txd: 0
dev.ixl.3.pf.good_octets_txd: 0
dev.ixl.3.pf.rx_discards: 0
dev.ixl.3.pf.bcast_pkts_rcvd: 0
dev.ixl.3.pf.mcast_pkts_rcvd: 0
dev.ixl.3.pf.ucast_pkts_rcvd: 0
dev.ixl.3.pf.good_octets_rcvd: 0
dev.ixl.3.admin_irq: 0
dev.ixl.3.watchdog_events: 0
dev.ixl.3.dynamic_tx_itr: 0
dev.ixl.3.tx_itr: 122
dev.ixl.3.dynamic_rx_itr: 0
dev.ixl.3.rx_itr: 62
dev.ixl.3.fw_version: f4.33 a1.2 n04.42 e80001921
dev.ixl.3.current_speed: Unknown
dev.ixl.3.advertise_speed: 0
dev.ixl.3.fc: 0
dev.ixl.3.%parent: pci129
dev.ixl.3.%pnpinfo: vendor=0x8086 device=0x1572 subvendor=0x8086 subdevice=0x0000 class=0x020000
dev.ixl.3.%location: slot=0 function=3 dbsf=pci0:129:0:3 handle=\_SB_.PCI1.QRP0.H003
dev.ixl.3.%driver: ixl
dev.ixl.3.%desc: Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3
dev.ixl.2.mac.xoff_recvd: 0
dev.ixl.2.mac.xoff_txd: 0
dev.ixl.2.mac.xon_recvd: 0
dev.ixl.2.mac.xon_txd: 0
dev.ixl.2.mac.tx_frames_big: 0
dev.ixl.2.mac.tx_frames_1024_1522: 0
dev.ixl.2.mac.tx_frames_512_1023: 0
dev.ixl.2.mac.tx_frames_256_511: 0
dev.ixl.2.mac.tx_frames_128_255: 0
dev.ixl.2.mac.tx_frames_65_127: 0
dev.ixl.2.mac.tx_frames_64: 0
dev.ixl.2.mac.checksum_errors: 0
dev.ixl.2.mac.rx_jabber: 0
dev.ixl.2.mac.rx_oversized: 0
dev.ixl.2.mac.rx_fragmented: 0
dev.ixl.2.mac.rx_undersize: 0
dev.ixl.2.mac.rx_frames_big: 0
dev.ixl.2.mac.rx_frames_1024_1522: 0
dev.ixl.2.mac.rx_frames_512_1023: 0
dev.ixl.2.mac.rx_frames_256_511: 0
dev.ixl.2.mac.rx_frames_128_255: 0
dev.ixl.2.mac.rx_frames_65_127: 0
dev.ixl.2.mac.rx_frames_64: 0
dev.ixl.2.mac.rx_length_errors: 0
dev.ixl.2.mac.remote_faults: 0
dev.ixl.2.mac.local_faults: 0
dev.ixl.2.mac.illegal_bytes: 0
dev.ixl.2.mac.crc_errors: 0
dev.ixl.2.mac.bcast_pkts_txd: 0
dev.ixl.2.mac.mcast_pkts_txd: 0
dev.ixl.2.mac.ucast_pkts_txd: 0
dev.ixl.2.mac.good_octets_txd: 0
dev.ixl.2.mac.rx_discards: 0
dev.ixl.2.mac.bcast_pkts_rcvd: 0
dev.ixl.2.mac.mcast_pkts_rcvd: 0
dev.ixl.2.mac.ucast_pkts_rcvd: 0
dev.ixl.2.mac.good_octets_rcvd: 0
dev.ixl.2.pf.que7.rx_bytes: 0
dev.ixl.2.pf.que7.rx_packets: 0
dev.ixl.2.pf.que7.tx_bytes: 0
dev.ixl.2.pf.que7.tx_packets: 0
dev.ixl.2.pf.que7.no_desc_avail: 0
dev.ixl.2.pf.que7.tx_dma_setup: 0
dev.ixl.2.pf.que7.tso_tx: 0
dev.ixl.2.pf.que7.irqs: 0
dev.ixl.2.pf.que7.dropped: 0
dev.ixl.2.pf.que7.mbuf_defrag_failed: 0
dev.ixl.2.pf.que6.rx_bytes: 0
dev.ixl.2.pf.que6.rx_packets: 0
dev.ixl.2.pf.que6.tx_bytes: 0
dev.ixl.2.pf.que6.tx_packets: 0
dev.ixl.2.pf.que6.no_desc_avail: 0
dev.ixl.2.pf.que6.tx_dma_setup: 0
dev.ixl.2.pf.que6.tso_tx: 0
dev.ixl.2.pf.que6.irqs: 0
dev.ixl.2.pf.que6.dropped: 0
dev.ixl.2.pf.que6.mbuf_defrag_failed: 0
dev.ixl.2.pf.que5.rx_bytes: 0
dev.ixl.2.pf.que5.rx_packets: 0
dev.ixl.2.pf.que5.tx_bytes: 0
dev.ixl.2.pf.que5.tx_packets: 0
dev.ixl.2.pf.que5.no_desc_avail: 0
dev.ixl.2.pf.que5.tx_dma_setup: 0
dev.ixl.2.pf.que5.tso_tx: 0
dev.ixl.2.pf.que5.irqs: 0
dev.ixl.2.pf.que5.dropped: 0
dev.ixl.2.pf.que5.mbuf_defrag_failed: 0
dev.ixl.2.pf.que4.rx_bytes: 0
dev.ixl.2.pf.que4.rx_packets: 0
dev.ixl.2.pf.que4.tx_bytes: 0
dev.ixl.2.pf.que4.tx_packets: 0
dev.ixl.2.pf.que4.no_desc_avail: 0
dev.ixl.2.pf.que4.tx_dma_setup: 0
dev.ixl.2.pf.que4.tso_tx: 0
dev.ixl.2.pf.que4.irqs: 0
dev.ixl.2.pf.que4.dropped: 0
dev.ixl.2.pf.que4.mbuf_defrag_failed: 0
dev.ixl.2.pf.que3.rx_bytes: 0
dev.ixl.2.pf.que3.rx_packets: 0
dev.ixl.2.pf.que3.tx_bytes: 0
dev.ixl.2.pf.que3.tx_packets: 0
dev.ixl.2.pf.que3.no_desc_avail: 0
dev.ixl.2.pf.que3.tx_dma_setup: 0
dev.ixl.2.pf.que3.tso_tx: 0
dev.ixl.2.pf.que3.irqs: 0
dev.ixl.2.pf.que3.dropped: 0
dev.ixl.2.pf.que3.mbuf_defrag_failed: 0
dev.ixl.2.pf.que2.rx_bytes: 0
dev.ixl.2.pf.que2.rx_packets: 0
dev.ixl.2.pf.que2.tx_bytes: 0
dev.ixl.2.pf.que2.tx_packets: 0
dev.ixl.2.pf.que2.no_desc_avail: 0
dev.ixl.2.pf.que2.tx_dma_setup: 0
dev.ixl.2.pf.que2.tso_tx: 0
dev.ixl.2.pf.que2.irqs: 0
dev.ixl.2.pf.que2.dropped: 0
dev.ixl.2.pf.que2.mbuf_defrag_failed: 0
dev.ixl.2.pf.que1.rx_bytes: 0
dev.ixl.2.pf.que1.rx_packets: 0
dev.ixl.2.pf.que1.tx_bytes: 0
dev.ixl.2.pf.que1.tx_packets: 0
dev.ixl.2.pf.que1.no_desc_avail: 0
dev.ixl.2.pf.que1.tx_dma_setup: 0
dev.ixl.2.pf.que1.tso_tx: 0
dev.ixl.2.pf.que1.irqs: 0
dev.ixl.2.pf.que1.dropped: 0
dev.ixl.2.pf.que1.mbuf_defrag_failed: 0
dev.ixl.2.pf.que0.rx_bytes: 0
dev.ixl.2.pf.que0.rx_packets: 0
dev.ixl.2.pf.que0.tx_bytes: 0
dev.ixl.2.pf.que0.tx_packets: 0
dev.ixl.2.pf.que0.no_desc_avail: 0
dev.ixl.2.pf.que0.tx_dma_setup: 0
dev.ixl.2.pf.que0.tso_tx: 0
dev.ixl.2.pf.que0.irqs: 0
dev.ixl.2.pf.que0.dropped: 0
dev.ixl.2.pf.que0.mbuf_defrag_failed: 0
dev.ixl.2.pf.bcast_pkts_txd: 0
dev.ixl.2.pf.mcast_pkts_txd: 0
dev.ixl.2.pf.ucast_pkts_txd: 0
dev.ixl.2.pf.good_octets_txd: 0
dev.ixl.2.pf.rx_discards: 0
dev.ixl.2.pf.bcast_pkts_rcvd: 0
dev.ixl.2.pf.mcast_pkts_rcvd: 0
dev.ixl.2.pf.ucast_pkts_rcvd: 0
dev.ixl.2.pf.good_octets_rcvd: 0
dev.ixl.2.admin_irq: 0
dev.ixl.2.watchdog_events: 0
dev.ixl.2.dynamic_tx_itr: 0
dev.ixl.2.tx_itr: 122
dev.ixl.2.dynamic_rx_itr: 0
dev.ixl.2.rx_itr: 62
dev.ixl.2.fw_version: f4.33 a1.2 n04.42 e80001921
dev.ixl.2.current_speed: Unknown
dev.ixl.2.advertise_speed: 0
dev.ixl.2.fc: 0
dev.ixl.2.%parent: pci129
dev.ixl.2.%pnpinfo: vendor=0x8086 device=0x1572 subvendor=0x8086 subdevice=0x0000 class=0x020000
dev.ixl.2.%location: slot=0 function=2 dbsf=pci0:129:0:2 handle=\_SB_.PCI1.QRP0.H002
dev.ixl.2.%driver: ixl
dev.ixl.2.%desc: Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3
dev.ixl.1.mac.xoff_recvd: 0
dev.ixl.1.mac.xoff_txd: 0
dev.ixl.1.mac.xon_recvd: 0
dev.ixl.1.mac.xon_txd: 0
dev.ixl.1.mac.tx_frames_big: 986540
dev.ixl.1.mac.tx_frames_1024_1522: 1322
dev.ixl.1.mac.tx_frames_512_1023: 2783
dev.ixl.1.mac.tx_frames_256_511: 865
dev.ixl.1.mac.tx_frames_128_255: 11683
dev.ixl.1.mac.tx_frames_65_127: 956770
dev.ixl.1.mac.tx_frames_64: 182
dev.ixl.1.mac.checksum_errors: 0
dev.ixl.1.mac.rx_jabber: 0
dev.ixl.1.mac.rx_oversized: 0
dev.ixl.1.mac.rx_fragmented: 0
dev.ixl.1.mac.rx_undersize: 0
dev.ixl.1.mac.rx_frames_big: 170898
dev.ixl.1.mac.rx_frames_1024_1522: 15641
dev.ixl.1.mac.rx_frames_512_1023: 1928
dev.ixl.1.mac.rx_frames_256_511: 2893
dev.ixl.1.mac.rx_frames_128_255: 15876
dev.ixl.1.mac.rx_frames_65_127: 809870
dev.ixl.1.mac.rx_frames_64: 34024
dev.ixl.1.mac.rx_length_errors: 0
dev.ixl.1.mac.remote_faults: 0
dev.ixl.1.mac.local_faults: 0
dev.ixl.1.mac.illegal_bytes: 0
dev.ixl.1.mac.crc_errors: 0
dev.ixl.1.mac.bcast_pkts_txd: 5
dev.ixl.1.mac.mcast_pkts_txd: 10
dev.ixl.1.mac.ucast_pkts_txd: 1960130
dev.ixl.1.mac.good_octets_txd: 8554763754
dev.ixl.1.mac.rx_discards: 0
dev.ixl.1.mac.bcast_pkts_rcvd: 6723
dev.ixl.1.mac.mcast_pkts_rcvd: 28593
dev.ixl.1.mac.ucast_pkts_rcvd: 1015814
dev.ixl.1.mac.good_octets_rcvd: 1477525571
dev.ixl.1.pf.que7.rx_bytes: 82081358
dev.ixl.1.pf.que7.rx_packets: 304266
dev.ixl.1.pf.que7.tx_bytes: 78272126
dev.ixl.1.pf.que7.tx_packets: 125743
dev.ixl.1.pf.que7.no_desc_avail: 0
dev.ixl.1.pf.que7.tx_dma_setup: 0
dev.ixl.1.pf.que7.tso_tx: 0
dev.ixl.1.pf.que7.irqs: 280038
dev.ixl.1.pf.que7.dropped: 0
dev.ixl.1.pf.que7.mbuf_defrag_failed: 0
dev.ixl.1.pf.que6.rx_bytes: 9081880
dev.ixl.1.pf.que6.rx_packets: 62289
dev.ixl.1.pf.que6.tx_bytes: 3512252
dev.ixl.1.pf.que6.tx_packets: 38820
dev.ixl.1.pf.que6.no_desc_avail: 0
dev.ixl.1.pf.que6.tx_dma_setup: 0
dev.ixl.1.pf.que6.tso_tx: 0
dev.ixl.1.pf.que6.irqs: 87580
dev.ixl.1.pf.que6.dropped: 0
dev.ixl.1.pf.que6.mbuf_defrag_failed: 0
dev.ixl.1.pf.que5.rx_bytes: 2222274
dev.ixl.1.pf.que5.rx_packets: 19549
dev.ixl.1.pf.que5.tx_bytes: 3513768
dev.ixl.1.pf.que5.tx_packets: 38838
dev.ixl.1.pf.que5.no_desc_avail: 0
dev.ixl.1.pf.que5.tx_dma_setup: 0
dev.ixl.1.pf.que5.tso_tx: 0
dev.ixl.1.pf.que5.irqs: 56119
dev.ixl.1.pf.que5.dropped: 0
dev.ixl.1.pf.que5.mbuf_defrag_failed: 0
dev.ixl.1.pf.que4.rx_bytes: 2224356
dev.ixl.1.pf.que4.rx_packets: 19574
dev.ixl.1.pf.que4.tx_bytes: 1766156434
dev.ixl.1.pf.que4.tx_packets: 337469
dev.ixl.1.pf.que4.no_desc_avail: 0
dev.ixl.1.pf.que4.tx_dma_setup: 0
dev.ixl.1.pf.que4.tso_tx: 0
dev.ixl.1.pf.que4.irqs: 110478
dev.ixl.1.pf.que4.dropped: 0
dev.ixl.1.pf.que4.mbuf_defrag_failed: 0
dev.ixl.1.pf.que3.rx_bytes: 65728398
dev.ixl.1.pf.que3.rx_packets: 170868
dev.ixl.1.pf.que3.tx_bytes: 189361124
dev.ixl.1.pf.que3.tx_packets: 62086
dev.ixl.1.pf.que3.no_desc_avail: 0
dev.ixl.1.pf.que3.tx_dma_setup: 0
dev.ixl.1.pf.que3.tso_tx: 0
dev.ixl.1.pf.que3.irqs: 160947
dev.ixl.1.pf.que3.dropped: 0
dev.ixl.1.pf.que3.mbuf_defrag_failed: 0
dev.ixl.1.pf.que2.rx_bytes: 5120910
dev.ixl.1.pf.que2.rx_packets: 29907
dev.ixl.1.pf.que2.tx_bytes: 10503756
dev.ixl.1.pf.que2.tx_packets: 116224
dev.ixl.1.pf.que2.no_desc_avail: 0
dev.ixl.1.pf.que2.tx_dma_setup: 0
dev.ixl.1.pf.que2.tso_tx: 0
dev.ixl.1.pf.que2.irqs: 78865
dev.ixl.1.pf.que2.dropped: 0
dev.ixl.1.pf.que2.mbuf_defrag_failed: 0
dev.ixl.1.pf.que1.rx_bytes: 6653384
dev.ixl.1.pf.que1.rx_packets: 58530
dev.ixl.1.pf.que1.tx_bytes: 1986901234
dev.ixl.1.pf.que1.tx_packets: 579000
dev.ixl.1.pf.que1.no_desc_avail: 0
dev.ixl.1.pf.que1.tx_dma_setup: 0
dev.ixl.1.pf.que1.tso_tx: 0
dev.ixl.1.pf.que1.irqs: 256628
dev.ixl.1.pf.que1.dropped: 0
dev.ixl.1.pf.que1.mbuf_defrag_failed: 0
dev.ixl.1.pf.que0.rx_bytes: 1298207552
dev.ixl.1.pf.que0.rx_packets: 356932
dev.ixl.1.pf.que0.tx_bytes: 4508701166
dev.ixl.1.pf.que0.tx_packets: 661984
dev.ixl.1.pf.que0.no_desc_avail: 0
dev.ixl.1.pf.que0.tx_dma_setup: 0
dev.ixl.1.pf.que0.tso_tx: 0
dev.ixl.1.pf.que0.irqs: 352857
dev.ixl.1.pf.que0.dropped: 0
dev.ixl.1.pf.que0.mbuf_defrag_failed: 0
dev.ixl.1.pf.bcast_pkts_txd: 0
dev.ixl.1.pf.mcast_pkts_txd: 1
dev.ixl.1.pf.ucast_pkts_txd: 1768185
dev.ixl.1.pf.good_octets_txd: 7164353500
dev.ixl.1.pf.rx_discards: 0
dev.ixl.1.pf.bcast_pkts_rcvd: 1675
dev.ixl.1.pf.mcast_pkts_rcvd: 0
dev.ixl.1.pf.ucast_pkts_rcvd: 929436
dev.ixl.1.pf.good_octets_rcvd: 1444526168
dev.ixl.1.admin_irq: 0
dev.ixl.1.watchdog_events: 0
dev.ixl.1.dynamic_tx_itr: 0
dev.ixl.1.tx_itr: 122
dev.ixl.1.dynamic_rx_itr: 0
dev.ixl.1.rx_itr: 62
dev.ixl.1.fw_version: f4.33 a1.2 n04.42 e80001921
dev.ixl.1.current_speed: 10G
dev.ixl.1.advertise_speed: 0
dev.ixl.1.fc: 0
dev.ixl.1.%parent: pci129
dev.ixl.1.%pnpinfo: vendor=0x8086 device=0x1572 subvendor=0x8086 subdevice=0x0000 class=0x020000
dev.ixl.1.%location: slot=0 function=1 dbsf=pci0:129:0:1 handle=\_SB_.PCI1.QRP0.H001
dev.ixl.1.%driver: ixl
dev.ixl.1.%desc: Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3
dev.ixl.0.mac.xoff_recvd: 0
dev.ixl.0.mac.xoff_txd: 0
dev.ixl.0.mac.xon_recvd: 0
dev.ixl.0.mac.xon_txd: 0
dev.ixl.0.mac.tx_frames_big: 1078925
dev.ixl.0.mac.tx_frames_1024_1522: 0
dev.ixl.0.mac.tx_frames_512_1023: 564
dev.ixl.0.mac.tx_frames_256_511: 139
dev.ixl.0.mac.tx_frames_128_255: 9882
dev.ixl.0.mac.tx_frames_65_127: 693072
dev.ixl.0.mac.tx_frames_64: 196
dev.ixl.0.mac.checksum_errors: 0
dev.ixl.0.mac.rx_jabber: 0
dev.ixl.0.mac.rx_oversized: 0
dev.ixl.0.mac.rx_fragmented: 0
dev.ixl.0.mac.rx_undersize: 0
dev.ixl.0.mac.rx_frames_big: 13032
dev.ixl.0.mac.rx_frames_1024_1522: 752
dev.ixl.0.mac.rx_frames_512_1023: 275
dev.ixl.0.mac.rx_frames_256_511: 1301
dev.ixl.0.mac.rx_frames_128_255: 18289
dev.ixl.0.mac.rx_frames_65_127: 822470
dev.ixl.0.mac.rx_frames_64: 27584
dev.ixl.0.mac.rx_length_errors: 0
dev.ixl.0.mac.remote_faults: 0
dev.ixl.0.mac.local_faults: 0
dev.ixl.0.mac.illegal_bytes: 0
dev.ixl.0.mac.crc_errors: 0
dev.ixl.0.mac.bcast_pkts_txd: 159
dev.ixl.0.mac.mcast_pkts_txd: 4
dev.ixl.0.mac.ucast_pkts_txd: 1782613
dev.ixl.0.mac.good_octets_txd: 9559453030
dev.ixl.0.mac.rx_discards: 0
dev.ixl.0.mac.bcast_pkts_rcvd: 129
dev.ixl.0.mac.mcast_pkts_rcvd: 28592
dev.ixl.0.mac.ucast_pkts_rcvd: 854982
dev.ixl.0.mac.good_octets_rcvd: 191097662
dev.ixl.0.pf.que7.rx_bytes: 5169822
dev.ixl.0.pf.que7.rx_packets: 30590
dev.ixl.0.pf.que7.tx_bytes: 382809682
dev.ixl.0.pf.que7.tx_packets: 162907
dev.ixl.0.pf.que7.no_desc_avail: 0
dev.ixl.0.pf.que7.tx_dma_setup: 0
dev.ixl.0.pf.que7.tso_tx: 0
dev.ixl.0.pf.que7.irqs: 103503
dev.ixl.0.pf.que7.dropped: 0
dev.ixl.0.pf.que7.mbuf_defrag_failed: 0
dev.ixl.0.pf.que6.rx_bytes: 12444110
dev.ixl.0.pf.que6.rx_packets: 79117
dev.ixl.0.pf.que6.tx_bytes: 191255242
dev.ixl.0.pf.que6.tx_packets: 101223
dev.ixl.0.pf.que6.no_desc_avail: 0
dev.ixl.0.pf.que6.tx_dma_setup: 0
dev.ixl.0.pf.que6.tso_tx: 0
dev.ixl.0.pf.que6.irqs: 108371
dev.ixl.0.pf.que6.dropped: 0
dev.ixl.0.pf.que6.mbuf_defrag_failed: 0
dev.ixl.0.pf.que5.rx_bytes: 7362994
dev.ixl.0.pf.que5.rx_packets: 49761
dev.ixl.0.pf.que5.tx_bytes: 10502738
dev.ixl.0.pf.que5.tx_packets: 116219
dev.ixl.0.pf.que5.no_desc_avail: 0
dev.ixl.0.pf.que5.tx_dma_setup: 0
dev.ixl.0.pf.que5.tso_tx: 0
dev.ixl.0.pf.que5.irqs: 104282
dev.ixl.0.pf.que5.dropped: 0
dev.ixl.0.pf.que5.mbuf_defrag_failed: 0
dev.ixl.0.pf.que4.rx_bytes: 6652064
dev.ixl.0.pf.que4.rx_packets: 58512
dev.ixl.0.pf.que4.tx_bytes: 73411876
dev.ixl.0.pf.que4.tx_packets: 48570
dev.ixl.0.pf.que4.no_desc_avail: 0
dev.ixl.0.pf.que4.tx_dma_setup: 0
dev.ixl.0.pf.que4.tso_tx: 0
dev.ixl.0.pf.que4.irqs: 84046
dev.ixl.0.pf.que4.dropped: 0
dev.ixl.0.pf.que4.mbuf_defrag_failed: 0
dev.ixl.0.pf.que3.rx_bytes: 4683548
dev.ixl.0.pf.que3.rx_packets: 23759
dev.ixl.0.pf.que3.tx_bytes: 4455665724
dev.ixl.0.pf.que3.tx_packets: 659800
dev.ixl.0.pf.que3.no_desc_avail: 0
dev.ixl.0.pf.que3.tx_dma_setup: 0
dev.ixl.0.pf.que3.tso_tx: 0
dev.ixl.0.pf.que3.irqs: 132667
dev.ixl.0.pf.que3.dropped: 0
dev.ixl.0.pf.que3.mbuf_defrag_failed: 0
dev.ixl.0.pf.que2.rx_bytes: 76242928
dev.ixl.0.pf.que2.rx_packets: 313873
dev.ixl.0.pf.que2.tx_bytes: 930
dev.ixl.0.pf.que2.tx_packets: 21
dev.ixl.0.pf.que2.no_desc_avail: 0
dev.ixl.0.pf.que2.tx_dma_setup: 0
dev.ixl.0.pf.que2.tso_tx: 0
dev.ixl.0.pf.que2.irqs: 187104
dev.ixl.0.pf.que2.dropped: 0
dev.ixl.0.pf.que2.mbuf_defrag_failed: 0
dev.ixl.0.pf.que1.rx_bytes: 740
dev.ixl.0.pf.que1.rx_packets: 10
dev.ixl.0.pf.que1.tx_bytes: 4249316418
dev.ixl.0.pf.que1.tx_packets: 632013
dev.ixl.0.pf.que1.no_desc_avail: 0
dev.ixl.0.pf.que1.tx_dma_setup: 0
dev.ixl.0.pf.que1.tso_tx: 0
dev.ixl.0.pf.que1.irqs: 120896
dev.ixl.0.pf.que1.dropped: 0
dev.ixl.0.pf.que1.mbuf_defrag_failed: 0
dev.ixl.0.pf.que0.rx_bytes: 73019564
dev.ixl.0.pf.que0.rx_packets: 299099
dev.ixl.0.pf.que0.tx_bytes: 189357874
dev.ixl.0.pf.que0.tx_packets: 62043
dev.ixl.0.pf.que0.no_desc_avail: 0
dev.ixl.0.pf.que0.tx_dma_setup: 0
dev.ixl.0.pf.que0.tso_tx: 0
dev.ixl.0.pf.que0.irqs: 248930
dev.ixl.0.pf.que0.dropped: 0
dev.ixl.0.pf.que0.mbuf_defrag_failed: 0
dev.ixl.0.pf.bcast_pkts_txd: 147
dev.ixl.0.pf.mcast_pkts_txd: 0
dev.ixl.0.pf.ucast_pkts_txd: 1546775
dev.ixl.0.pf.good_octets_txd: 7812714420
dev.ixl.0.pf.rx_discards: 0
dev.ixl.0.pf.bcast_pkts_rcvd: 125
dev.ixl.0.pf.mcast_pkts_rcvd: 0
dev.ixl.0.pf.ucast_pkts_rcvd: 741331
dev.ixl.0.pf.good_octets_rcvd: 158557700
dev.ixl.0.admin_irq: 0
dev.ixl.0.watchdog_events: 0
dev.ixl.0.dynamic_tx_itr: 0
dev.ixl.0.tx_itr: 122
dev.ixl.0.dynamic_rx_itr: 0
dev.ixl.0.rx_itr: 62
dev.ixl.0.fw_version: f4.33 a1.2 n04.42 e80001921
dev.ixl.0.current_speed: 10G
dev.ixl.0.advertise_speed: 0
dev.ixl.0.fc: 0
dev.ixl.0.%parent: pci129
dev.ixl.0.%pnpinfo: vendor=0x8086 device=0x1572 subvendor=0x8086 subdevice=0x0001 class=0x020000
dev.ixl.0.%location: slot=0 function=0 dbsf=pci0:129:0:0 handle=\_SB_.PCI1.QRP0.H000
dev.ixl.0.%driver: ixl
dev.ixl.0.%desc: Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3
dev.ixl.%parent:
 
Last edited by a moderator:

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Double check that the file is in the correct spot and correct file name? /boot/kernel/if_ixl_updated.ko
If you read through /var/log/messages after a reboot, does it show any errors or warning about the driver or card?
Make sure you don't have a space at the end of your loader tunable.
What version of FreeNAS are you running?
You're pretty far back on the NVM firmware version for the card (4.33). I wonder if that is the issue? I started with 5.04 and am now on 5.05 but couldn't upgrade to 5.05 until I had the 1.4.27 driver loaded.
I don't know what else to check...it seems you've covered all the steps after you run through these last checks.
 

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
I've updated the first post with an latest Intel driver (version 1.7.11, release 2/13/2017) for the X710/XL710 family. I've tested against FreeNAS 9.10.2-U1 and everything seems to be working great.
To install:
-extract if_ixl_1711.ko and copy to /boot/kernel
-chmod 0555 on the file
-from the GUI > system > tunables add the following loader
Variable: if_ixl_1711_load
Value: YES
Type: loader
Enable: true
-reboot
-verify the driver is loaded "sysctl -a | grep dev.ixl.0.%desc"

Here is the output from my system.
dev.ixl.0.%desc: Intel(R) Ethernet Connection XL710/X722 Driver, Version - 1.7.11
 

RobL

Dabbler
Joined
Mar 23, 2017
Messages
19
@bigphil @AirportGuy - I'm seeing precisely the same behaviour on my FreeNAS-9.10.2-U2 (e1497f2) system with a dual port X710 Intel 10GE NIC.

I have an NVM firmware problem also, and can't seem to avoid loading the 1.4.3 version of the driver which I can't find anywhere. I've installed the 1.7.11 driver as above, but it never loads. Kernel drops out to the debugger due to the NVM mismatch with the 1.4.3 driver. Removing the X710 PCI device lets me boot again, and I'm keen to identify where this 1.4.3 driver is and to spank it and tell it to stay home.

Help much appreciated!

Thanks,
--RobL.
 

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Try loading the 1.4.27 driver first and then update the NVM image to 5.05 (assuming it's something lower). After you get the firmware upgraded, try the 1.7.11 driver. The 1.4.3 version of the driver is baked into the kernel so you can't remove it. You could tell it not to load, but following my steps you shouldn't have to. It should load the kernel module first and when it then tries to load the baked in driver it will fail because its already loaded. It would be a benign message in /var/log/messages stating this.
 
Last edited:

RobL

Dabbler
Joined
Mar 23, 2017
Messages
19
Thanks @bigphil

Where is the best place to pickup a clean 1.4.23 driver? Intel only provide the src files, and I haven't got a FreeBSD dev/build server to build it.

--RobL.
 

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Thanks @bigphil

Where is the best place to pickup a clean 1.4.23 driver? Intel only provide the src files, and I haven't got a FreeBSD dev/build server to build it.

--RobL.

Here it is. Per my above instructions, you'll need to change the loader variable to say: if_ixl_1427_load
 

Attachments

  • if_ixl_1427.zip
    62.8 KB · Views: 260

RobL

Dabbler
Joined
Mar 23, 2017
Messages
19
So ... the 1.4.27 driver went in like a treat. However, it is finding only one of the two PCIe 10GE ports. Glossing over that on the journey to NVM 5.05 I downloaded the FreeBSD nvmupdate64e utility and ran it. Output below:

Code:
[root@zfs1-FreeNAS] /var/tmp/XL710/FreeBSDx64# ./nvmupdate64e -i -l -o inventory.xml

Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.28.19.4
Copyright (C) 2013 - 2016 Intel Corporation.

Unsupported device found - DeviceId: 100F
Warning: Initialization failed: [00:019:00:01] Intel(R) Ethernet Controller X710 for 10GbE SFP+. Cannot connect to base driver.
Inventory
[00:019:00:00]: Intel(R) Ethernet Converged Network Adapter X710
		EEPROM inventory started
Alternate MAC address is not set
		EEPROM inventory finished
		Flash inventory started
		Flash inventory finished
		OROM inventory started
		OROM inventory finished
[00:019:00:00]: Intel(R) Ethernet Converged Network Adapter X710
		Vendor				 : 8086
		Device				 : 1572
		Subvendor			  : 8086
		Subdevice			  : 6
		Revision			   : 1
		LAN MAC				: 3CFFFFFF55A0
		Alt MAC				: 000000000000
		SAN MAC				: 3CFFFFFF55A1
		ETrackId			   : 80001866
		NVM Version			: 4.41
		Flash update		   : No config file entry
		  size				 : 8388608
		VPD status:			: Valid
		VPD size			   : 304
		NVM update			 : No config file entry
		  checksum			 : Valid
		OROM update			: No config file entry
		  CIVD				 : 16.5.20
		  PXE				  : 1.0.10, checksum Not Relevant
		  ISCSI				: 3.0.44, checksum Not Relevant
		  ISCSI_SETUP		  : 3.0.44, checksum Not Relevant
		  EFI				  : 1.1.33, checksum None
		  SMCLP				: 3.0.30, checksum Valid
		  IMAGE_SHARED_40G	 : 1.0.7, checksum Not Relevant
[root@zfs1-FreeNAS] /var/tmp/XL710/FreeBSDx64# 



Code:
[root@zfs1-FreeNAS] /var/tmp/XL710/FreeBSDx64# ./nvmupdate64e

Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.28.19.4
Copyright (C) 2013 - 2016 Intel Corporation.


WARNING: To avoid damage to your device, do not stop the update or reboot or power off the system during this update.
Inventory in progress. Please wait [*.........]


Num Description							   Ver. DevId S:B	Status
=== ======================================== ===== ===== ====== ===============
01) Intel(R) PRO/1000 MT Network Connection		 100F 00:002 Not supported 
02) Intel(R) Ethernet Converged Network	   4.41  1572 00:019 Update not	
	Adapter X710												available


Tool execution completed with the following status: Device not found
Press any key to exit.


So - the 1.4.27 driver is finding the first PCIe device, but refusing to update the NVM code from 4.41 to 5.05. So I think I have two issues here.

1) I'm only seeing one of the two 10GE ports on the X710 with the 1.4.27 driver
2) I can't update to the NVM 5.05 version to run the 1.7.11 driver which may or may not fix the port problem

Open to any suggestions where to go from here!

BTW: This is a VM on ESXi 6.0, with Passthrough configured so ESX doesn't see and can't upgrade the X710 - only my FreeNAS VM has access to the X710 (both PCIe device ports). I've tried using NVM Update on ESX with the VM shutdown, so this doesn't appear to be a device reservation issue.

Many thanks in advance!

--RobL.
 
Last edited:

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Lets first work on getting the NVM image updated. I'd do it this way >
Turn off the FreeNAS vm, and remove the passthrough config so that the ESXi host has direct access (you may need to reboot after you remove the passthrough settings). Make sure you're host is running the 1.4.28 version of the i40e driver. You may find out which version is loaded by running "esxcli network nic get -n vmnic0" (where 0 is the vmnic number of one of your X710 ports. If anything other than 1.4.28 is listed, update that vib first. Here is a link to it. How to use esxcli to update a vib. Once you have the latest driver loaded (and host rebooted), you'll need to get the fw update to 5.05. Use this package to upgrade the firmware from within ESXi. Extract all of the files into a local datastore on the host and give the file "nvmupdate64e" 0777 access. Run the file and it should update the NVM image. After you confirm that the NVM image has been successfully updated, you may then reconfigure your FreeNAS vm for pci passthrough and try the 1.7.11 driver again.
 
Last edited:

RobL

Dabbler
Joined
Mar 23, 2017
Messages
19
@bigphil thanks for sticking with this ... what a royal pain. I'm discovering how "not production ready" the Dell R730xd is with the Dell provided X710 Intel NICs. Stories of PSODs and all sorts. Anyway, here's what I've done ...

Stopped the FreeNAS VM.

Removed the Passthrough config for both X710 PCIe devices, making them available natively to ESXi 6.5.0.

Disabled i40en driver, allowing the i40e to take both NICs - now vmnic4 and vmnic5

There are strong suggestions that I need to disable LRO and TSO globally for the X710 pNICs, which I haven't done, yet.

Code:
esxcli system settings advanced set -o /Net/UseHwTSO -i 0
esxcli system settings advanced set -o /Net/TcpipDefLROEnabled -i 0


Again, I haven't disabled these features yet, so they remain enabled in the i40e driver.

Loaded the nvmupdate64e utililty on the ESXi host and ran it ...

Code:
Num Description							   Ver. DevId S:B	Status
=== ======================================== ===== ===== ====== ===============
01) Intel(R) Ethernet 10G 4P X520/I350 rNDC  64.40  10FB 00:001 Update not	
																available
02) Intel(R) Ethernet Converged Network	   4.41  1572 00:129 Update not	
	Adapter X710												available


Here's the output, showing the i40e driver version 1.4.28 as loaded, with firmware 4.41 still.

Code:
[root@sds01:/tmp/ttt/XL710/ESXi_x64] esxcli network nic get -n vmnic4
   Advertised Auto Negotiation: false
   Advertised Link Modes:
   Auto Negotiation: false
   Cable Type:
   Current Message Level: 15
   Driver Info:
		 Bus Info: 0000:81:00.0
		 Driver: i40e
		 Firmware Version: 4.41 0x80001866 16.5.20
		 Version: 1.4.28
   Link Detected: true
   Link Status: Up
   Name: vmnic4
   PHYAddress: 0
   Pause Autonegotiate: false
   Pause RX: false
   Pause TX: false
   Supported Ports: FIBRE
   Supports Auto Negotiation: false
   Supports Pause: true
   Supports Wakeon: true
   Transceiver: external
   Virtual Address: 00:50:xx:xx:xx:xx
   Wakeon: MagicPacket(tm)
[root@sds01:/tmp/ttt/XL710/ESXi_x64]


The problem now appears to be the repeated "Update not available" status. I am digging into that.
 
Last edited:

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Your previous post said ESXi 6.0, now you say 6.5. If truly 6.5, there is no need for the i40e driver. The i40en (1.2.1 Intel driver or native ok) should be used instead. Still...either should be OK but what it sounds like is this card may not be an Intel branded X710 but a Dell OEM. Use the Dell firmware to update the NVM image.
 

RobL

Dabbler
Joined
Mar 23, 2017
Messages
19
Weird - I am sure I responded to this post yesterday, and yet it has vanished. Anyway ...

Yup - this is a Dell OEM X710, which doesn't identify itself as such in the Lifecycle controller used to update firmware, so it is hard to tell other than by looking at the Dell TAG sticker on the physical card.

It was a long slog to get the Lifecycle controller to update the NVM firmware, but its at 5.05 now, and I have re-enabled the i40en native driver in ESXi6.5.0 (not used) and loaded the 1.7.11 driver in FreeNAS 9.10. I can see both ixl0 and ixl1 interfaces and passing them through directly to the FreeNAS VM so ESXi is out of the loop.

Interestingly, FreeBSD complains when booting that the NIC will perform better if in a x8 PCIe slot, when it is in a x16 slot. Hmmm. Ignoring that, but worrying "driver quality" perhaps?

Now I get to play at last!

Many thanks for your help and sticking with this @bigphil
 

bigphil

Patron
Joined
Jan 30, 2014
Messages
486
Glad to help. As for the driver complaining about not being in an X8 PCIe slot...even though your physical link may be an x16, it may only be an x4 electrical. Check your motherboard documentation.
 
Status
Not open for further replies.
Top