X710 with passive DAC does not work (@Ubuntu it's working)

Hello
sorry for my bad english…

I’m using a Minisforum MS-01 with the internal X710 NIC and a passive DAC cable from FS (coded for intel) to a Zyxel Switch. The Hardware setup works when using UBUNTU 24.04 LTS out of the box.

When switching to the actual TrueNAS Scale the NIC port with the DAC cable does not get a link. (With 10G-SFP LR Modules from FS (coded intel) and fribre cable it’s working on both operating systems But it needs )

I tried to get it working multiple times, but nothing did work.
For debugging purposes I put some outputs of both “ethtool”, “ethtool -i”, “lspci -vvv -nn -s 08:00.1” and “modinfo i40e”.

TrueNAS Scale:

root@furlinger[/var/empty]# ethtool enp8s0f1
Settings for enp8s0f1:
	Supported ports: [  ]
	Supported link modes:   10000baseT/Full
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: No
	Supported FEC modes: Not reported
	Advertised link modes:  10000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: Unknown!
	Duplex: Unknown! (255)
	Auto-negotiation: off
	Port: Other
	PHYAD: 0
	Transceiver: internal
	Supports Wake-on: g
	Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: no


root@furlinger[/var/empty]# ethtool -i enp8s0f1   
driver: i40e
version: 6.6.44-production+truenas
firmware-version: 9.20 0x8000d8c5 0.0.0
expansion-rom-version: 
bus-info: 0000:08:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes


root@furlinger[/var/empty]# lspci -vvv -nn -s 08:00.1 
08:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)
	Subsystem: Intel Corporation Ethernet Converged Network Adapter X710 [8086:0000]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	IOMMU group: 24
	Region 0: Memory at 611c800000 (64-bit, prefetchable) [size=8M]
	Region 3: Memory at 611e000000 (64-bit, prefetchable) [size=32K]
	Expansion ROM at 6cb00000 [disabled] [size=512K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
		Address: 0000000000000000  Data: 0000
		Masking: 00000000  Pending: 00000000
	Capabilities: [70] MSI-X: Enable+ Count=129 Masked-
		Vector table: BAR=3 offset=00000000
		PBA: BAR=3 offset=00001000
	Capabilities: [a0] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 2048 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop- FLReset-
			MaxPayload 256 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <16us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 8GT/s, Width x4
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp- ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v2] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt+ UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [140 v1] Device Serial Number f3-98-76-ff-ff-ca-47-58
	Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
		ARICap:	MFVC- ACS-, Next Function: 0
		ARICtl:	MFVC- ACS-, Function Group: 0
	Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
		IOVCap:	Migration- 10BitTagReq- Interrupt Message Number: 000
		IOVCtl:	Enable- Migration- Interrupt- MSE- ARIHierarchy- 10BitTagReq-
		IOVSta:	Migration-
		Initial VFs: 64, Total VFs: 64, Number of VFs: 0, Function Dependency Link: 01
		VF offset: 79, stride: 1, Device ID: 154c
		Supported Page Size: 00000553, System Page Size: 00000001
		Region 0: Memory at 000000611d800000 (64-bit, prefetchable)
		Region 3: Memory at 000000611e010000 (64-bit, prefetchable)
		VF Migration: offset: 00000000, BIR: 0
	Capabilities: [1a0 v1] Transaction Processing Hints
		Device specific mode supported
		No steering table available
	Capabilities: [1b0 v1] Access Control Services
		ACSCap:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
		ACSCtl:	SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
	Kernel driver in use: i40e
	Kernel modules: i40e

root@furlinger[/var/empty]# modinfo i40e 
filename:       /lib/modules/6.6.44-production+truenas/kernel/drivers/net/ethernet/intel/i40e/i40e.ko
license:        GPL v2
description:    Intel(R) Ethernet Connection XL710 Network Driver
author:         Intel Corporation, <e1000-devel@lists.sourceforge.net>
alias:          pci:v00008086d0000158Bsv*sd*bc*sc*i*
alias:          pci:v00008086d0000158Asv*sd*bc*sc*i*
alias:          pci:v00008086d00000D58sv*sd*bc*sc*i*
alias:          pci:v00008086d00000CF8sv*sd*bc*sc*i*
alias:          pci:v00008086d00001588sv*sd*bc*sc*i*
alias:          pci:v00008086d00001587sv*sd*bc*sc*i*
alias:          pci:v00008086d00000DDAsv*sd*bc*sc*i*
alias:          pci:v00008086d000037D3sv*sd*bc*sc*i*
alias:          pci:v00008086d000037D2sv*sd*bc*sc*i*
alias:          pci:v00008086d000037D1sv*sd*bc*sc*i*
alias:          pci:v00008086d000037D0sv*sd*bc*sc*i*
alias:          pci:v00008086d000037CFsv*sd*bc*sc*i*
alias:          pci:v00008086d000037CEsv*sd*bc*sc*i*
alias:          pci:v00008086d0000104Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000104Esv*sd*bc*sc*i*
alias:          pci:v00008086d000015FFsv*sd*bc*sc*i*
alias:          pci:v00008086d00001589sv*sd*bc*sc*i*
alias:          pci:v00008086d00001586sv*sd*bc*sc*i*
alias:          pci:v00008086d00000DD2sv*sd*bc*sc*i*
alias:          pci:v00008086d00001585sv*sd*bc*sc*i*
alias:          pci:v00008086d00001584sv*sd*bc*sc*i*
alias:          pci:v00008086d00001583sv*sd*bc*sc*i*
alias:          pci:v00008086d00001581sv*sd*bc*sc*i*
alias:          pci:v00008086d00001580sv*sd*bc*sc*i*
alias:          pci:v00008086d00001574sv*sd*bc*sc*i*
alias:          pci:v00008086d00001572sv*sd*bc*sc*i*
depends:        
retpoline:      Y
intree:         Y
name:           i40e
vermagic:       6.6.44-production+truenas SMP preempt mod_unload modversions 
parm:           debug:Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX) (uint)

