base-files: provide option to specify label MAC address in board.d
For many devices, MAC addresses cannot be retrieved via the device tree alias. To still provide the label MAC address for those, this implements a second mechanism that will put the address into uci config. Note that this stores the actual MAC address, whereas in DTS we reference the bearing device. This is based on the work of Rosy Song <rosysong@rosinson.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
ba5180c747
commit
a34c043890
@ -20,6 +20,7 @@ generate_static_network() {
|
||||
uci -q batch <<-EOF
|
||||
delete network.globals
|
||||
set network.globals='globals'
|
||||
set network.globals.ula_prefix='auto'
|
||||
EOF
|
||||
}
|
||||
|
||||
@ -256,6 +257,11 @@ generate_static_system() {
|
||||
uci -q set "system.@system[-1].hostname=$hostname"
|
||||
fi
|
||||
|
||||
local label_macaddr
|
||||
if json_get_var label_macaddr label_macaddr; then
|
||||
uci -q set "system.@system[-1].label_macaddr=$label_macaddr"
|
||||
fi
|
||||
|
||||
if json_is_a ntpserver array; then
|
||||
local keys key
|
||||
json_get_keys keys ntpserver
|
||||
|
||||
@ -19,6 +19,7 @@ get_mac_label() {
|
||||
|
||||
[ -n "$macdevice" ] && macaddr=$(get_mac_binary "$basepath/$macdevice/mac-address" 0 2>/dev/null)
|
||||
[ -n "$macaddr" ] || macaddr=$(get_mac_binary "$basepath/$macdevice/local-mac-address" 0 2>/dev/null)
|
||||
[ -n "$macaddr" ] || macaddr=$(uci -q get system.@system[0].label_macaddr)
|
||||
echo $macaddr
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user