e810-CQDA2 woes.

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

NaCl

Member
Dec 15, 2018
40
3
8
I can't tell if my cards are busted in some way or if they are just WAI and endemically just suck.

The cards are detected and, w/some Mellanox 10G modules, link up and txfer packets. If I use 100G Arista modules, I get dmesg driver issues about unsupported modules.
Code:
[ 8077.500316] ice 0000:34:00.0 enp52s0f0np0: An unsupported module type was detected. Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules
[ 8086.749719] ice 0000:34:00.0 enp52s0f0np0: NIC Link is up 100 Gbps Full Duplex, Requested FEC: RS-FEC, Negotiated FEC: NONE, Autoneg Advertised: On, Autoneg Negotiated: False, Flow Control: None
(Even though the link is up, it wasn't able get an ip via the dhcp server.)

Wrt the unsupported module, there's an intel community response indicating the e810's are "open optic" which should mean they aren't vendor locking the optics. Given that the Mellanox tranceivers work would seem to support this but then why are the Arista ones not. I know the optics work fine as I get linkage using MikroTik and Arista switch gear. Back to the cards maybe being 'dorked'. When I use the epct tool I get "corrupted port configuration."


Code:
$ sudo ./epct64e -devices
Ethernet Port Configuration Tool
EPCT version: v1.41.03.01
Copyright 2019 - 2024 Intel Corporation.

An invalid port option is set for [00.052.000.00-01] Intel(R) Ethernet 100G 2P E810-C Adapter.

NIC Seg:Bus:Fun   Ven-Dev   Connector Ports Speed    Quads  Lanes per PF
=== ============= ========= ========= ===== ======== ====== ============
 1) 000:052:00-01 8086-1592 QSFP      2     N/A      N/A    N/A

Error: Corrupted port configuration.
I thought perhaps that it might be due to not liking the tranceiver so I removed it and reran the tool w/0 tranceivers installed and again w/only the Mellanox one. No delta. Always the "Invalid port option" and "Corrupted port configuration" messages.

I saw some post about how a fw update fixed someone's 25G module recognition.
My cards are running fw 3.0.
Code:
ubuntu@ubuntu:~/Downloads/E810/Linux_x64$ ethtool -i enp52s0f1np1
driver: ice
version: 6.5.0-9-generic
firmware-version: 3.00 0x80008942 20.5.13
expansion-rom-version:
bus-info: 0000:34:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
And yet when I grab the 4.40 e810 nvme update package from intel and run it, it tells me there are no updates for my card.

Code:
ubuntu@ubuntu:~/Downloads/E810/Linux_x64$ sudo ./nvmupdate64e

Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.40.5.5
Copyright(C) 2013 - 2023 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.(hex)  DevId S:B    Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) I211 Gigabit Network         N/A(N/A)   1539 00:043 Not supported
    Connection                                                                 
02) Intel(R) Ethernet 100G 2P E810-C      N/A(N/A)   1592 00:052 Update not   
    Adapter                                                      available     


Tool execution completed with the following status: Device not found.
Press any key to exit.
So is the invalid option/corrupted config the reason it's unable to update or is there some other reason/issue? How did/do you update the firmware to 4.40 for the e810-CQDA2?

Anyone have any ideas on how to fix this? I've googled and searched various forums for this issue and can't even find anyone reporting a similar issue.
 

ano

Well-Known Member
Nov 7, 2022
654
272
63
have only used theese on windows, and vmware, but work fine there (and dell optics) with oem intel cards

in windows at least the fw update is quite fast& easy

with DACs, and sometimes even optics I have to set speed/duplex manually.
 

NablaSquaredG

Layer 1 Magician
Aug 17, 2020
1,353
821
113
So is the invalid option/corrupted config the reason it's unable to update or is there some other reason/issue? How did/do you update the firmware to 4.40 for the e810-CQDA2?

Anyone have any ideas on how to fix this? I've googled and searched various forums for this issue and can't even find anyone reporting a similar issue.
What does Kernel Log / dmesg say?

I think I remember from my cards that EPCT only worked with the proprietary driver.
 

tsteine

Active Member
May 15, 2019
171
83
28
@NaCl Are you completely sure these are genuine cards? or possibly some OEM variant? The naming looks completely off to me.

My E810-CQDA2 appears like this on both hosts with E810-CQDA2 adapters.

Code:
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.40.5.5
Copyright(C) 2013 - 2023 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.(hex)  DevId S:B    Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) Ethernet Network Adapter   4.32(4.20)   1592 00:001 Update
    E810-C-Q2                                                    available
02) Intel(R) I350 Gigabit Network         N/A(N/A)   1521 00:197 Update not
    Connection                                                   available

