Embedded Connectivity
Intel network controllers, Firmware, and drivers support systems
851 Discussions

Flashing the I210 iNVM flash

GaneshK
Novice
3,168 Views

Hi Team,

 

              From the document(ethernet-controller-i210-i211-faq.pdf) from section 2.9, without NVM(external) We can make it work the I210. Also From the section 2.14, they mentioned that we can flash the internal flash(iNVM) with image binaries. From section 2.15 and 2.16, mentioned regarding tools and images selection. Could you please help with this to flash the binaries to make I210 work. Below is the output of the lspci command. 
 
02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Unprogrammed (rev 03)
 
From the above log. we can see that this chip is unprogrammed.
 
Also i have downloaded the below elements from few other forums.
1.513655_I210_I211_Production_images.zip
2.348742_Quartzville_Tools_675544.zip
 
Please let me know what else need to download to flash the iNVM.
OS details:
*************
Kernel Version : 5.10
Yocto Version : 3.4
OS : Linux
 

0 Kudos
15 Replies
GaneshK
Novice
3,136 Views

Additional to above, below things we have done

copied the flash images and tools in single folder and given below command to flash the images. please check the logs of "lspci -vvv"

 

01:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
          Subsystem: Intel Corporation Device 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-
          Interrupt: pin A routed to IRQ 16
          Region 0: Memory at 80000000 (32-bit, non-prefetchable) [size=128K]
          Region 2: I/O ports at 3000 [size=32]
          Region 3: Memory at 80020000 (32-bit, non-prefetchable) [size=16K]
          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=5 Masked-
          Vector table: BAR=3 offset=00000000
          PBA: BAR=3 offset=00002000
          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 128 bytes, MaxReadReq 512 bytes
          DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
          LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <16us
          ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
          LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
          ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
          LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
          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- OBFF Disabled,
          AtomicOpsCtl: ReqEn-
          LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
          Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
          Compliance De-emphasis: -6dB
          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 00-a0-c9-ff-ff-00-00-00
          Capabilities: [1a0 v1] Transaction Processing Hints
          Device specific mode supported
          Steering table in TPH capability structure

root@seco-intel-ehl:~#

 

inserted the iqvlinux.ko module. check the below log:

root@seco-intel-ehl:~# insmod iqvlinux.ko

root@seco-intel-ehl:~# lsmod
Module Size Used by
iqvlinux 2031616 0
nfc 73728 0
bnep 20480 2
uio 20480 0
iwlwifi 299008 0
cfg80211 688128 1 iwlwifi
i915 2162688 0
ttm 53248 1 i915
spidev 20480 0
intel_rapl_msr 16384 0
dp83867 16384 2
dwmac_intel 20480 0
low_speed_spidev 16384 0
spi_pxa2xx_pci 16384 0
intel_rapl_common 20480 1 intel_rapl_msr
x86_pkg_temp_thermal 16384 0
intel_powerclamp 16384 0
coretemp 16384 0
snd_hda_intel 32768 0
snd_intel_dspcfg 16384 1 snd_hda_intel
snd_hda_codec 98304 1 snd_hda_intel
snd_hda_core 65536 2 snd_hda_intel,snd_hda_codec
iTCO_wdt 16384 0
intel_pmc_bxt 16384 1 iTCO_wdt
snd_pcm 90112 3 snd_hda_intel,snd_hda_codec,snd_hda_core
snd_timer 32768 1 snd_pcm
stmmac 196608 3 dwmac_intel
pcs_xpcs 20480 1 stmmac
phylink 28672 1 stmmac
m_can_pci 16384 0
libphy 86016 5 stmmac,dwmac_intel,dp83867,phylink,pcs_xpcs
m_can 24576 1 m_can_pci
can_dev 24576 1 m_can
mei_me 32768 0
spi_pxa2xx_platform 28672 0
mei 81920 1 mei_me
video 45056 1 i915
root@seco-intel-ehl:~#

 

flashing command:

