<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"><br><br><font color="#990099">-----"openbmc" <<a href="mailto:openbmc-bounces+miltonm=us.ibm.com@lists.ozlabs.org" target="_blank">openbmc-bounces+miltonm=us.ibm.com@lists.ozlabs.org</a>> wrote: -----</font><br><br>>To: OpenBMC Maillist <<a href="mailto:openbmc@lists.ozlabs.org" target="_blank">openbmc@lists.ozlabs.org</a>><br>>From: Maxim Sloyko <br>>Sent by: "openbmc" <br>>Date: 09/30/2016 01:09PM<br>>Subject: U-Boot ethXaddr environment variables are not propagating to<br>>Linux<br>><br>>Hi all,<br>><br>>This worked before, when I first tried it ~2 months ago on the eval<br>>board: set ethaddr & eth1addr in U-Boot, boot Linux and it will use<br>>the same MAC addresses. I tried it again yesterday and it does not<br>>work any more.<br><br>I think ethaddr made a difference.  Not sure eth1addr ever did, unless <br>you have two direct interfaces on your board?<br><br>><br>>I tried it with openbmc/u-boot, to make sure my changes do not<br>>interfere. I verified, by reading MAC08 MAC0C registers, that MAC<br>>addresses are properly configured by U-Boot from env. However, when I<br>>booted Linux, it still generated random MAC address, rather then<br>>reusing whatever was passed up from U-Boot.<br>><br>>Any ideas on what change might have affected this?<br><br><br>You have likely hit the same issue as <br><a href="https://github.com/openbmc/u-boot/issues/13" target="_blank">https://github.com/openbmc/u-boot/issues/13</a><br><a href="https://github.com/openbmc/openbmc/issues/578" target="_blank">https://github.com/openbmc/openbmc/issues/578</a><br><br>Basically u-boot was over optimized and does not write the mac unless it <br>tries to use the network.<br><br>You could add a ping (static addressing) or dhcp request (dhcp address) in <br>your bootcmd as a workaround, or address the bug more directly.<br><br>Note: even with NCSI this should not require 2 seconds, only the 10ms<br>sleep to wait for the clock stabilization.  The 2 second delay likely comes <br>from the NCSI spec as the maximum time for packages to initialize.<br><br>milton<br><br></font><BR>