5 Replies Latest reply on Jun 14, 2018 2:06 PM by Carlos_A

    I210 in Flash-less mode with eepromARMTool

    GeorgeChiao Community Member



      So we mounted the I210 chip following the exact Intel design layout.


      We were also given 'eepromARMtool' source; we built and deployed it successfully and we could run under the Linux in our imx6 ARM processor.


      We checked the I210 with both 'lspci' and 'eepromARMtool' commands and confirmed that it's iNVM is blank from the device id (0x1531); we also confirmed that by dumping the flash into a file using 'eepromARMtool', it's all 00 indeed.


      We also checked it did show only 'iNVM' and not 'iNVM+FLASH' under 'eepromARMtool', so it is good as far as we could tell at this stage.


      We then tried to flash the iNVM with the file 'I210_Invm_Copper_NoAPM_v0.6.HEX' that comes with the eepromARMtool, we didn't modify the file a bit.


      i.e. 'eepromARMtool -write -nic=1 -f=I210_Invm_Copper_NoAPM_v0.6.HEX'


      We dumped again the file is now different (i.e. not 00 anymore), assuming it was written successfully as no error was prompted.


      We did a power cycle to the unit and then we saw the device id has now changed to 0x157B (i.e. I210-AT using iNVM (no flash memory)), apart from that nothing else seems to work; 'ifconfig -a' didn't show eth1, 'ifup eth1' displayed no such node, etc...


      We noticed dmesg has the error below -


      [    9.557915] igb 0000:01:00.0: enabling device (0140 -> 0142)

      [    9.895899] igb 0000:01:00.0: Invalid MAC Address

      [    9.899431] igb: probe of 0000:01:00.0 failed with error -5


      So probably it explained why.


      The variation of our I210 is supposed to be 'I210-IS' however the device id is 157B after programming, according to the datasheet 157C is expected.  We were given four files:


      (1) I210_Invm_Copper_APM_v0.6.HEX

      (2) I210_Invm_Copper_NoAPM_v0.6.HEX

      (3) I210_Invm_SerDesKX_APM_v0.6.HEX

      (4) I210_Invm_SerDesKX_NoAPM_v0.6.HEX


      Maybe we applied a wrong file?  Would it cause the issue we were seeing? We were hesitated to try it out as we were told only a limited number of flashing is allowed.  Any ideas please?


      Many thanks