root@seco-intel-ehl:~/OEM_Mfg# ls
COPYING I210_Invm_SerDesKX_APM_v0.6.txt I211_Invm_NoAPM_v0.6.txt eeupdate64e iqvlinux.tar.gz
I210_Invm_Copper_APM_v0.6.txt I210_Invm_SerDesKX_NoAPM_v0.6.txt Programming iNVM in I211_rev1.0.pdf install nvmupdate64e
I210_Invm_Copper_NoAPM_v0.6.txt I211_Invm_APM_v0.6.txt celo64e iqvlinux
root@seco-intel-ehl:~/OEM_Mfg# ./eeupdate64e /NIC=1 /INVMUPDATE /FILE=I210_Invm_Copper_NoAPM_v0.6.txt
Error: Connection to QV driver failed - please reinstall it!

Using: Intel (R) PRO Network Connections SDK v2.39.32
EEUPDATE v5.39.32.05
Copyright (C) 1995 - 2022 Intel Corporation
Intel (R) Confidential and not for general distribution.

Driverless Mode


NIC Bus Dev Fun Vendor-Device Branding string
=== === === === ============= =================================================
1 1 00 00 8086-157B Intel(R) I210 Gigabit Network Connection

Update INVM content ... Verify autoload configuration ... done.
root@seco-intel-ehl:~/OEM_Mfg#

 

 

 

0 Kudos
GaneshK
Novice
3,154 Views

one more observation is that dmesg of igb driver:

root@seco-intel-ehl:~/OEM_Mfg# dmesg | grep igb
[ 4.045915] igb: Intel(R) Gigabit Ethernet Network Driver
[ 4.050027] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 4.066470] igb 0000:01:00.0: The NVM Checksum Is Not Valid
[ 4.272278] igb: probe of 0000:01:00.0 failed with error -5
root@seco-intel-ehl:~/OEM_Mfg#

0 Kudos
CarlosAM_INTEL
Moderator
3,144 Views

Hello, @GaneshK 

Thank you for contacting Intel Embedded Community.

We want to address the following questions to understand this situation:

Could you please clarify if this request is related to the Intel® Ethernet Controller I210 design developed by you, or is a Network Interface Card (NIC) or add-in card developed by a third-party company?

Could you please let us know the name of the manufacturer, the part number, and where we can find the information on this device if it is a third-party design?

We are waiting for your answer.

Best regards,

@CarlosAM_INTEL.

0 Kudos
GaneshK
Novice
3,105 Views

Hi,

   Thank you for the quick response.

 

We are currently  testing with intel Manufacturer bought from amazon

https://www.amazon.in/Intel-Corp-I210T1BLK-Retail-Unit/dp/B00C49QC20/ref=sr_1_2?crid=3ILMIOG44OD3G&keywords=i210&qid=1678087117&sprefix=i2%2Caps%2C325&sr=8-2

 

also we have custom board designed by us.

 

From intel manufacturer, it came with external flash and its working fine without any issue, but in our custom board not having any external flash so wanted to test the without flash in the intel's manufacturer I210 card. so we removed the external eeprom flash and tried below command to flash in the internal flash.

 

./eeupdate64e /NIC=1 /INVMUPDATE /FILE=I210_Invm_Copper_NoAPM_v0.6.txt

flashing is successfully happening but igb driver throughing an error

 

root@seco-intel-ehl:~/OEM_Mfg# dmesg | grep igb
[ 4.045915] igb: Intel(R) Gigabit Ethernet Network Driver
[ 4.050027] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 4.066470] igb 0000:01:00.0: The NVM Checksum Is Not Valid
[ 4.272278] igb: probe of 0000:01:00.0 failed with error -5
root@seco-intel-ehl:~/OEM_Mfg#

 

Please let me know what else info needed to resolve this issue.

 

Thanks & Regards

Ganesh.K

0 Kudos
CarlosAM_INTEL
Moderator
3,086 Views

Hello, @GaneshK 

Thanks for your reply.

We suggest verifying that your implementation fulfills the requirements that may answer questions 2.23 and 2.25, on page 9 of the documents stated on the following website:

https://cdrdv2.intel.com/v1/dl/getContent/334026

In case your problem persists, could you please let us know where do you acquire the driver that is causing the mentioned problem?

Also, where do you purchase the Intel® Ethernet Controller I210 used in your design?

We are waiting for your answer.

Best regards,

