Embedded Connectivity
Intel network controllers, Firmware and drivers.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
634 Discussions

Problems with eeprom access tool on a raspberry pi cm4 and i210

ep1dmn
Beginner
412 Views

Hello,

we have our own board based on an ARM raspberry pi 4 and an I210.

We have a programmed i210 and an unprogrammed i210.

The programmed i210 was programmed on an x86 and works fine.

The unprogrammed i210 needs to be programmed with "eeprom access tool".

But this does not work.

EAT detects i210 correctly

# ./EepromAccessTool             

Intel(R) EEPROM Access Tool NVM/OTP Programming Example Tool   Version 0.8.0
Provided under the terms of a CNDA.  Do Not Distribute.
Copyright(C) 2017-2020 by Intel(R) Corporation 
NIC	BUS	DEV	FUN	Silicon	Memory Type Present
===	===	===	===	=====	======================
 1	1	 0	 0	I210	     INVM

 

Dumping iNVM seems working, but file seems strange:

# ./EepromAccessTool -nic=1 -dump

Intel(R) EEPROM Access Tool NVM/OTP Programming Example Tool   Version 0.8.0
Provided under the terms of a CNDA.  Do Not Distribute.
Copyright(C) 2017-2020 by Intel(R) Corporation 
Using FW mode
# cat I210NIC1.otp 
6162696C 696D6F74 6F732E63 0000312E 00001904 070C0014 6162696C 2E727474
312E6F73 00001907 01180020 6162696C 69686176 6D6F632D 2E6E6F6D 332E6F73
342E352E 00001908 07120064 6162696C 69686176 726F632D 6F732E65 0000372E
00001909 01160020 6162696C 69686176 726F632D 6F732E65 312E372E 0000302E
0000190D 011F0028 6262696C 6C656261 63617274 74632D65 65742D66 732E7478
2E312E6F 00302E30 00001918 07130068 6262696C 6C656261 63617274 732E3265
00302E6F 00001922 070B004C 6262696C 732E327A 00312E6F 0000192D 01150020
6362696C 6E2D6674 6466626F 2E6F732E 2E302E30 00000030 0000192F 010F0018

 

After every reboot the "dump" command gives me another output.

Seems that EAT can not read iNVM correctly.

 

Sometimes the command says that iNVM is blank.

So I try to write a .bin file to it and EAT says writing was successful.

But after a reboot there is no programmed i210 and dumping iNVM gives values which makes no sense.

 

We exclude a hardware issue because we have same electric components on a x86 architecture and there it works.

 

I changed "dev->FlashSize = 0x200000;"  because we have a 32Mbit SPI Flash.

BIN file I want to program is same as on x86 architecture.

 

Any help would be appreciated

Kind regards

0 Kudos
3 Replies
CarlosAM_INTEL
Moderator
399 Views

Hello, @ep1dmn:

Thank you for contacting Intel Embedded Community.

We sent an email to the address associated with this account with information that may help you.

Best regards,

@CarlosAM_INTEL.

ep1dmn
Beginner
387 Views

Dear @CarlosAM_INTEL ,

thanks for your reply. I repeated the steps you suggested with no success.

It's strange that after a shutdown the iNVM is not programmed anymore.

$ sudo lspci 
00:00.0 PCI bridge: Broadcom Limited Device 2711 (rev 20)
01:00.0 Ethernet controller: Intel Corporation I210 Gigabit Unprogrammed (rev 03)
$ sudo setpci -s 01:00.0 COMMAND=0007
$ sudo ./EepromAccessTool 

Intel(R) EEPROM Access Tool NVM/OTP Programming Example Tool   Version 0.8.0
Provided under the terms of a CNDA.  Do Not Distribute.
Copyright(C) 2017-2020 by Intel(R) Corporation 
NIC	BUS	DEV	FUN	Silicon	Memory Type Present
===	===	===	===	=====	======================
 1	1	 0	 0	I210	     INVM

$ sudo ./EepromAccessTool -nic=1 -dump

Intel(R) EEPROM Access Tool NVM/OTP Programming Example Tool   Version 0.8.0
Provided under the terms of a CNDA.  Do Not Distribute.
Copyright(C) 2017-2020 by Intel(R) Corporation 
Using no FW mode
Device is BLANK!

$ sudo ./EepromAccessTool -nic=1 -f=hex_files/I210_Invm_Copper_NoAPM_v0.6.HEX -mac=00e071340003

Intel(R) EEPROM Access Tool NVM/OTP Programming Example Tool   Version 0.8.0
Provided under the terms of a CNDA.  Do Not Distribute.
Copyright(C) 2017-2020 by Intel(R) Corporation 
Using no FW mode
Programming successful!
$ sudo ./EepromAccessTool -nic=1 -dump
[...]
$ cat I210NIC1.otp
16E80002 00001541 038D0002 0B403C21 402F1411 34003611 1C605011 157B1A11
05844211 02804811 73431E19 0000001A 08100241 16D10002 00FF00A8 16D00002
5E000090 E0000019 34710219 03000419 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
$ sudo shutdown now
$ sudo ./EepromAccessTool -nic=1 -dump

Intel(R) EEPROM Access Tool NVM/OTP Programming Example Tool   Version 0.8.0
Provided under the terms of a CNDA.  Do Not Distribute.
Copyright(C) 2017-2020 by Intel(R) Corporation 
Updating command word..... Done!
Using no FW mode
Device is BLANK!
$ cat I210NIC1.otp
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
OTP is BLANK!

After writing hex file to iNVM it looks very good. I can see hex file and MAC address I wanted to program.
But after a shutdown it says BLANK!

I do not want to lock iNVM as described in user guide except this is the solution. But I do not think that.

Any other solution?

 

Kind regards,

dmn

CarlosAM_INTEL
Moderator
374 Views

Hello, @ep1dmn:

Thanks for your update.

We sent another email with information that may help you.

Best regards,

@CarlosAM_INTEL.

Reply