Options: Adapter Index List (comma-separated), [A]ll, e[X]it
Code:
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
        Subsystem: Intel Corporation Ethernet Network Adapter E810-C-Q2
        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 123
        IOMMU group: 47
        Region 0: Memory at f6000000 (64-bit, prefetchable) [size=32M]
        Region 3: Memory at fa010000 (64-bit, prefetchable) [size=64K]
        Expansion ROM at fbe00000 [disabled] [size=1M]
        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=1024 Masked-
                Vector table: BAR=3 offset=00000000
                PBA: BAR=3 offset=00008000
        Capabilities: [a0] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
                DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop- FLReset-
                        MaxPayload 512 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 16GT/s (ok), Width x16 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range AB, TimeoutDis+ NROPrPrP- LTR-
                         10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                         EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [e0] Vital Product Data
                Product Name: Intel(R) Ethernet Network Adapter E810-CQDA2
                Read-only fields:
                        [V1] Vendor specific: Intel(R) Ethernet Network Adapter E810-CQDA2
                        [PN] Part number: K91258-011
                        [SN] Serial number: REDACTED
                        [V2] Vendor specific: 3122
                        [RV] Reserved: checksum good, 1 byte(s) reserved
                End
        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: [148 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 1
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [150 v1] Device Serial Number REDACTED
        Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
                IOVCap: Migration-, Interrupt Message Number: 000
                IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
                IOVSta: Migration-
                Initial VFs: 128, Total VFs: 128, Number of VFs: 0, Function Dependency Link: 00
                VF offset: 8, stride: 1, Device ID: 1889
                Supported Page Size: 00000553, System Page Size: 00000001
                Region 0: Memory at 00000000f9000000 (64-bit, prefetchable)
                Region 3: Memory at 00000000fa220000 (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-
        Capabilities: [1d0 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [200 v1] Data Link Feature <?>
        Capabilities: [210 v1] Physical Layer 16.0 GT/s <?>
        Capabilities: [250 v1] Lane Margining at the Receiver <?>
        Kernel driver in use: ice
        Kernel modules: ice
edit, added similar EPCT output.

Code:
Ethernet Port Configuration Tool
EPCT version: v1.41.03.01
Copyright 2019 - 2024 Intel Corporation.

Cannot initialize port: [00:001:00:00] Intel(R) Ethernet Network Adapter E810-C-Q2
Cannot initialize port: [00:001:00:01] Intel(R) Ethernet Network Adapter E810-C-Q2
NIC Seg:Bus:Fun   Ven-Dev   Connector Ports Speed    Quads  Lanes per PF
=== ============= ========= ========= ===== ======== ====== ============
1) 000:001:00-01 8086-1592 N/A       2     N/A      N/A    N/A

Error: Cannot initialize adapter.
 
Last edited:

tsteine

Active Member
May 15, 2019
171
83
28
@NaCl on the topic of forcing an upgrade though, this is the process:
in the folder you extracted the firmware updater to, find the nvmupdate.cfg

eththool shows you the firmware version, in my case this is:
firmware-version: 4.20 0x80017785 1.3346.0

so in the nvmupdate.cfg there is a corresponding entry that contains the firmware version 80017785 in the "REPLACES" section.
if you add yours to that section, the tool will allow you to flash the referred image.

That being said, I make no guarantees that this is the correct image for you to flash, simply that this is the correct image for my first party Intel E810-CQDA2 adapters.

remember to uncomment the ; before REPLACES:


Code:
; NIC device
BEGIN DEVICE
DEVICENAME: E810_CQDA2_O_SEC_FW
VENDOR: 8086
DEVICE: 1592
SUBVENDOR: 8086
SUBDEVICE: 0002
NVM IMAGE: E810_CQDA2_O_SEC_FW_1p7p4p13_NVM_4p40_PLDMoMCTP_0.33_8001C967.bin
EEPID: 8001C967
SKIP NETLIST: FALSE
IMAGE DOWNGRADE: TRUE
RESET TYPE: REBOOT
CURRENT GFID: 0157-1590
ORIGINAL GFID: 0157-1590
REVISION: 02
; REPLACES: 80003D96 800049C3 80004FB3 80005D1B 80007062 800077A6 80008256 8000AD67 8000D83E 800117E9 80013C9B 8001518E 80017785 80019DAD
END DEVICE
After uncommenting replaces and removing the 80017785 from the list, utility no longer allows update for my adapter.

Code:
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.40.5.5
Copyright(C) 2013 - 2023 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.(hex)  DevId S:B    Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) Ethernet Network Adapter   4.32(4.20)   1592 00:001 Update not
    E810-C-Q2                                                    available
02) Intel(R) I350 Gigabit Network         N/A(N/A)   1521 00:197 Update not
    Connection                                                   available


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

NaCl

Member
Dec 15, 2018
40
3
8
have only used theese on windows, and vmware, but work fine there (and dell optics) with oem intel cards

in windows at least the fw update is quite fast& easy

with DACs, and sometimes even optics I have to set speed/duplex manually.
I've discovered a few things. The first thing is these turned out to be DELL cards which is why the intel bundled fw doesn't work. I can't seem to find any crossflashing instructions for the e810 series (the x710 appears promising though). However even going w/the DELL's fw I get the groin punch of

Code:
ubuntu@ubuntu:~/Downloads$ sudo ./Network_Firmware_HDWKR_LN_22.5.7_A00_01.BIN
Collecting inventory...
....
Running validation...

This Update Package is not compatible with your system configuration.
As to _why_, I guess that's a nice thing we aren't allowed to have. :/ I've extracted the bundle and there are scripts/tools a plenty but I can't figure out which is the master thing to run. Nothing looks reasonable. Figuring perhaps the extract option doesn't end up with 'everything' I used binwalk to extract it. There's different stuff but no 'smoking gun' as it were. Pivoting, I figured I'd YOLO it and use the extracted nvmupdate64e and the associated fw .bin file (tacoma_rapids_inj.bin in my case). But that punts with

