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

eepromARMtool

MPatt3
Novice
33,093 Views

Where do I find the eepromARMtool code? I am working on an ARM based design that uses an i210. I would like to program the NVM via this tool so that I can get the driver to load.

Regards,

Matt

1 Solution
PPast3
Novice
22,569 Views

Hi Adolfo,

I'm look for the same tool (eepromARMtool) i need to program my new hardware with i210 into SerDes Mode could you email the tool also.

Thanks,

 

Pawel

View solution in original post

0 Kudos
128 Replies
CarlosAM_INTEL
Moderator
2,951 Views

Hello, Daniel_K:

Thanks for your update.

The https://cdrdv2.intel.com/v1/dl/getContent/572162 Intel I210, I211, and X550 EEPROM Access Tool (EAT) document # 572162 is the updated version of the cited tool. It is accessible when you are logged into your Resource & Design Center (RDC) privileged account.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
yyinx
Beginner
2,923 Views

Hellow, Carlos_A:

Thanks,now we have eepromARMTool_0.6.7.zip,this verison is the lastest verison?

now we use Freescale-ls1043 the dev board,it is arm64,so How do I write data to the 82583 eeprom?

Could you give me some advice?

0 Kudos
CarlosAM_INTEL
Moderator
2,611 Views

Hello, lyx:

Thanks for your reply.

The best way to program the EEPROM of an 82583 implementation is with an external Dediprog before installing it on the board.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
yyinx
Beginner
2,631 Views

Hi Carlos_A,

Now I write the data to 82583V EEPROM,but I found the data is wrote to the Shadow rem,so Which registers are incorrectly configured?

Thanks.

0 Kudos
CarlosAM_INTEL
Moderator
2,624 Views

Hello, lyx:

Thanks for your reply.

You will have to use a stand-alone programmer to flash or use a regular x86 system and use EEupdate or Lanconf.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, lyx:

By the way, you need to do a power cycle after nvm write.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
yyinx
Beginner
2,631 Views

Hi Carlos_A

static s32 e1000_init_mac_params_82571(struct e1000_hw *hw)

{

..................

if (force_clear_smbi) {

/* Make sure SWSM.SMBI is clear */

swsm = er32(SWSM);

if (swsm & E1000_SWSM_SMBI) {

/* This bit should not be set on a first interface, and

* indicates that the bootagent or EFI code has

* improperly left this bit enabled

*/

printk("Please update your 82571 Bootagent\n");

}

ew32(SWSM, swsm & ~E1000_SWSM_SMBI);

}

/* Initialize device specific counter of SMBI acquisition timeouts. */

hw->dev_spec.e82571.smb_counter = 0;

return 0;

}

if the eeprom was empty,the e1000e driver would be printk "Please update your 82571 Bootagent",and the e1000e driver can not write the eeprom,so how to set the 82583V the default status,and the e1000e driver can write the eeprom.

thanks!

0 Kudos
yyinx
Beginner
2,631 Views

Hi Carlos_A,

About your suggestion,how to do a power cycle after nvm write?

Thanks

lyx.

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, lyx:

Thanks for your replies.

A power cycle is done when you pull the power plug out of the wall and put it back in.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
yyinx
Beginner
2,631 Views

Hi Carlos_A

I set the board power off,and the power on ,the shadow ram data is not written in the EEPROM,

so what should I do next?

Thanks!

liuyinxia

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, lyx:

Thanks for your update.

The 82583 out of the box is unsupported by EAT. It needs to be edited to support this chip. Due to this fact, could you please let us know if it has been done? it should be set up something like the 82574.

By the way, please do not install the e1000 driver, please make sure it does not load at all.

Could you please let us know the model/part # of the EEPROM chip? EAT is an example model for implementation, so it may need to be edited to properly support the EEPROM chip that you have.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
yyinx
Beginner
2,631 Views

Hi Carlos_A:

Thanks for your reply.

The EEPROM chip is "pct25VF010A=SST25VF010A",Could you please provide the latest EAT?

Thanks!

lyx.

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, lyx:

Thanks for your reply.

The editing should be done from your side.

The tool needs to be compiled for use on your system, so you should be able to edit the files beforehand to include the device you have.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
CDobl
Beginner
2,631 Views

I need this tool too. Please send it to me.

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, @CDobl​:

 

Thank you for contacting Intel Embedded Community.

 

The Intel I210, I211, and X550 EEPROM Access Tool (EAT) document # 572162 is the updated version of the requested tool. It can be found when you are logged into your Resource & Design Center (RDC) privileged account at the following website:

 

http://www.intel.com/cd/edesign/library/asmo-na/eng/572162.htm

 

The RDC Account Support form is the channel to process your account update request or any inconvenience related to the provided website. It can be found at:

 

https://www.intel.com/content/www/us/en/forms/design/contact-support.html

 

Best regards,

@Mæcenas_INTEL​.

0 Kudos
Renat
Beginner
2,631 Views

Hi. We use the I210 in arm embedded project and need to flash it, can we get the eepromARMtool  and image to flash?

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, @Renat​:

 

Thank you for contacting Intel Embedded Community.

 

The Intel(R) I210, I211, and X550 EEPROM Access Tool [EAT] document # 572162 is the updated version of the requested tool. Also, please use the Intel(R) Ethernet Controller I210 and I211-AT: Production NVM Images document # 513655. They can be found when you are logged into your Resource & Design Center (RDC) privileged account at the following websites:

 

 http://www.intel.com/cd/edesign/library/asmo-na/eng/572162.htm 

 

