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

Issue's programming FLASH on I210

KCass1
Beginner
5,169 Views

Hi,

I am currently having issues programming the I210 with external flash (SST25VF040B)

I have managed to flash one chip on a prototype but I think this may have been luck.

When I open up Lanconfig tool my Flash comes up as protected. When I try to program the NVM image from file I get error file ID =0x1533 dev ID = 0x1531

I know that the 1531 is the non-programmed FLASH and that 1533 is when it is programmed so it seems that this shouldn't be an error?

Pin 12 is pulled low (through a 3k3) to disable security also.

Any help would be very much appreciated.

Kind regards,

Kyle.

0 Kudos
18 Replies
CarlosAM_INTEL
Moderator
3,098 Views

Hello Kyle,

Thank you for contacting Intel Embedded Community.

The information that may help you is stated to answer the question 2.23, on page 11 of the http://www.intel.com/content/dam/www/public/us/en/documents/faqs/ethernet-controller-i210-i211-faq.pdf Intel(R) Ethernet Controller I210/I211 Frequently Asked Questions (FAQs).

Please let us know if this information is useful to you.

Best Regards,

Carlos A.

KCass1
Beginner
3,098 Views

Hi Carlos,

Thanks for the reply. I have read the FAQ's and can't seem to gain any help from them. It looks as if my device is going into security mode, however I cannot see why.

The flash is powered by the same source as the I210 and the security enable pull down is attached.

Is there anything else I could be missing?

Regards,

Kyle.

0 Kudos
KCass1
Beginner
3,098 Views

Also if it helps I'm using win7x64. I have probed the security enable bit and this is pulled low.

Is there any other reason I can't write to the flash?

The board is the same design as a prototype which I did manage to flash on board but it seemed more by luck than judgement.

again thanks in advance for anybody that can help with this.

0 Kudos
CarlosAM_INTEL
Moderator
3,098 Views

Hello Kyle,

Thanks for your reply.

Could you please tell us the I-210 SKU and the document number of the NVM image related to the cited problem?

Thanks in advance for your help.

Best Regards,

Carlos A.

0 Kudos
KCass1
Beginner
3,098 Views

Hi Carlos,