Code:
ubuntu@ubuntu:~/Downloads/DELL_Network_Firmware_HDWKR_LN_22.5.7_A00_01.BIN_extract$ sudo ./nvmupdate64e

Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.39.68.2
Copyright(C) 2013 - 2023 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 [|.........]
Tool execution completed with the following status: The configuration file could not be opened/read, or a syntax error was discovered in the file.
Press any key to exit.
The nvmupdate.cfg has ^M eol markers, but even w/those stripped the same issue abounds. That it's the same config file contained w/in the bundle would seem to indicate further processing on it is done before the actual nvmupdate process. Even when using a minimal, for my variant of the boards, config file it complains that there is no update available/couldn't find the device. Which is odd since it lists the the pcie ids and strace confirms its reading the /config files of those ids in /sys.

Maybe I'll try using Dell's update in windows...seems a bit of an embarrassment, to Linux, if Windows is able to get it done, but /shrug.
 

blunden

Active Member
Nov 29, 2019
492
155
43
I flashed my Dell X710 in a non-Dell system in Windows by unpacking their installer and running the tool it uses so at least for the X710 version that tool doesn't contain platform locks. In other words, it's certainly worth trying in your case too if you don't find another solution.
 

NaCl

Member
Dec 15, 2018
40
3
8
@NaCl Are you completely sure these are genuine cards? or possibly some OEM variant? The naming looks completely off to me.

My E810-CQDA2 appears like this on both hosts with E810-CQDA2 adapters.

Code:
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.40.5.5
Copyright(C) 2013 - 2023 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.(hex)  DevId S:B    Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) Ethernet Network Adapter   4.32(4.20)   1592 00:001 Update
    E810-C-Q2                                                    available
02) Intel(R) I350 Gigabit Network         N/A(N/A)   1521 00:197 Update not
    Connection                                                   available

Options: Adapter Index List (comma-separated), [A]ll, e[X]it
Code:
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
        Subsystem: Intel Corporation Ethernet Network Adapter E810-C-Q2
        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 123
        IOMMU group: 47
        Region 0: Memory at f6000000 (64-bit, prefetchable) [size=32M]
        Region 3: Memory at fa010000 (64-bit, prefetchable) [size=64K]
        Expansion ROM at fbe00000 [disabled] [size=1M]
        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=1024 Masked-
                Vector table: BAR=3 offset=00000000
                PBA: BAR=3 offset=00008000
        Capabilities: [a0] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
                DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop- FLReset-
                        MaxPayload 512 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 16GT/s, Width x16, ASPM not supported
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 16GT/s (ok), Width x16 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range AB, TimeoutDis+ NROPrPrP- LTR-
                         10BitTagComp+ 10BitTagReq- OBFF Not Supported, ExtFmt+ EETLPPrefix+, MaxEETLPPrefixes 1
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5-16GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 16GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+ EqualizationPhase1+
                         EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [e0] Vital Product Data
                Product Name: Intel(R) Ethernet Network Adapter E810-CQDA2
                Read-only fields:
                        [V1] Vendor specific: Intel(R) Ethernet Network Adapter E810-CQDA2
                        [PN] Part number: K91258-011
                        [SN] Serial number: REDACTED
                        [V2] Vendor specific: 3122
                        [RV] Reserved: checksum good, 1 byte(s) reserved
                End
        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: [148 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 1
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [150 v1] Device Serial Number REDACTED
        Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
                IOVCap: Migration-, Interrupt Message Number: 000
                IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
                IOVSta: Migration-
                Initial VFs: 128, Total VFs: 128, Number of VFs: 0, Function Dependency Link: 00
                VF offset: 8, stride: 1, Device ID: 1889
                Supported Page Size: 00000553, System Page Size: 00000001
                Region 0: Memory at 00000000f9000000 (64-bit, prefetchable)
                Region 3: Memory at 00000000fa220000 (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-
        Capabilities: [1d0 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [200 v1] Data Link Feature <?>
        Capabilities: [210 v1] Physical Layer 16.0 GT/s <?>
        Capabilities: [250 v1] Lane Margining at the Receiver <?>
        Kernel driver in use: ice
        Kernel modules: ice
edit, added similar EPCT output.

Code:
Ethernet Port Configuration Tool
EPCT version: v1.41.03.01
Copyright 2019 - 2024 Intel Corporation.

Cannot initialize port: [00:001:00:00] Intel(R) Ethernet Network Adapter E810-C-Q2
Cannot initialize port: [00:001:00:01] Intel(R) Ethernet Network Adapter E810-C-Q2
NIC Seg:Bus:Fun   Ven-Dev   Connector Ports Speed    Quads  Lanes per PF
=== ============= ========= ========= ===== ======== ====== ============
1) 000:001:00-01 8086-1592 N/A       2     N/A      N/A    N/A

Error: Cannot initialize adapter.
They were sold as genuine Intel, not DELL rebrands, but the SUBDEVICE, 000B, aligns w/nothing in the Intel supplied fw bundle but aligns perfectly w/the Dell fw.

@NaCl on the topic of forcing an upgrade though, this is the process:
in the folder you extracted the firmware updater to, find the nvmupdate.cfg

eththool shows you the firmware version, in my case this is:
firmware-version: 4.20 0x80017785 1.3346.0

so in the nvmupdate.cfg there is a corresponding entry that contains the firmware version 80017785 in the "REPLACES" section.
if you add yours to that section, the tool will allow you to flash the referred image.

That being said, I make no guarantees that this is the correct image for you to flash, simply that this is the correct image for my first party Intel E810-CQDA2 adapters.

remember to uncomment the ; before REPLACES:


Code:
; NIC device
BEGIN DEVICE
DEVICENAME: E810_CQDA2_O_SEC_FW
VENDOR: 8086
DEVICE: 1592
SUBVENDOR: 8086
SUBDEVICE: 0002
NVM IMAGE: E810_CQDA2_O_SEC_FW_1p7p4p13_NVM_4p40_PLDMoMCTP_0.33_8001C967.bin
EEPID: 8001C967
SKIP NETLIST: FALSE
IMAGE DOWNGRADE: TRUE
RESET TYPE: REBOOT
CURRENT GFID: 0157-1590
ORIGINAL GFID: 0157-1590
REVISION: 02
; REPLACES: 80003D96 800049C3 80004FB3 80005D1B 80007062 800077A6 80008256 8000AD67 8000D83E 800117E9 80013C9B 8001518E 80017785 80019DAD
END DEVICE
Based on the X710 process I kinda pieced together the workings of the file. Between the Intel nvmupdate.cfg and the one from the extracted Dell fw, I came up with:

Code:
ubuntu@ubuntu:~/Downloads/E810_v4_40/Linux_x64$ cat nvmupdate_clean_tacoma_rapids.cfg
CURRENT FAMILY: 1.0.0
CONFIG VERSION: 1.20.0

BEGIN DEVICE
DEVICENAME: Intel(R) Ethernet 100G 2P E810-C Adapter
VENDOR: 8086
DEVICE: 1592
SUBVENDOR: 8086
SUBDEVICE: 000B
NVM IMAGE: tacoma_rapids_inj.bin
OROM IMAGE: BootIMG.FLB
EEPID: 8001C967
SKIP NETLIST: FALSE
IMAGE DOWNGRADE: TRUE
RESET TYPE: REBOOT
CURRENT GFID: 0157-1590
ORIGINAL GFID: 0157-1590
REVISION: 02
REPLACES: 80008942
END DEVICE
But it always asserts that it doesn't find the device/no fw update available.
Code:
ubuntu@ubuntu:~/Downloads/E810_v4_40/Linux_x64$ sudo ./nvmupdate64e -rd -c nvmupdate_clean_tacoma_rapids.cfg

Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.40.5.5
Copyright(C) 2013 - 2023 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.(hex)  DevId S:B    Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) I211 Gigabit Network         N/A(N/A)   1539 00:043 Not supported
    Connection                                                                 
02) Intel(R) Ethernet 100G 2P E810-C    3.00(3.00)   1592 00:052 Update not   
    Adapter                                                      available     