@CarlosAM_INTEL.

0 Kudos
GaneshK
Novice
3,062 Views

Hi,

 

     Thank you for the reply,

where do you purchase the Intel® Ethernet Controller I210 used in your design?

 

Also we purchased I210 cards two more from the same website(amazon) and removed the external flashes and programmed the iNVM. Its working without any issue. Please check below log

 

root@seco-intel-ehl:~/OEM_Mfg# ./eeupdate64e /NIC=1 /INVMUPDATE /FILE=I210_Invm_Copper_NoAPM_v0.6.txt /MAC=1CFD0873D2EF
Error: Connection to QV driver failed - please reinstall it!

Using: Intel (R) PRO Network Connections SDK v2.39.32
EEUPDATE v5.39.32.05
Copyright (C) 1995 - 2022 Intel Corporation
Intel (R) Confidential and not for general distribution.

Driverless Mode


NIC Bus Dev Fun Vendor-Device Branding string
=== === === === ============= =================================================
1 1 00 00 8086-1531 Intel(R) I210 Blank NVM Devipci 0000:01:00.0: enabling device (0000 -> 0003)
ce

Only /INVM* and /MAC commands are valid for this adapter.

1: Updating Mac Address to 1CFD0873D2EF...Done.
Update INVM content ... Verify autoload configuration ... done.
root@seco-intel-ehl:~/OEM_Mfg#

After flashing, rebooted the board and checked the card. Its working fine without any issue with 1Gbps.

 

so we tried the same on our custom board, flashed in iNVM and rebooted the custom board. now we can able to see that eth0 node is up and please check the below logs

lspci command output:

01:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

root@seco-intel-ehl:~/OEM_Mfg# ./eeupdate64e /NIC=1 /INVMUPDATE /FILE=I210_Invm_Copper_NoAPM_v0.6.txt /MAC=1CFD0873D344
Error: Connection to QV driver failed - please reinstall it!

Using: Intel (R) PRO Network Connections SDK v2.39.32
EEUPDATE v5.39.32.05
Copyright (C) 1995 - 2022 Intel Corporation
Intel (R) Confidential and not for general distribution.

Driverless Mode


NIC Bus Dev Fun Vendor-Device Branding string
=== === === === ============= =================================================
1 1 00 00 8086-1531 Intel(R) I210 Blank NVM Devipci 0000:01:00.0: enabling device (0000 -> 0003)
ce

Only /INVM* and /MAC commands are valid for this adapter.

1: Updating Mac Address to 1CFD0873D344...Done.
Update INVM content ... Verify autoload configuration ... done.

 

 

ifconfig eth0:

root@seco-intel-ehl:~# ifconfig eth0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 1c:fd:08:73:d3:44 txqueuelen 1000 (Ethernet)
RX packets 1012 bytes 90786 (88.6 KiB)
RX errors 432 dropped 0 overruns 0 frame 292
TX packets 2477 bytes 401302 (391.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x80000000-8001ffff

root@seco-intel-ehl:~#

 

dmesg | grep igb

[ 3.686816] igb: Intel(R) Gigabit Ethernet Network Driver
[ 3.690920] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 3.726995] igb 0000:01:00.0: added PHC on eth0
[ 3.730242] igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 3.735822] igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x1) 1c:fd:08:73:d3:44
[ 3.741655] igb 0000:01:00.0: eth0: PBA No: FFFFFF-0FF
[ 3.745508] igb 0000:01:00.0: Using MSI-X interrupts. 2 rx queue(s), 2 tx queue(s)
[ 23.920117] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 42.816733] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Down
[ 46.457116] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 59.011736] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Down
[ 62.624118] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 71.304734] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Down
[ 74.830121] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 80.039734] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Down
[ 83.674117] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

 

Link is going up and down continuously  after connecting ethetnet cable. What might be the reason for this issue.

 

Thanks & Regards

Ganesh.K

0 Kudos
CarlosAM_INTEL
Moderator
3,047 Views

Hello, @GaneshK:

 

Thanks for your reply.

 

Based on the provided information, we want to address the following questions to be on the same page with you:

 

Is your problem related to adding cards or NIC cards like the one described on the following website?

