Linux mvneta driver unable to read MAC address from HW

Ezra Buehler ezra at easyb.ch
Sat Oct 10 12:41:24 EDT 2020


Hello,

sorry for bothering you, but I am kinda stuck here.

I am running Debian buster (Linux 4.19.146) on a Synology DS214+ NAS
(Marvell ARMADA XP). Unfortunately, I end up with random MAC addresses
for the two Ethernet interfaces after boot. (Also with Debian sid, Linux
5.4.0.)

Since commit 8cc3e439ab92 ("net: mvneta: read MAC address from hardware
when available") the mvneta Linux driver reads the MVNETA_MAC_ADDR_*
registers when no MAC address is provided by the DT. In my case, only
zeros are read, causing the driver to fall back to a random address. I
was able to verify that the registers are correctly written by the
bootloader by reading out the registers in the U-Boot prompt.

As a workaround, I now specify the MAC addresses in the DT. However, I
would prefer not to do that. Also, it would be nice to get to the bottom
of this.

Could it be, that for some reason, the clock of the MAC is removed
either by U-Boot or Linux during boot?

Any hints that could help me investigate this further would be highly
appreciated.

Cheers,
Ezra.




More information about the linux-arm-kernel mailing list