Tool execution completed with the following status: Device not found.
Press any key to exit.
Here's the inventory on mine.
Code:
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.40.5.5
Copyright(C) 2013 - 2023 Intel Corporation.

Config file will not be read.
Unsupported device found - DeviceId: 1539.
Inventory
[00:052:00:00]: Intel(R) Ethernet 100G 2P E810-C Adapter
    Flash inventory started.
    Flash inventory finished.
    OROM inventory started.
    OROM inventory finished.
    Netlist inventory started.
    Netlist inventory finished.
[00:052:00:01]: Intel(R) Ethernet 100G 2P E810-C Adapter
    Device already inventoried.
[00:052:00:00]: Intel(R) Ethernet 100G 2P E810-C Adapter
    Vendor                 : 8086
    Device                 : 1592
    Subvendor              : 8086
    Subdevice              : 000B
    Revision               : 2
    LAN MAC                : 40A6B795CA70
    Alt MAC                : 000000000000
    SAN MAC                : 000000000000
    ETrackId               : 80008942
    SerialNumber           : 40A6B7FFFF95CA70
    NVM Version            : 3.00(3.00)
    PBA                    : K98023-005
    VPD status             : Valid
    VPD size               : 243
    NVM update             : No config file entry
      checksum             : N/A
    OROM update            : No config file entry
      CIVD                 : 20.5.13
      PXE                  : 2.5.0, checksum Valid
      EFI                  : 3.0.11, checksum None
    Netlist update         : No config file entry
      Netlist version      : 3.0.24
      Customer version     : 0
[00:052:00:01]: Intel(R) Ethernet 100G 2P E810-C Adapter
    Vendor                 : 8086
    Device                 : 1592
    Subvendor              : 8086
    Subdevice              : 000B
    Revision               : 2
    LAN MAC                : 40A6B795CA71
    Alt MAC                : 000000000000
    SAN MAC                : 000000000000
    ETrackId               : 80008942
    SerialNumber           : 40A6B7FFFF95CA70
    NVM Version            : 3.00(3.00)
    PBA                    : K98023-005
    VPD status             : Valid
    VPD size               : 243
    NVM update             : No config file entry
      checksum             : N/A
    OROM update            : No config file entry
      CIVD                 : 20.5.13
      PXE                  : 2.5.0, checksum Valid
      EFI                  : 3.0.11, checksum None
    Netlist update         : No config file entry
      Netlist version      : 3.0.24
      Customer version     : 0
Here's the matching entry from the Dell nvmupdate.cfg