I am using Quartzville_Tools_374119 to program the NVM image (I've tried both Lanconfig and EEupdate). the image I want to program to the flash is Dev_Start_I210_Copper_NOMNG_4Mb_A2_3.25_0.03.bin.

I know its not the image as I'm not getting that far as the option to write is greyed out. I cannot remember the doc number of the image files but they are ver 3.25.

If I want to program the blank flash, should the pin 12 pull down be on or off? The datasheet seems to contradict itself a little, unless I'm reading it wrong.

Again thanks for the help so far.

0 Kudos
CarlosAM_INTEL
Moderator
3,098 Views

Hello cassar10,

Thanks for your reply.

Based on your previous communication, we would like to address the following questions:

Could you please clarify if you are using the I210-AT, I210-AS, or I210-IS?

Could you please confirm that you are using the http://www.intel.com/content/www/us/en/secure/intelligent-systems/privileged/quartzville-tools-284632.html Intel(R) Network Connections Tools? In case that the versions contained on the cited file are updated to the ones that you have used, please use them and let us know the results.

Could you please try to program using the http://www.intel.com/content/www/us/en/secure/intelligent-systems/privileged/gbe-i210-i211-nvm-images.html Intel(R) Ethernet Controller I210/I211-AT Production NVM Images? Because the NVM firmware images for the I210 should be signed. Once the I210 successfully initializes with a signed firmware image, security is enforced (unless security is disabled by pulling down pin 12) and the image cannot be overwritten except a by a new signed image that has the same or higher security revision.

The pin 12 on the I210 is designated for the purpose of overriding the security feature. To override the security when it is in effect, a pull down resistor can be applied to that pin. This pin is sampled during initialization to determine if security is disabled.

Please give us all the information requested through the previous questions to have a better idea of your problem.

Thanks again for your cooperation.

Best Regards,

Carlos A.

0 Kudos
KCass1
Beginner
3,098 Views

Hi Carlos,

I am using the I210-AT and the image is Dev_Start_I210_Copper_NOMNG_4Mb_A2_3.25_0.03.bin.

The tools I was using were an older version but I still have the same issue as before with the new tools.

The binary file I was using is up to date. The security disable bit is low as when I put a programmed flash on, I can reprogram if I want.

It just seems as though it can't initialize the blank flash.

This is on the flash screen, as it says the flash is protected.

This is on the raw iNVM screen

This is on the NVM image screen

Is there anyway to get lanconf tool to try to reinitialize the flash part? As I have said both parts are powered by the same source.

Your help is very much appreciated.

Cheers,

Kyle.

0 Kudos
CarlosAM_INTEL
Moderator
3,098 Views

Hello cassar10,

Thanks for your update.

Based on your previous communications, we would like to address the following questions:

Could you please tell us how many implementations are experiencing this problem? Could please inform us how many of this project has been manufactured by you?

Could you please try to reproduce this issue with other flash memories? Please keep in mind that the suggested ones are listed in section 11.8.1, on pages 785 and 786 of the http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i210-ethernet-controller-datasheet.pdf Intel(R) Ethernet Controller I210 Datasheet. It would be better if you try with devices of different manufacturers.

Please give us all the requested information to find the root cause of this problem.

Thanks again for your help.

Best Regards,

Carlos A.

0 Kudos
KCass1
Beginner
3,098 Views

Hi Carlos,

All implementations experience this problem. They have all been manufactured by us. We have one PCIe and one mini PCIe.

The designs have been reviewed by Intel.

Trying a different flash is a good shout. I have some on order for Monday.

However a lot of the validated chips are no longer manufactured.

I'll get back to you Monday once I have tried the different flash with an update.

Cheers,

Kyle.

0 Kudos
CarlosAM_INTEL
Moderator
3,098 Views

Hello cassar10,

Thanks for your reply.

Please let us know any update or information as soon as you have it.

Thanks again for your help.

Best Regards,

Carlos A.

0 Kudos
KCass1
Beginner
3,098 Views

Hi Carlos,

Still no luck unfortunately. I tried two different types of flash.

Any other ideas?

Kind regards,

Kyle.

0 Kudos
Adolfo_S_Intel
Moderator
3,098 Views

Hello cassar10

From the datasheet of the I210 (http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i210-ethernet-controller-datasheet.pdf http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i210-ethernet-controller-datasheet.pdf)

Page 53:

The I210 supports Flash devices that are either write-protected by default after power-up or not. The I210 removes the protection by sending the write-protection removal OpCode to the Flash after power up. For the first programming of a blank Flash, it is the host's responsibility to remove the writeprotection from the Flash part via bit-banging access.

 

Page 66:

All clients can access the Flash using parallel access, on which hardware implements the actual access to the Flash. Hardware schedules these accesses, avoiding starvation of any client. However, the software and firmware clients can access the Flash using bit-banging. In this case, there is a request/grant mechanism that locks the Flash to the exclusive use of one client. If one client is stuck without releasing the lock, the other clients can no longer access the Flash.

There are two possibilities that you might want to check

1) That the OpCode of your new flash memories is different of default OpCodes that the i210 implements.

2) That your new memories need additional OpCode to enable writing.

3) That there is another application locking access to the Flash

If the above suggestions dont' work, please provide the following information:

1) Dump Flash of the device

2)The result of the Adapter Diagnostic Test on the devices that are not working

3)Try using an SPI programmer to write the image onto the memory (at least the first time) and then check if the memory can be programmed a second time using the LanConf tool

4)Try replacing the memory of the prototype for one of your new memories and see if you can program the memory on the prototyp

I will be waiting for your feedback,

Best Regards,

Adolfo Sanchez

KCass1
Beginner
3,098 Views

Hi Adolfo,

Thanks for looking into this for me. Before I change op-codes etc, the datasheet says the "For the first programming of a blank Flash, it is the host's responsibility to remove the writeprotection from the Flash part via bit-banging access".

How do I do this? Is it using the Lanconf tool?

kind regards,

Kyle.

0 Kudos
Adolfo_S_Intel
Moderator
3,098 Views

