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

ARM Eeprom-Tool - I211

GDoba
Beginner
4,449 Views

Hello,

We are working on a ARM-IMX6DL System on Module under a Linux-Embedded Environment whose hardware makes use of some I211, and we need the ARM Eeprom-tool to program them.

We have a CNDA with Intel (CNDA64954), if you need more information about it, please let me know.

 

Thank you,

Gabriel Dobato

Kurth Electronic GmbH

0 Kudos
1 Solution
Adolfo_S_Intel
Moderator
1,862 Views

Hello Gabriel.Dobato

I have verified your account, soon you will receive the requested file.

Best Regards,

Adolfo Sanchez

View solution in original post

0 Kudos
11 Replies
Adolfo_S_Intel
Moderator
1,862 Views

Hello Gabriel.Dobato

Your CNDA account status shows that is still pending for approval. It might take 2 or 3 business days to get the approval status.

As soon as it is approved I will gladly provide the requested program.

Best Regards,

Adolfo Sanchez.

0 Kudos
GDoba
Beginner
1,862 Views

Hello Adolfo,

Thank you for your reply.

I specified the wrong CNDA number. The valid CNDA number is CNDA64977, this one should be active.

Please, could you check it ?

 

Thank you,

Gabriel Dobato

Kurth Electronic GmbH

0 Kudos
Adolfo_S_Intel
Moderator
1,862 Views

Hello Gabriel.Dobato

I will verify the status of your contract

Best Regards,

Adolfo Sanchez

0 Kudos
Adolfo_S_Intel
Moderator
1,863 Views

Hello Gabriel.Dobato

I have verified your account, soon you will receive the requested file.

Best Regards,

Adolfo Sanchez

0 Kudos
GDoba
Beginner
1,862 Views

Hello Adolfo,

Thank you very much.

I have compiled it using a arm-cross-compiler . When I execute the binary I have this output-error:

root@debug:/home/debug/intel# ./eepromARMtool

-bash: ./eepromARMtool: No such file or directory

The Kernel-Version is quite new : 4.1.13 and our system uses Little-Endian for cofification.

I suppose it is trying to open a file on the wrong path or something like that...

Thank you in advance.

 

Gabriel
0 Kudos
GDoba
Beginner
1,862 Views

Hello

It was a problem with the linker. Now it works but we have the "bus error" message after executing the binary. I am going to have a look to some related problems on the forum... but I think I will need some help anyway...

Thank you

Gabriel

0 Kudos
Adolfo_S_Intel
Moderator
1,862 Views

Hello Gabriel.Dobato

I'm sorry that you are experiencing problems with the tool. I will contact with the LAN engineers to consult about this to see what advice they can provide.

Best Regards,

Adolfo Sanchez

0 Kudos
GDoba
Beginner
1,862 Views

Hello AdolfoS,

Ok thank you. Our Module is based on Freescale IMX6DL and Linux-Kernel 4.1.13.

root@debug:~# /home/debug/intel/eepromARMtool

Intel(R) Eeprom ARM Tool ARM OTP [ 25.512124] Unhandled fault: external abort on non-linefetch (0x1018) at 0xb6dd3010

Programming Tool

Provided under [ 25.521742] pgd = ed6b8000

the terms of a CNDA. Do Not Dist[ 25.527310] [b6dd3010] *pgd=3dfe5831ribute.

Copyright(C) 2013 by Int, *pte=01100703el(R) Corporation

NIC BUS DEV FU, *ppte=01100e33N Silicon Memory Type Present

==

= === === === ===== ======================

Bus error

root@debug:~#

I am looking forward to hearing your advices!

Thank you

Gabriel

0 Kudos
GDoba
Beginner
1,862 Views

Hello AdolfoS

after modifying the kernel, I was able to program the devices, but eth iface is still not working:

root@debug:~# /home/debug/intel/eepromARMtool

Intel(R) Eeprom ARM Tool ARM OTP Programming Tool

Provided under the terms of a CNDA. Do Not Distribute.

Copyright(C) 2013 by Intel(R) Corporation

NIC BUS DEV FUN Silicon Memory Type Present

=== === === === ===== ======================

1 3 0 0 I211 INVM

2 4 0 0 I211 INVM

root@debug:~# lspci

00:00.0 PCI bridge: Device 16c3:abcd (rev 01)

01:00.0 PCI bridge: Pericom Semiconductor Device 2404 (rev 05)

02:01.0 PCI bridge: Pericom Semiconductor Device 2404 (rev 05)

02:02.0 PCI bridge: Pericom Semiconductor Device 2404 (rev 05)

02:03.0 PCI bridge: Pericom Semiconductor Device 2404 (rev 05)

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

04:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

I have programmed the devices using the file I211_Invm_APM_v0.6.HEX . (with Advanced Power Management)

On boot trace I have these errors related to MAC:

igb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.15-k

[ 1.726759] igb: Copyright (c) 2007-2014 Intel Corporation.

[ 1.732451] igb 0000:03:00.0: enabling device (0140 -> 0142)

[ 1.738248] igb 0000:03:00.0: enabling bus mastering

[ 1.750166] igb 0000:03:00.0: Invalid MAC Address

[ 1.959717] igb: probe of 0000:03:00.0 failed with error -5

[ 1.965437] igb 0000:04:00.0: enabling device (0140 -> 0142)

[ 1.971196] igb 0000:04:00.0: enabling bus mastering

[ 1.983088] igb 0000:04:00.0: Invalid MAC Address

[ 2.192641] igb: probe of 0000:04:00.0 failed with error -5

where is the problem?

Thank you

Gabriel

0 Kudos
WSchr1
Novice
1,862 Views

Hi Gabriel,

the eepromARMtool, if not modified in the last 6 month programs only the INVM. But if not changed it looks like it would also program an external FLASH but it tryes only to program the first 4k of an external FLASH, normaly the external FLASCH has 1MBytes...

1. Make shure there is no external FLASH is present.

2. Provide yur own MAC-Adresss in 211_Invm_APM_v0.6.HEX.

3. My Invm.hex looks like this:

16E80002 00001541 038D0002 0B403C21 402F1411 34003611 1C605011 003C5211

157B1A11 05844211 06804811 F3431E19 16D10002 00FF00A8 16D00002 5E000090

17000019 40CF0219 04000419 00000000 00000000 00000000 00000000 00000000

look at the at the last line..it is: set MAC-Reg 0 to 0x0017, set MAC-Reg 2(1) to 0xCF40 and set MAC-Reg 4(2) to 0x0004.

4. Please put your own MAC there, this one is 0017cf400004.

5. We upload an extra file with the mfg-tool to give our Machines the final MAC's.

I hope it could help

Wolfgang

Adolfo_S_Intel
Moderator
1,862 Views

Hello Gabriel.Dobato

I received the following feedback from our engineers:

"The MAC address hasn't be programmed and that's the reason the customer is seeing this error. In the driver code the error can be traced to this function in the file kcompat.c

int

_kc_is_valid_ether_addr(u8 *addr)

{

const char zaddr[6] = { 0, };

return !(addr[0] & 1) && memcmp(addr, zaddr, 6);

}

Try commenting it out, load the driver and program the MAC address using ethtool. Uncomment and load the driver again. This should help get rid of the error.

Hope this is helpful.

Best Regards,

Adolfo Sanchez

0 Kudos
Reply