Code:
; Tacoma Rapids
BEGIN DEVICE
DEVICENAME: Intel(R) Ethernet 100G 2P E810-C Adapter
VENDOR: 8086
DEVICE: 1592
SUBVENDOR: 8086
SUBDEVICE: 000B
;REVISION:
;PXE:
;EFI:
;OROM DOWNGRADE: TRUE
;OROM IMAGE: BootIMG.FLB
IMAGE DOWNGRADE: TRUE
NVM IMAGE: tacoma_rapids_inj.bin
;EEPROM MAP: vpd.txt
;NVM IMAGE: BootIMG.FLB
;EEPID:
RESET TYPE: NONE
END DEVICE
And I am unable to get any of the update tools to find/update the board.
 

tsteine

Active Member
May 15, 2019
171
83
28
@NaCl
Hmm. might be some specific code that cant be overridden in config, but if you want to yolo this, i would try this with the first party intel updater:

Code:
; NIC device
BEGIN DEVICE
DEVICENAME: E810_CQDA2_O_SEC_FW
VENDOR: 8086
DEVICE: 1592
SUBVENDOR: 8086
SUBDEVICE: 000B
NVM IMAGE: E810_CQDA2_O_SEC_FW_1p7p4p13_NVM_4p40_PLDMoMCTP_0.33_8001C967.bin
EEPID: 8001C967
SKIP NETLIST: FALSE
IMAGE DOWNGRADE: TRUE
RESET TYPE: REBOOT
CURRENT GFID: 0157-1590
ORIGINAL GFID: 0157-1590
REVISION: 02
REPLACES: 80008942
END DEVICE
 

NaCl

Member
Dec 15, 2018
40
3
8
What does Kernel Log / dmesg say?

I think I remember from my cards that EPCT only worked with the proprietary driver.
I hadn't seen anything about EPCT requiring their driver. Not that that's not true, I just hadn't seen anything to indicate such. I know their bootutility requires a special qvlinux driver and will actively complain if it's not present. Presumably there would be similar notification(s) if prerequisites were not met.

Per my original post, dmesg output changes depending on what transceivers are installed. But ranges from "unsupported modules installed" to "improper port settings" to other 'werdness'. With just the Arista 100G modules installed I get the unsupported message and link up I cited earlier. Even though their is linkage I am unable to get an IP/move any data. When I add a Mellanox 10G module that is instantly recognized, assigned an ip, and data can be moved as expected. The unsupported module error is not present but I do get a lot of "speed is unknown, defaulting to 1000" entries. e.g.
Code:
[    1.643569] ice: Intel(R) Ethernet Connection E800 Series Linux Driver
[    1.643571] ice: Copyright (c) 2018, Intel Corporation.
[    2.432298] ice 0000:34:00.1: DDP package already present on device: ICE OS Default Package version 1.3.30.0
[    2.518095] (NULL net_device): Potential misconfiguration of the Ethernet port detected. If it was not intended, please use the Intel (R) Ethernet Port Configuration Tool to address the issue.
[    3.557428] ice 0000:34:00.1 enp52s0f1np1: renamed from eth0
[    3.600885] ice 0000:34:00.0 enp52s0f0np0: renamed from eth2
[   11.321994] enp52s0f0np0 speed is unknown, defaulting to 1000
[   11.322331] enp52s0f0np0 speed is unknown, defaulting to 1000
[   11.322690] enp52s0f0np0 speed is unknown, defaulting to 1000
[   11.326172] enp52s0f0np0 speed is unknown, defaulting to 1000
[   14.037258] enp52s0f0np0 speed is unknown, defaulting to 1000
[   14.095751] enp52s0f0np0 speed is unknown, defaulting to 1000
[   14.367656] enp52s0f0np0 speed is unknown, defaulting to 1000
[   15.444656] enp52s0f0np0 speed is unknown, defaulting to 1000
[   15.447150] ice 0000:34:00.1 enp52s0f1np1: Potential misconfiguration of the Ethernet port detected. If it was not intended, please use the Intel (R) Ethernet Port Configuration Tool to address the issue.
[   15.515317] ice 0000:34:00.1 enp52s0f1np1: NIC Link is up 10 Gbps Full Duplex, Requested FEC: NONE, Negotiated FEC: NONE, Autoneg Advertised: Off, Autoneg Negotiated: False, Flow Control: None
[   15.515322] ice 0000:34:00.1 enp52s0f1np1: Potential misconfiguration of the Ethernet port detected. If it was not intended, please use the Intel (R) Ethernet Port Configuration Tool to address the issue.
 

NaCl

Member
Dec 15, 2018
40
3
8
@NaCl
Hmm. might be some specific code that cant be overridden in config, but if you want to yolo this, i would try this with the first party intel updater:

Code:
; NIC device
BEGIN DEVICE
DEVICENAME: E810_CQDA2_O_SEC_FW
VENDOR: 8086
DEVICE: 1592
SUBVENDOR: 8086
SUBDEVICE: 000B
NVM IMAGE: E810_CQDA2_O_SEC_FW_1p7p4p13_NVM_4p40_PLDMoMCTP_0.33_8001C967.bin
EEPID: 8001C967
SKIP NETLIST: FALSE
IMAGE DOWNGRADE: TRUE
RESET TYPE: REBOOT
CURRENT GFID: 0157-1590
ORIGINAL GFID: 0157-1590
REVISION: 02
REPLACES: 80008942
END DEVICE
Sadly still not joy. :(

Code:
ubuntu@ubuntu:~/Downloads/E810_v4_40/Linux_x64$ cat nvmupdate.cfg
CURRENT FAMILY: 1.0.0
CONFIG VERSION: 1.20.0

; NIC device
BEGIN DEVICE
DEVICENAME: E810_CQDA2_O_SEC_FW
VENDOR: 8086
DEVICE: 1592
SUBVENDOR: 8086
SUBDEVICE: 000B
NVM IMAGE: E810_CQDA2_O_SEC_FW_1p7p4p13_NVM_4p40_PLDMoMCTP_0.33_8001C967.bin
EEPID: 8001C967
SKIP NETLIST: FALSE
IMAGE DOWNGRADE: TRUE
RESET TYPE: REBOOT
CURRENT GFID: 0157-1590
ORIGINAL GFID: 0157-1590
REVISION: 02
REPLACES: 80008942
END DEVICE

ubuntu@ubuntu:~/Downloads/E810_v4_40/Linux_x64$ sudo ./nvmupdate64e -rd -c nvmupdate.cfg

Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.40.5.5
Copyright(C) 2013 - 2023 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.(hex)  DevId S:B    Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) I211 Gigabit Network         N/A(N/A)   1539 00:043 Not supported
    Connection                                                                 
02) Intel(R) Ethernet 100G 2P E810-C    3.00(3.00)   1592 00:052 Update not   
    Adapter                                                      available     


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

tsteine

Active Member
May 15, 2019
171
83
28
@NaCl Then I'm sorry to say I'm drawing a blank, might be a built in safety against cross flashing by intel. I've only had to do this for firmware rollbacks
 

NaCl

Member
Dec 15, 2018
40
3
8
@NaCl Then I'm sorry to say I'm drawing a blank, might be a built in safety against cross flashing by intel. I've only had to do this for firmware rollbacks
Thanks for looking/responding in any case.

I tried the windows route. On the plus side epct doesn't vend the corrupted port settings output and I can actually get expected/reasonable output and change the port configuration. I am still unable flash the fw. Doesn't say it can't find the card but it does say no update available. The Dell fw continues to fall over. I get a window w/options to extract and install. I extracted it and then tried the install option. The install option results in a dialog that just says "Error" w/an empty body. When I get an administrative shell and go to the extracted tree and, once again, attempt to use nvmupdate, it complains about the config file being broken. If I pull in any of the variants I/we made it just presents the no update available bit.

I'm _almost_ to the point of pulling the heatsink and looking for the flash and seeing if I can just manually create and flash the bits w/an external programmer. The issue would be the potential inabilty to create the card's expected factory defaults which might well and truly/surprising make things worse.

Oh, as yet another issue, in windows I do have it connected w/the 100G Arista optics. One in a Mikrotik CRS504-4XQ-IN and the other in the e810. I have the Mikrotik configured to be a switch. SwitchOS isn't a think on these but I have RouterOS configured to behave like as dumb a switch as I can manage. Other machines off of the thing behave as that is the case so I'm confident that aspect is correct. Anyway for this cage it claims 100G Link.

Code:
[admin@CRS504-4QX-IN-000] > /interface ethernet monitor qsfp28-4-1 once
                               name: qsfp28-4-1
                             status: link-ok
                   auto-negotiation: done
                               rate: 100Gbps
                        full-duplex: yes
                    tx-flow-control: no
                    rx-flow-control: no
                                fec: off
                          supported: 10M-baseT-half,10M-baseT-full,100M-baseT-half,100M-baseT-full,1G-baseT-half,1G-baseT-full,
                                     1G-baseX,2.5G-baseT,2.5G-baseX,5G-baseT,10G-baseT,10G-baseSR-LR,10G-baseCR,40G-baseSR4-LR4,
                                     40G-baseCR4,25G-baseSR-LR,25G-baseCR,50G-baseSR2-LR2,50G-baseCR2,100G-baseSR4-LR4,100G-baseCR4
                      sfp-supported: 1G-baseX,10G-baseSR-LR,25G-baseSR-LR,100G-baseSR4-LR4
                        advertising: 1G-baseX,10G-baseSR-LR,25G-baseSR-LR,100G-baseSR4-LR4
           link-partner-advertising:
                 sfp-module-present: yes
                           sfp-type: QSFP28/QSFP56
                 sfp-connector-type: LC
                sfp-link-length-om3: 74m
  sfp-link-length-copper-active-om4: 100m
                    sfp-vendor-name: Arista Networks
             sfp-vendor-part-number: QSFP-100G-SWDM4
                sfp-vendor-revision: 20
                  sfp-vendor-serial: XTH2334001XX
