U mnie działa ale widzę ze wynika to z zaszłości. Ogólnie kod jest taki:
cat /etc/board.d/02_network
#!/bin/sh
#
# Copyright (C) 2012-2015 OpenWrt.org
#
......
"zyxel,nsa310b"|\
"zyxel,nsa325")
ucidef_set_interface_lan "eth0" "dhcp"
ucidef_set_interface_macaddr "lan" $( mtd_get_mac_ascii uboot_env ethaddr )
;;
...
Wiec powinien czytać z zmiennej uboot. Aby sprawdzic co tam jest - u mnie jest zle :-)
fw_printenv
Warning: Bad CRC, using default environment
bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
bootdelay=5
baudrate=115200
Pewnie nic nie zapisywałem wiec zrobilem to (wysadziłem u-boot bo reszta zmiennych powinna być inaczej ustawiona):
fw_setenv ethaddr xx:xx:xx:xx:xx:xx
fw_setenv ethaddr xx:xx:xx:xx:xx:xx
Ogólnie powyższe kroki nie sa potrzebne ale tak opisuje jak to powinno działać. Ostatecznie daje to dodatkowy wpis w configu (cat /etc/config/network) - i on jest tylko ważny. Dodaj go sobie z adresem jaki chcesz mieć.
config device 'lan_dev'
option name 'eth0'
option macaddr 'xx:xx:xx:xx:xx:xx'
Ja zmieniłem sobie jeszcze ustawienia wiatraka - startuje od 43 stopni nie jak domyślnie od 23, wiec prawie nigdy się nie uruchamia.
cat /etc/init.d/hwmon_fancontrol
#!/bin/sh /etc/rc.common
START=98
boot() {
. /lib/functions.sh
#configuring (lm85/lm63) onboard temp/fan controller to run the fan on its own
#for more information, please read https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface
case $(board_name) in
zyxel,nsa310b)
path_to_hwmon='/sys/devices/platform/ocp@f1000000/f1011000.i2c/i2c-0/0-002e/hwmon/hwmon0'
echo 2 > "$path_to_hwmon/pwm1_enable" # fan is on pwm1
echo 1 > "$path_to_hwmon/pwm1_auto_channels" # temp1 is the only one that changes
echo 43000 > "$path_to_hwmon/temp1_auto_temp_min"
echo 49600 > "$path_to_hwmon/temp1_auto_temp_max" # next step is 49600 millicelsius, or 50 celsiu
;;
czy są jakieś zalety powrotu do OFW ?
Pewnie mozna tez to ustawic przez uci e.g:
uci show | grep mac
etherwake.@target[0].mac='11:22:33:44:55:66'
network.lan_dev.macaddr='xx:xx:xx:xx:xx:xx'