我需要永久更改嵌入式系统上 eth1 以太网设备的 MAC 地址,以便它在每次启动时保留该 MAC 地址。
我正在使用的操作系统:
VERSION_ID="v2015.12"
NAME="Angstrom"
ID="angstrom"
PRETTY_NAME="The Ångström Distribution v2015.12"
ANSI_COLOR="1;35"
HOME_URL="http://www.angstrom-distribution.org"
我使用的Linux版本是:
Linux arria10 4.1.33-ltsi-altera #1 SMP Mon Oct 30 10:14:22 PDT 2017 armv7l GNU/Linux
我可以通过更改以下 bootarg 来设置 eth0 的 MAC 地址:
setenv ethaddr 00:11:22:33:44:55
save
run bootcmd
启动后,eth0 将按预期获取此 MAC 地址。
当我尝试对 eth1 执行相同操作时,eth1addr
启动时会定义使用随机 MAC 地址。
不过,我可以在启动后使用以下命令更改 eth1 的 MAC 地址:
ifconfig eth1 down
ifconfig eth1 hw ether 00:11:22:33:44:56
ifconfig eth1 up
这对我来说不是一个永久的解决方案,因为每次启动设备时我都需要设置 MAC。
有没有办法从 bootargs 设置 eth1 的 MAC 地址?还有关于为什么我无法使用设置 MAC 地址的任何想法吗setenv eth1addr
?
编辑:
eth0是RGMII,eth1是SGMII
答案1
没有触手可及的埃框,但 IIRC 您可以在/etc/network/interfaces
文件中设置它
auto eth1
iface eth1 inet dhcp # or whatever setting you need for eth1
hwaddress ether 00:11:22:33:44:56