And windows, under "View Additional Properties" for that interface shows:
Code:
Link speed (Receive/Transmit):    100/100 (Gbps)
Link-local IPv6 address:    fe80::b58d:c4dc:6a42:d820%28
IPv4 address:    192.168.86.212
IPv4 DNS servers:    192.168.86.1 (Unencrypted)
Manufacturer:    Intel
Description:    Intel(R) Ethernet 100G 2P E810-C Adapter
Driver version:    1.14.104.0
Physical address (MAC):    40-A6-B7-95-CA-70
_However_, in the prior screen for the interface it shows:
Code:
Media state: Enabled
Bytes sent: <irrelevant other than monotonically increasing>
Bytes recevied: <same>
Link speed: 1215 (Mbps)
Duration: 00:38:52 <and counting>
If I hit my iperf3 server (10G limited) w/a single stream I get about 5GB/s and w/2 or more I get nearly line speed at 9.82GB/s.
Code:
C:\>iperf3.exe -c 192.168.86.216 -P 2
Connecting to host 192.168.86.216, port 5201
[  4] local 192.168.86.212 port 64773 connected to 192.168.86.216 port 5201
[  6] local 192.168.86.212 port 64774 connected to 192.168.86.216 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   592 MBytes  4.96 Gbits/sec
[  6]   0.00-1.00   sec   529 MBytes  4.44 Gbits/sec
[SUM]   0.00-1.00   sec  1.09 GBytes  9.40 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   1.00-2.00   sec   622 MBytes  5.22 Gbits/sec
[  6]   1.00-2.00   sec   555 MBytes  4.65 Gbits/sec
[SUM]   1.00-2.00   sec  1.15 GBytes  9.87 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   2.00-3.00   sec   622 MBytes  5.22 Gbits/sec
[  6]   2.00-3.00   sec   556 MBytes  4.66 Gbits/sec
[SUM]   2.00-3.00   sec  1.15 GBytes  9.88 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   3.00-4.00   sec   621 MBytes  5.21 Gbits/sec
[  6]   3.00-4.00   sec   557 MBytes  4.68 Gbits/sec
[SUM]   3.00-4.00   sec  1.15 GBytes  9.88 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   4.00-5.00   sec   620 MBytes  5.20 Gbits/sec
[  6]   4.00-5.00   sec   555 MBytes  4.66 Gbits/sec
[SUM]   4.00-5.00   sec  1.15 GBytes  9.86 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   5.00-6.00   sec   622 MBytes  5.22 Gbits/sec
[  6]   5.00-6.00   sec   554 MBytes  4.65 Gbits/sec
[SUM]   5.00-6.00   sec  1.15 GBytes  9.87 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   6.00-7.00   sec   621 MBytes  5.21 Gbits/sec
[  6]   6.00-7.00   sec   556 MBytes  4.67 Gbits/sec
[SUM]   6.00-7.00   sec  1.15 GBytes  9.87 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   7.00-8.00   sec   621 MBytes  5.21 Gbits/sec
[  6]   7.00-8.00   sec   556 MBytes  4.67 Gbits/sec
[SUM]   7.00-8.00   sec  1.15 GBytes  9.88 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   8.00-9.00   sec   621 MBytes  5.21 Gbits/sec
[  6]   8.00-9.00   sec   554 MBytes  4.65 Gbits/sec
[SUM]   8.00-9.00   sec  1.15 GBytes  9.85 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   9.00-10.00  sec   632 MBytes  5.30 Gbits/sec
[  6]   9.00-10.00  sec   542 MBytes  4.55 Gbits/sec
[SUM]   9.00-10.00  sec  1.15 GBytes  9.85 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  6.05 GBytes  5.20 Gbits/sec                  sender
[  4]   0.00-10.00  sec  6.05 GBytes  5.20 Gbits/sec                  receiver
[  6]   0.00-10.00  sec  5.39 GBytes  4.63 Gbits/sec                  sender
[  6]   0.00-10.00  sec  5.39 GBytes  4.63 Gbits/sec                  receiver
[SUM]   0.00-10.00  sec  11.4 GBytes  9.82 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  11.4 GBytes  9.82 Gbits/sec                  receiver

iperf Done.
So what's up w/the 1215 Mbps?
 

MountainBofh

Active Member
Mar 9, 2024
132
103
43
Try Iperf3 in an USB bootable version of Linux. The Windows version can often give goofy results.
 

NaCl

Member
Dec 15, 2018
40
3
8
This is how I installed the Dell X710 firmware in a non-Dell system on Windows, if you can get past the embarrassment of using Windows to flash it. :D


I imagine using KVM and PCI-E passthrough to do it from a Windows VM would work, although bare metal might be safer. :)
I'll certainly give that a shot. Thanks. I have stumbled upon one of the reasons why I wasn't having any joy wrt to moving packets/getting an ip. So I need to investigate that a bit and see if that can be resolved.
 

NaCl

Member
Dec 15, 2018
40
3
8
One thing I have discovered wrt the woes I was having with the card not ever getting an IP/moving packets.

Normally/nominally there are green status LEDs that illuminate when all is well around the cage(s) with active tranceivers. Turns out that on one machine (R9 5950X) things are occurring normally/nominally and reboots everything comes up w/out issue. On the other machine (i5 7600), the card is seen (lspci/ip a/ifconfig/ethtool et al.) but no ip gets assigned (dhcp ip vending never occurs and/or dhclient hangs on the interface) and manual assignment never allows packet flow. At one point I happend to have to go into the garage (where this other system resides) and noticed the card had none of the telltale green led illumination. I went back to my office to verify the system hadn't just gone down/wedged. All, other than the card issue, was fine. I pulled the fiber from the tranceiver and reinserted it. No delta. I pulled the tranceiver from the switch and reinserted that. No delta. I pulled the tranceiver from the e810 and reinserted it; green LED illumination after a few seconds, dhcp assigned ip and packet flow as expected. I have characterized the problem to whenever the system/card is reset either warmly or hard power cycle this process of removing and reinserting the transceiver must reoccur or the card/tranceiver handshake (?? whatever is going on for the LED illumation code to engage) before things just work.

