I've got a new design that has two 82574L controllers. The first is integrated into a Q7 1.2 module running an Atom processor. The second is a connected to via the PCIe to the Q7 module. I have an empty 4G of flash NVM setting beside it that keeps failing the checksum on boot. I've heard there is a tool for initializing the NVM that is seperate from the bootutil32. Anyone know where that program resides or directions on how to initialize the NVM that's already soldered on board?
Hi Capobean ,
With regards to your inquiry, you need to register on Intel Business Portal link to get access to documents.
Here is the reference site about Intel® Business Link Support.
If you are planning to have new design, it is recommended to use I210 instead as 82574 will be end of life at 2018.
If you have not programmed the 82574's flash device yet, you can use EEUPDATE to program the EEPROM image, however this utility required
Nondisclosure agreement, if you have then you can download the LAN tool from Intel business portal link (doc id 348742)
I've got Flash instead of EEPROM. Will the EEUPDATE program still work? When I run the program it shows all FFFFs. When I try the test it fails checksum. I've attempted the /CALCHKSUM and get the following:
Updating Checksum and CRCs...Done.
But when I reboot, the system stills fails checksum:
[ 2.748089] e1000e 0000:07:00.0: (unregistered net_device): The NVM Checksum Is Not Valid
Thank you for the update, just to clarify are you referring to you ran the EEUPDATE program and encountered the said errors? Please confirm so that I can better check on this.
Yes. I've run EEUPDATE as well as LANCONF32. Below was the command that I ran.
# ./eeupdate32 /NIC=2 /CALCCHKSUM
When running LANCONF32 diagnostics, all default tests pass except the EEPROM. Since my NVM is Flash and not EEPROM, I wondering if the tool is using EEPROM to refer to either, or if there is a limitation for Flash products. The datasheet states that either will work. Here's is a list of working tests with LANCONF32: Device blink, initialization, diagnostics (device registers, fifos, interrupt, extended loopback). The tests that failed are diagnostics EEPROM. Also, EEPROM/Flash Menu Flash test returns error: "Flash ID not found or unknow. If there is flash on board, check your EEPROM settings."
The last message is the one I'm currently focused on. Not sure what EEPROM settings are needed to enable the use of Flash. Thanks for any insight you can provide.
Finally track down the problem. After stepping through the status/control registers with LANCONF32 I found that the NVMT status was wrong. After modifying the strapping of the NVMT/JTAG_TMS pin I was able to get the controller to link.
The NVM strapping allowed my 2nd link to start working, but there is a problem with the eeupdate tool. According to the spec update multiple 82574L controllers have an SMBus address conflict. 7. SMBus ARP Fails with Multiple Devices Because Different UDIDs Collide I'm guessing this is the reason that I can no longer access the control/status registers of either of my Ethernet controllers. I'd like to assign the address manually per the spec update but I cannot access the control registers. Every time I try I get the following error:
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ================
1 (Cannot initialize adapter)
2 (Cannot initialize adapter)
The other boards I have with only one working Ethernet controller give me access to the control registers of both but won't load the second. Any suggestions on how to disable ARP when the adapter won't initialize?