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

Intel Ethernet X710-BM2 SPI Flash Programming on a blank device

pjf
Beginner
1,564 Views

Hi -

 

We are designing a custom board with the Intel X710-BM2 ethernet controller chipset on the board and plan to install an associated SPI flash device to hold the x710 firmware. We read through the Ethernet Controller X710 Datasheet section 3.4.8 - NVM access procedure, but want to confirm the initial firmware load procedure in manufacturing on the blank flash.

We have an Intel i3 CPU with the X710-BM2 attached to the PCIe bus.

Ideally, in manufacturing after the board is assembled, we will boot a Linux 6.1 kernel that contains the Intel i40e driver on the i3 CPU and use the X700 Series nvmupdate64e firmware tool to program the flash over PCIe. After programming is successful, we will hard power cycle the board to ensure the x710 picks up the latest firmware. 

Please confirm my understanding.

Thanks.

0 Kudos
11 Replies
Diego_INTEL
Moderator
1,539 Views

Hello @pjf,

 

Thank you for contacting Intel Embedded Community.

 

That's correct, the i40e is the compatible driver for the X710-BM2, but the compatibility list mentions only Ubuntu*22.04 LTS for example, I don't have an specific detail regarding kernels, but I think it may work fine.

https://www.intel.com/content/www/us/en/support/articles/000055236/ethernet-products/gigabit-ethernet-controllers-up-to-2-5gbe.html

 

Also, here is the NVM link just in case:

https://www.intel.com/content/www/us/en/download/18190/non-volatile-memory-nvm-update-utility-for-intel-ethernet-network-adapter-700-series.html

 

And the link to the tools:

https://www.intel.com/content/www/us/en/secure/content-details/348742/intel-network-connections-tools-28-2-pv-lan-software-tools.html?DocID=348742


Best regards,

@Diego_INTEL 

0 Kudos
amacg
Novice
1,058 Views

Hi Diego,
I'm continuing the project that pjf referenced at the start of this thread.

We have the custom board in house with an Intel X710-BM2 populated with a blank external SPI flash device.

I'm having trouble programming the NVM image on the x710-BM2 for the first time over PCIe. ./nvmupdate64e appears to fail because my target x710 chip has blank flash. However I am able to read the device's Flash and EEPROM state through ./lanconf64e in the alternate tools package. I may be able to write to flash through lanconf, but I am apprehensive to do so because I do not want to make the part unusable.

Please advise how to bring this chip to an operational state or troubleshoot further.

 

For more informaiton, I tried running the following command to show more information about the x710 state:  ./nvmupdate64e -i -l update.log -o my-inventory.xml

update.log:

root@cpmp-0002:~/x710-tools/nvmupdate/Linux_x64# cat update.log
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.42.8.0
Copyright(C) 2013 - 2024 Intel Corporation.

./nvmupdate64e -i -l update.log -o my-inventory.xml

Config file will not be read.
Warning: Cannot initialize port: [00:001:00:00] Intel(R) Ethernet Controller XL710 Generic ID

my-inventory.xml


root@cpmp-0002:~/x710-tools/nvmupdate/Linux_x64# cat my-inventory.xml
<?xml version="1.0" encoding="UTF-8"?>
<DeviceInventory lang="en">
<Instance vendor="8086" device="154B" subdevice="0000" subvendor="8086" bus="1" dev="0" func="0" PBA="" port_id="Port 1 of 1" display="Intel(R) Ethernet Controller XL710 Generic ID">
<Status result="Fail" id="8">An error occurred accessing the device</Status>
</Instance>
</DeviceInventory>

0 Kudos
CarlosAM_INTEL
Moderator
1,014 Views

Hello, @amacg:


Thank you for contacting Intel Embedded Community.


We have received your request, but we want to address the following consultations to understand your request:

 

Could you please let us part number of the "Intel i3 CPU" related to this situation? Where do you purchase the cited device?


We are waiting for your reply.

 

Best regards,

@CarlosAM_INTEL.

0 Kudos
Diego_INTEL
Moderator
942 Views

Hello @amacg,

 

Yes, you can use LANconf tool to program the controller with empty flash. You can flash the necessary file based on your needs and HW configuration (eg. XL710_X710_4p42_SFI_MCTP_CFGID7p2_Dual.bin), I think Table 3-78 from the datasheet #332464 may be useful for choosing the right image.

 

You can check the document #602853 - Intel® Ethernet Network Controller - Handbook, on section "13.2.6 - Is there any way to complete empty and overwrite the flash image by the Intel LAN tool?".


Best regards,

@Diego_INTEL 

amacg
Novice
899 Views

Thank you @Diego_INTEL.
Could you provide a link to the referenced document " #602853 - Intel® Ethernet Network Controller - Handbook...?".
I'm unable to find the document when I search intel.com/content

0 Kudos
Diego_INTEL
Moderator
897 Views

Hello @amacg,

 

Please try with this link, it needs a CNDA account, so you must be logged first.

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


Best regards,

@Diego_INTEL 

amacg
Novice
987 Views

The "Intel i3 CPU" in the above situation is an i3-13100E processor embedded on a Congatec 050803 module. We purchased the modules directly from Congatec.

0 Kudos
CarlosAM_INTEL
Moderator
963 Views

Hello, @amacg:

 

Thanks for your reply.

 

We would like to help you with the reported situation,  but we do not have the information to provide support with the mentioned third-party design. Due to this, you need to address your consultations related to the cited third-party device by filling out as a reference the form stated as a reference on the following website:

https://www.congatec.com/us/congatec-support/

 

Best regards,

@CarlosAM_INTEL.

0 Kudos
amacg
Novice
897 Views

Hi @CarlosAM_INTEL I think there is a misunderstanding -- This thread is focused on how to program the Intel X710-BM2 chip for the first time with blank flash on our custom board.

I have no problems with the Intel I3 CPU or the 3rd party Congatec module.

0 Kudos
amacg
Novice
703 Views

Follow up, my X710-BM2 chip is now functional.
Steering me towards the LanConf tool and the "#602853 - Intel® Ethernet Network Controller - Handbook" document was successful. Thank you both.

Diego_INTEL
Moderator
683 Views

Hello @amacg,

 

Thank you very much for letting us know, I'm glad it worked fine.

 

You are very welcome.


Best regards,

@Diego_INTEL 

0 Kudos
Reply