We use the Intel i210-IT and i210-IS in a system design. We need to be able to wake the system with a Magic Packet.
The default Flash images from Intel seem to disable WoL (Wake on LAN), I enable this by setting 'Initialization Control 3 (Word 0x24)' bit 10 to '1'.
WoL only works if the system is first booted and then put in standby.
WoL does not work when the system power is applied and stays in stand-by (No OS booted to change any registers). I also need this to work.
My best guess is that the initial WUFC (Wakeup Filter Control Register) value is not correct and is only corrected by the driver once booted.
I need help to get this WoL set-up in the FLASH image.
Thank you for contacting Intel Embedded Community.
We suggest verify that you have implemented in the affected design the workaround for erratum 37, which can be found on page 32 of the Intel(R) Ethernet Controller I210: Specification Update document #332763. This document can be found when you are logged into your Resource & Design Center (RDC) privileged account at the following websites:
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:
Hello @Mæcenas_INTEL ,
The problem never occurs when first booting the OS first and going to S5 power-state after this.
The problem is always and each instance when the system stays in soft-off when power is applied (S5 power-state).
This leads me to believe it is a settings issue in the FLASH that prevents the i210 from detecting the WoL Magic Packet (e.g. WUFC register)
Thanks for your update.
The information stated in section 1.4.3 note, Tables 1-9 and 5-7, and sections 5.2.2, 5.6, 5.6.1, 5.6.2, 5.7.3, 8.21.1, 8.21.2, 8.21.3, and 8.21.12; on pages 10, 15, 178, 157, 170, 171, 177, 509, 510, 511, and 517 of the Intel(R) Ethernet Controller I210 Datasheet document # 333016. This document can be found at:
Hi @Mæcenas_INTEL ,
The filter for WoL packets (page 510, WUFC) is what I want to change in the i210 Flash, but how and where do I need to do this in the flash, this is where I need help.
I use the Intel standard flash file 'Dev_Start_I210_Copper_NOMNG_4Mb_A2_3.25_0.03.bin' and 'Dev_Start_I210_Fiber_NOMNG_4Mb_A2_3.25_0.03.bin'.
The information that may help you is stated in section 2.5, on page 7 of the Intel(R) LANConf User Manual included in the DOCS file of the Intel(R) Network Connections Tools LAN Software Tools document # 348742. It can be found when you are logged into your Resource & Design Center (RDC) privileged account at the following website:
The Tool comes in handy, but it does not solve my issue.
I did some more digging, and it seems I could set the WUFC register value using CSR (Auto Configuration Power-Up Pointer (Offset 0x27)).
0x27 has value 0x0098 in the Intel standard supplied flash, looking at the location of this word address there are already 5 CSR entries loading settings into configuration registers, most addresses do no make sense to me and are not listed in the datasheet.
At this location (as defined in section 6.5 of the i210 datasheet) the length checks out, but the CRC make no sense to me.
Am I on the right track here?
For the CRC8 calculation I should only need to add-up the Addr + LSB +MSB words of all CSR entries and only take the lower byte of the result, right???
Thanks and best regards,