[PATCH] defconfig: espressobin: enable NET_RANDOM_ETHADDR
Andre Heider
a.heider at gmail.com
Fri Sep 11 17:52:26 CEST 2020
Hi Marek,
On 11/09/2020 13:55, Marek Behún wrote:
> On Wed, 9 Sep 2020 00:38:31 +0200 Pali Rohár <pali at kernel.org> wrote:
>> On Tuesday 08 September 2020 08:52:56 Tom Rini wrote:
>>> Note that when CONFIG_NET_RANDOM_ETHADDR is set, we only use a
>>> random MAC address when we haven't found one either on the hardware
>>> or environment.
>>
>> I know.
>>
>>> It also prints a warning that you are using a random MAC,
>>> so if it's documented on how to recover the real MAC a user should
>>> see that warning and fix it.
>>
>> In case you did backup of MAC address or you have MAC address printed
>> on sticker, you can restore it. If you loaded distribution U-Boot
>> which erase MAC address and you have not did any backup, then your
>> MAC address is forever lost.
>
> On Turris MOX we write the MAC address into OTP of the SOC during
> manufacturing.
>
> It is possible to write code that burns the MAC address into OTP, I
> consider this a better option than enabling random MAC address.
>
> Maybe we can enable random MAC address, and if MAC address is not found
> in environment nor OTP, issue a warning, something like
> "WARNING: MAC address lost, please burn the MAC address of your device
> to OTP with command xyz"
>
> What do you think?
if there's a mac stored in otp during manufacturing, that's of course
the best solution. There's no need for CONFIG_NET_RANDOM_ETHADDR then.
But globalscale does not do that.
Doing it afterwards, so u-boot claiming some otp space for itself, and
instructing the user how to write to it sounds too dangerous/error-prone.
For me CONFIG_NET_RANDOM_ETHADDR is a knob that should be enabled if
there's no mac address stored in a sane way (where saving it just to an
u-boot env during manufacturing doesn't count as sane, especially if the
vendor moves the spi env offset around in a firmware update).
So I think CONFIG_NET_RANDOM_ETHADDR is enough.
But it would be nice if e.g. a board could set specific env vars as
indestructible/unwipeable/precious/whatever, which instructs `env
default -a` to keep those (which is common after updating the
bootloader). Maybe that's an idea worth pursuing?
Thanks,
Andre
More information about the U-Boot
mailing list