Hello cassar10

I will need to consult your doubt with the developers of the Lanconf tool to be 100% sure, but I think that is highly likely that the tool already perform bit-banging when it detects a blank flash.

I would recommend you to consult with the manufacturer of your memories what OPCodes are needed to unlock the device.

UPDATE: I received feedback from our engineers, indeed Lanconf tool performs bit-banging operation.

Best Regards,

Adolfo Sanchez.

0 Kudos
Adolfo_S_Intel
Moderator
3,098 Views

Hello cassar10

Do you have any update regarding this issue?

Best Regards,

Adolfo

0 Kudos
KCass1
Beginner
3,098 Views

Hi Adolfo,

No update as of yet. We have been busy doing a production run with pre-programmed flash.

I will be taking one out of the lot next week to start looking into a fix again.

I will keep you updated.

Regards,

Kyle.

0 Kudos
sbass
Beginner
3,098 Views

Hi Adolfo,

i use Quartzville.zip & I210_I211_Production_images.zip

For set Dev_Start_I210_Copper_NOMNG_16Mb_A2_3.25_0.03.bin:

/opt/intel/lan/eeupdate32 /NIC=1 /D Dev_Start_I210_Copper_NOMNG_16Mb_A2_3.25_0.03.bin

after reboot, it's successful.With mac address intel default.

02:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)

/opt/intel/lan/eeupdate32 /NIC=1 /MAC=XXXXXXXXXXXX

No message error but i have always same address default intel.

Why? i can write when device id is 1533 ? How to return in 1531?

dump flash:

nection [8086:1533] (rev 03)r [0200]: Intel Corporation I210 Gigabit Network Con

-sh: syntax error near unexpected token `('

# opt/intel/lan/eeupdate32 /NIC=1 /DUMP

-sh: opt/intel/lan/eeupdate32: No such file or directory

# /opt/intel/lan/eeupdate32 /NIC=1 /DUMP

Connection to QV driver failed - please reinstall it!

Using: Intel (R) PRO Network Connections SDK v2.28.23

EEUPDATE v5.28.23.02

Copyright (C) 1995 - 2017 Intel Corporation

Intel (R) Confidential and not for general distribution.

Driverless Mode

NIC Bus Dev Fun Vendor-Device Branding string

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

1 2 00 00 8086-1533 Intel(R) I210 Gigabit Network Connection

1: Writing EEPROM image to file 'C9000000.EEP'...Done.

# cat C9000000.EEP

A000 00C9 0000 0520 FFFF 3025 FFFF FFFF

0003 0000 402F 0000 FFFF 1533 8086 3367

8100 003D 67FF 00C1 E024 0040 2400 FFFF

303D 7000 5A0E 3400 0084 0000 3200 0706

200C 0584 0000 FFFF 0200 803D 0010 0098

1C68 003C 8000 0701 00F8 0097 1000 05F8

0100 4000 1332 4003 FFFF 4000 FFFF 00F9

FFFF FFFF FFFF FFFF 0094 0430 FFFF 479E

8170 003D 05CD 8000 FFFF FFFF FFFF FFFF

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

0000 0080 FFFF FFFF FFFF FFFF FFFF FFFF

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

FFFF FFFF FFFF 0091 FFFF FFFF FFFF FFFF

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

FFFF AB03 88F9 FDC3 4C56 0601 0000 FFFF

000F 00DA 16E8 1541 0000 16D1 00A8 00A8

16D0 0090 5E00 0000 0241 0810 038D 3C21

0B40 FFFF FFFF FFFF FFFF FFFF FFFF FFFF

........

0 Kudos
CarlosAM_INTEL
Moderator
3,098 Views

Hello, keziaha:

Thank you for contacting the Intel Embedded Community.

The information that may help you is stated in the answer to the question 2.23, on page 9 of the http://www.intel.com/content/dam/www/public/us/en/documents/faqs/ethernet-controller-i210-i211-faq.pdf Intel(R) Ethernet Controller I210/I211 Frequently Asked Questions (FAQs) document # 335346.

We hope that this information may help you.

Best regards,

Carlos_A.

0 Kudos
Reply