Ubuntu 24.02 LTS:

ubuntu@ubuntu:~$ ethtool enp8s0f1np1
Settings for enp8s0f1np1:
	Supported ports: [ FIBRE ]
	Supported link modes:   10000baseT/Full
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: No
	Supported FEC modes: Not reported
	Advertised link modes:  10000baseT/Full
	Advertised pause frame use: No
	Advertised auto-negotiation: No
	Advertised FEC modes: Not reported
	Speed: 10000Mb/s
	Duplex: Full
	Auto-negotiation: off
	Port: Direct Attach Copper
	PHYAD: 0
	Transceiver: internal
netlink error: Operation not permitted
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: yes


ubuntu@ubuntu:~$ ethtool -i enp8s0f1np1
driver: i40e
version: 6.11.0-17-generic
firmware-version: 9.20 0x8000d8c5 0.0.0
expansion-rom-version:
bus-info: 0000:08:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

ubuntu@ubuntu:~$ lspci -vvv -nn -s 08:00.1
08:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)
	Subsystem: Intel Corporation Ethernet Converged Network Adapter X710 [8086:0000]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	IOMMU group: 24
	Region 0: Memory at 611c800000 (64-bit, prefetchable) [size=8M]
	Region 3: Memory at 611e000000 (64-bit, prefetchable) [size=32K]
	Expansion ROM at 6cb00000 [disabled] [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: i40e
	Kernel modules: i40e


ubuntu@ubuntu:~$ modinfo i40e
filename:       /lib/modules/6.11.0-17-generic/kernel/drivers/net/ethernet/intel/i40e/i40e.ko.zst
license:        GPL v2
import_ns:      LIBIE
description:    Intel(R) Ethernet Connection XL710 Network Driver
srcversion:     67BA2C92026E29EF9B4B3FD
alias:          pci:v00008086d0000158Bsv*sd*bc*sc*i*
alias:          pci:v00008086d0000158Asv*sd*bc*sc*i*
alias:          pci:v00008086d00000D58sv*sd*bc*sc*i*
alias:          pci:v00008086d00000CF8sv*sd*bc*sc*i*
alias:          pci:v00008086d00001588sv*sd*bc*sc*i*
alias:          pci:v00008086d00001587sv*sd*bc*sc*i*
alias:          pci:v00008086d00000DDAsv*sd*bc*sc*i*
alias:          pci:v00008086d000037D3sv*sd*bc*sc*i*
alias:          pci:v00008086d000037D2sv*sd*bc*sc*i*
alias:          pci:v00008086d000037D1sv*sd*bc*sc*i*
alias:          pci:v00008086d000037D0sv*sd*bc*sc*i*
alias:          pci:v00008086d000037CFsv*sd*bc*sc*i*
alias:          pci:v00008086d000037CEsv*sd*bc*sc*i*
alias:          pci:v00008086d0000104Fsv*sd*bc*sc*i*
alias:          pci:v00008086d0000104Esv*sd*bc*sc*i*
alias:          pci:v00008086d000015FFsv*sd*bc*sc*i*
alias:          pci:v00008086d00001589sv*sd*bc*sc*i*
alias:          pci:v00008086d00001586sv*sd*bc*sc*i*
alias:          pci:v00008086d00000DD2sv*sd*bc*sc*i*
alias:          pci:v00008086d00001585sv*sd*bc*sc*i*
alias:          pci:v00008086d00001584sv*sd*bc*sc*i*
alias:          pci:v00008086d00001583sv*sd*bc*sc*i*
alias:          pci:v00008086d00001581sv*sd*bc*sc*i*
alias:          pci:v00008086d00001580sv*sd*bc*sc*i*
alias:          pci:v00008086d00001574sv*sd*bc*sc*i*
alias:          pci:v00008086d00001572sv*sd*bc*sc*i*
depends:        libie
retpoline:      Y
intree:         Y
name:           i40e
vermagic:       6.11.0-17-generic SMP preempt mod_unload modversions
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        04:C4:4A:DA:A5:9C:D1:96:25:C7:2E:72:7F:7D:11:93:C0:17:79:26
sig_hashalgo:   sha512
signature:      9A:37:6A:0B:22:59:F8:C2:53:BF:1E:22:09:89:B0:D8:28:8C:CA:FE:
		5F:53:4D:A4:0D:42:2A:95:7F:30:A7:E2:DE:FD:15:DD:2E:6F:71:C3:
		DD:10:60:4E:01:43:18:6B:27:A4:87:F2:1C:25:8A:5C:A0:2F:B4:FB:
		81:D1:61:C0:99:A1:4D:B8:E2:D6:B0:37:CE:71:B7:2B:5C:84:61:62:
		7C:44:79:65:1F:BD:EB:D1:17:05:EF:22:A4:55:F5:AB:A4:53:44:23:
		AE:25:47:31:FE:70:B0:2D:62:34:53:11:08:98:54:FB:54:6A:7E:35:
		34:EE:4D:9B:FE:29:7C:9F:0F:58:4C:E7:06:0E:BA:24:28:57:A9:B8:
		29:A9:92:03:AA:99:55:39:24:2B:9C:1F:9E:64:36:59:9A:BD:BB:D3:
		42:87:3A:07:4D:B0:6D:C3:40:C8:C5:54:E2:B4:7F:33:0F:FD:51:68:
		6C:78:59:3F:A8:2C:E4:44:66:21:74:BA:B0:05:74:78:03:6C:00:D7:
		6D:20:DF:F2:DC:69:5D:A7:0C:D2:D7:E5:1F:51:F1:BA:70:1E:7B:49:
		E7:F5:C4:23:A7:BC:5C:E9:8A:37:F1:D4:9C:31:8B:A3:20:2B:D4:49:
		24:1A:B4:CD:9B:E7:7D:3E:75:2B:85:67:C9:63:E4:DD:C6:96:0B:94:
		D5:E4:7E:6C:5C:0B:70:CE:4F:A6:53:A6:DF:8A:17:00:24:37:25:EB:
		E2:8A:2B:54:67:94:E1:F2:B0:64:D2:92:53:AF:76:93:68:EB:9D:A3:
		40:5B:DD:76:6B:25:22:F8:34:38:EE:84:BA:C8:82:9C:B9:74:60:7A:
		B8:DF:48:25:89:FD:93:D8:D5:7B:57:A5:E1:91:0F:D6:00:A3:10:71:
		C8:6E:A8:CC:B2:89:5F:23:2F:FA:EB:AB:F1:57:BF:4D:F5:0B:33:D5:
		12:A5:E3:FC:DA:58:2D:1D:50:DE:FF:F9:86:4A:F6:58:FF:96:6B:42:
		5C:00:8F:F6:3A:0A:0A:B2:37:0B:79:71:A1:D4:F9:19:C9:E0:8D:DD:
		C6:EF:C2:D2:FD:2B:FC:F1:DC:FA:C5:F1:99:73:24:FC:47:EA:EE:E7:
		B7:76:06:58:8A:56:51:E9:CF:6A:E8:5E:2D:4A:AC:10:09:B7:38:DC:
		53:08:D4:11:10:1F:0B:26:F3:E1:8C:D0:35:1F:95:7F:38:9C:04:8E:
		FC:EB:9B:CA:B2:B0:33:2A:1D:4B:A1:8B:69:EF:F8:59:28:AF:AD:99:
		62:26:81:29:E5:E5:37:11:0D:4A:64:57:75:E3:B5:49:CB:CC:65:23:
		93:B0:CF:B2:1D:AB:C3:2C:19:76:D4:27
parm:           debug:Debug level (0=none,...,16=all), Debug mask (0x8XXXXXXX) (uint)

My idea will be that the driver version from TrueNAS could be not new enough for beeing compaatible with the Firmware of the NIC.

Possibly anyone can help with ideas how to get it work.

Could be correct.

TruenAS is reporting 6.6.44 - production
Ubuntu is reporting 6.11.0

See if you can find release notes.

There may be an update in Fangtooth.

Thank you for your answer,

I will try Truenas Scale 25 beta this evening on a identically hardware and then I will report the results here.

Ok, Its the old driver.

I’d install a new TrueNAS-SCALE 25.04-BETA.1 at identical hardware and this works out of the box.

Software and Firmware Versions working together:

  • TrueNAS-SKALA 25.04-BETA.1
  • i40e driver 6.12.9-production-truenas
  • X710 Firmware version 9.20
  • Hardware minisforum MS-01A i9-13900
  • passive DAC SFP cable from FS coded for intel NIC

Thanks for the idea with Fangtooth update. I’m using SFP with fibreo for next 2 month while waiting for Fangtooth release.

Thanks a lot …

3 Likes