I've looked around for any sort of software option to perform the same operation that way but I don't know exactly what/how to explain it such that google/<search engine of choice here> knows what I'm asking beyond tranceiver compatiblity issues. Note that I have tried the sysfs reset/remove entries for the devices. Even though that looked (and was born out) like it would just simulate the warm/hard resets of restart/powercycle. I need an entrypoint into cage reset or something.

Has anyone seen/experienced/heard of something like this? How was it resolved? Since it works on the AMD system, I'm highly suspecting it's a motherboard issue. I've tweaked with the only settings the BIOS has on this board (Gigabyte Z170-UD3) (pcie gen selection support (auto, gen1, gen2, or gen3) and above 4G decoding (enable/disable)). I've gone through the permuatations there w/no deltas.

I thought it might be something around cribbed available pcie lanes. But the linkstatus bits come back equivalently between the two platforms.
Code:
# lspci -vvv | egrep -A1 'E810-C|LnkSta:'
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
        Subsystem: Intel Corporation Ethernet Network Adapter E810-C-Q2
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
--
                LnkSta: Speed 8GT/s (downgraded), Width x16
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
--
                Product Name: Intel(R) Ethernet Network Adapter E810-CQDA2
                Read-only fields:
                        [V1] Vendor specific: Intel(R) Ethernet Network Adapter E810-CQDA2
                        [PN] Part number: K91258-009
--
01:00.1 Ethernet controller: Intel Corporation Ethernet Controller E810-C for QSFP (rev 02)
        Subsystem: Intel Corporation Ethernet Network Adapter E810-C-Q2
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
--
                LnkSta: Speed 8GT/s (downgraded), Width x16
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
--
                Product Name: Intel(R) Ethernet Network Adapter E810-CQDA2
                Read-only fields:
                        [V1] Vendor specific: Intel(R) Ethernet Network Adapter E810-CQDA2
                        [PN] Part number: K91258-009
--
                LnkSta: Speed 8GT/s, Width x2 (downgraded)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
--
                LnkSta: Speed 2.5GT/s, Width x4
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
--
                LnkSta: Speed 2.5GT/s, Width x4
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
--
                LnkSta: Speed 2.5GT/s, Width x4
                        TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
--
                LnkSta: Speed 2.5GT/s, Width x4
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
--
                LnkSta: Speed 2.5GT/s, Width x4
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
The only other delta I could envision is that the Intel platform is pcie gen3 vs the AMD being gen 4. Is there a known issue w/the e810 behaving poorly on gen3?

Ultimately, since both cards do not exhibit this issue in the AMD platform, I believe it's motherboard specific or perhaps even the pcie generation issue. Seems odd/weird though that the base board recognized and links up from the pcie point of view that an issue would manifest w/the tranceiver handshake timing (don't flay me if that's not what is occurring, I don't know and am just calling it that for lack of <thing that it is>; don't know what I don't know and all that.).

Thanks again!
 

NaCl

Member
Dec 15, 2018
40
3
8
This is how I installed the Dell X710 firmware in a non-Dell system on Windows, if you can get past the embarrassment of using Windows to flash it. :D


I imagine using KVM and PCI-E passthrough to do it from a Windows VM would work, although bare metal might be safer. :)
I tried it out and I'm having no current joy.

After the install.bat it claimed the driver was already loaded (I've subsequently tried the forcing option w/no delta). The intelfw.bat u took like a second and returned no xml output as your example shows. I did try the i option for inventory...had to actually do i print to see anything. That takes a few seconds and returns with:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<SVMInventory lang="en">
        <SPStatus result="false">
                <Message id="102"></Message>
        </SPStatus>
</SVMInventory>
Which doesn't seem great.

I'm about to try doing this from an efi shell but I don't have a lot of hope at this point.

Anyone have any experience flashing directly to the eeprom/flash using an external hw programmer? Can the .bin images be used as-is or are they wrapped? Also what is required (if anything) to ensure a valid config for the updated fw exists? e.g. equivalent of the -rd option w/the software flasher?
 

NaCl

Member
Dec 15, 2018
40
3
8
I tried it out and I'm having no current joy.

After the install.bat it claimed the driver was already loaded (I've subsequently tried the forcing option w/no delta). The intelfw.bat u took like a second and returned no xml output as your example shows. I did try the i option for inventory...had to actually do i print to see anything. That takes a few seconds and returns with:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<SVMInventory lang="en">
        <SPStatus result="false">
                <Message id="102"></Message>
        </SPStatus>
</SVMInventory>
Which doesn't seem great.

I'm about to try doing this from an efi shell but I don't have a lot of hope at this point.

Anyone have any experience flashing directly to the eeprom/flash using an external hw programmer? Can the .bin images be used as-is or are they wrapped? Also what is required (if anything) to ensure a valid config for the updated fw exists? e.g. equivalent of the -rd option w/the software flasher?
As an update for posterity or something, efi attempts were also unsuccessful for the same reasons/issues as w/the other update methods.
 

bramtb

New Member
Apr 25, 2024
1
1
3
What does Kernel Log / dmesg say?

I think I remember from my cards that EPCT only worked with the proprietary driver.
Indeed I found this out as well today, and unfortunately the Intel provided ice-1.13.7 doesn't compile with kernel 6.8.6, so I actually needed to to back to an older kernel, 6.6.13 I had still around, that worked.
 
  • Like
Reactions: NablaSquaredG