https://ark.intel.com/content/www/us/en/ark/products/68668/intel-ethernet-server-adapter-i210t1.html 

 

Or, is your problem related to a board design made by you using the Intel® Ethernet Controller I210? In case that is your design, what is the list of documents that you used to make your design? Has your design been verified by Intel? 

 

We are waiting for your clarification.

Best regards,

@CarlosAM_INTEL.

0 Kudos
GaneshK
Novice
3,045 Views

Hi,

 

is your problem related to a board design made by you using the Intel® Ethernet Controller I210? In case that is your design, what is the list of documents that you used to make your design? Has your design been verified by Intel? 

 

Yes, problem related to board designed by us. attached list of documents we have followed. and still our design is not yet verified by intel. I m attaching the our design(pcie-bge-i210.pdf) and reference design(i210-is-reference***) which we have followed.

Currently we have removed the external NVM from the design.

 

Thanks & Regards

Ganesh.K

0 Kudos
CarlosAM_INTEL
Moderator
3,035 Views

Hello, @GaneshK:

 

Thanks for your clarification.

 

We need to paraphrase a question that we have addressed but your answer is unclear to us.

 

Where do you buy the Intel® Ethernet Controller I210 used in your design? We are clear that you buy NIC cards from Amazon but is unclear where you buy the cited controller.

 

By the way, did you confirm our suggestion provided in the first part of our yesterday communication? In case your answer is negative, please do it and let us know the results.

 

Best regards,

@CarlosAM_INTEL.

0 Kudos
GaneshK
Novice
3,007 Views

Hi ,

 

Sorry that i forgot to mention,

We bought I210 chip from "arrow" . and mounted on our custom board. and following above procedure to flash internal NVM.

With the amazon NIC card,its working fine without any issue after flashing the internal NVM.

 

could you please let us know where do you acquire the driver that is causing the mentioned problem?

by default this igb driver available in the kernel 5.10 version.

 

now we are working on custom board, there we are facing an issue after flashing the internal NVM flash.

 

By the way, did you confirm our suggestion provided in the first part of our yesterday communication? In case your answer is negative, please do it and let us know the results.

those suggestions given for the amazon NIC card "The NVM Checksum Is Not Valid". Now this error is not coming in the latest amazon NIC cards after flashing in internal NVM flash. so we moved to test our custom board. So above i have posted everything which i m facing the issue with respect to custom board.

 

Thanks & Regards

Ganesh.K

 

 

 

0 Kudos
CarlosAM_INTEL
Moderator
2,999 Views

Hello, @GaneshK:

Thanks for your clarification.

We suggest based on the provided information to address your consultation as a reference through listed in the following website:

https://www.arrow.com/en/support/contact-support/contact-arrow

Best regards,

@CarlosAM_INTEL.

0 Kudos
GaneshK
Novice
2,947 Views

Hi,

 

Sorry for the wrong info, we bought I210 chip from the yic international but we are not getting any support from them.

 

Thanks & Regards

Ganesh.K

0 Kudos
CarlosAM_INTEL
Moderator
2,939 Views

Hello,  @GaneshK:

Thanks for your reply.

We want to address the following question to understand this situation:

Could you please let us know the INVM file that you used? And, where do you find it?

We are waiting for your answer.

Best regards,

@CarlosAM_INTEL.

0 Kudos
GaneshK
Novice
2,934 Views

Hi,

 

Thank you for the reply.

 

Used iNVM file is "I210_Invm_Copper_NoAPM_v0.6.txt" and downloaded the files from below link

https://cdrdv2.intel.com/v1/dl/getContent/513655

 

Thanks & Regards

Ganesh.K

0 Kudos
CarlosAM_INTEL
Moderator
2,928 Views

Hello, @GaneshK 

Thanks for your reply.

The information stated in sections 3.7.1, 6.8.6.1 (FSD’s info), 3.7.8.5.4, and Table 3-30, on pages 88, 234, 120, 121, and 115 of the document stated in the following website may help you to solve the reported situation:

https://cdrdv2-public.intel.com/333016/333016%20-%20I210_Datasheet_v_3_7.pdf

Best regards,

@CarlosAM_INTEL.

0 Kudos
Reply