http://www.intel.com/cd/edesign/library/asmo-na/eng/513655.htm

 

 

The RDC Account Support form is the channel to process your account update request or any inconveniences with the provided websites. It can be found at:

 

https://www.intel.com/content/www/us/en/forms/support/my-intel-sign-on-support.html

 

Best regards,

@Mæcenas_INTEL​.

0 Kudos
Renat
Beginner
2,631 Views

Thanks for answer . i was able to get another flashed card. But have problem with driver. I use default kernel driver (kernel 4.9) driver version is 5.4.0-k .

It initialiazed

[ 136.133404] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k [ 136.133426] igb: Copyright (c) 2007-2014 Intel Corporation. [ 136.134106] igb 0000:01:00.0: enabling device (0000 -> 0002) [ 136.137587] igb:igb_reset_hw_82580: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Masking off all interrupts [ 136.149070] igb:igb_reset_hw_82580: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Masking off all interrupts [ 136.160279] igb:igb_init_hw_82575: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Initializing the IEEE VLAN [ 136.160688] igb:igb_init_rx_addrs: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Programming MAC Address into RAR[0] [ 136.160723] igb:igb_init_rx_addrs: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Clearing RAR[1-15] [ 136.160838] igb:igb_init_hw_82575: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Zeroing the MTA [ 136.160943] igb:igb_init_hw_82575: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Zeroing the UTA [ 136.161082] igb:igb_setup_link: igb 0000:01:00.0 0000:01:00.0 (uninitialized): After fix-ups FlowControl is now = 3 [ 136.161658] igb:igb_copper_link_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Reconfiguring auto-neg advertisement params [ 136.161864] igb:igb_phy_setup_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): autoneg_advertised 2f [ 136.161884] igb:igb_phy_setup_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Advertise 10mb Half duplex [ 136.161902] igb:igb_phy_setup_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Advertise 10mb Full duplex [ 136.161922] igb:igb_phy_setup_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Advertise 100mb Half duplex [ 136.161941] igb:igb_phy_setup_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Advertise 100mb Full duplex [ 136.161960] igb:igb_phy_setup_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Advertise 1000mb Full duplex [ 136.162077] igb:igb_phy_setup_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Auto-Neg Advertising de1 [ 136.162195] igb:igb_copper_link_autoneg: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Restarting Auto-Neg [ 136.164345] igb:igb_setup_copper_link: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Unable to establish link!!! [ 136.164366] igb:igb_setup_link: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Initializing the Flow Control address, type and timer regs [ 136.178549] igb:igb_get_phy_info_m88: igb 0000:01:00.0 0000:01:00.0 (uninitialized): Phy info is only valid if link is up [ 136.248688] igb 0000:01:00.0: added PHC on eth0 [ 136.248707] igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection [ 136.248728] igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x1) 00:a0:c9:00:00:00 [ 136.248831] igb:igb_read_part_string: igb 0000:01:00.0 eth0: NVM PBA number is not stored as string [ 136.248851] igb 0000:01:00.0: eth0: PBA No: 000300-000 [ 136.248870] igb 0000:01:00.0: Using MSI interrupts. 1 rx queue(s), 1 tx queue(s) [ 136.252420] Loaded igb: module init layout addresses range: 0xffffff9ed81e9000-0xffffff9ed81f3fff [ 136.252440] igb: core layout addresses range: 0xffffff9ed81b3000-0xffffff9ed81e7fff

 

but after i tryed to up interface (ifconfig eth0 up) system is in freeze state (same on another system with same arm64 chipset Qualcomm SDM845)

on both system problem is in function

void igb_alloc_rx_buffers(struct igb_ring *rx_ring, u16 cleaned_count) {   ......   writel(i, rx_ring->tail);   ..   }

 

after i commented this line. i was able to up interface but it won't work properly.

Maybe you engineers will give some advices about that problem

 

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, @Renat​:

 

Thanks for your update.

 

We suggest you verify the implementation of the following suggestion:

 

"Note

Some systems have trouble supporting MSI and/or MSI-X interrupts. If your system needs to disable this style of interrupt, the driver can be built and installed with the command:

make CFLAGS_EXTRA=-DDISABLE_PCI_MSI install

 

Normally the driver will generate an interrupt every two seconds. If you're no longer getting interrupts in cat /proc/interrupts for the ethX igb device, then this workaround may be necessary."

 

This information and more details can be found at the following website:

 

https://www.intel.com/content/www/us/en/support/articles/000005480/network-and-i-o/ethernet-products.html

 

Best regards,

@Mæcenas_INTEL​.

0 Kudos
Renat
Beginner
2,631 Views

Hi @Mæcenas_INTEL​ , thanks for the fast answer. I've tried to disable MSI and/or MSI-X interrupts but unfortunately it didn't help.

0 Kudos
CarlosAM_INTEL
Moderator
2,631 Views

Hello, @Renat​:

 

Thanks for your clarification.

 

Based on your previous communications, could you please let us know the procedure that you have followed to obtain the Linux* igb* base driver related to the described situation?

 

We are waiting for your clarification.

 

Best regards,

@Mæcenas_INTEL​.

0 Kudos
Reply