local board="$1"
case "$board" in
- friendlyarm,nanopi-r2s)
+ friendlyarm,nanopi-r2c|\
+ friendlyarm,nanopi-r2s|\
+ friendlyarm,nanopi-r4s|\
+ xunlong,orangepi-r1-plus|\
+ xunlong,orangepi-r1-plus-lts)
ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
;;
+ friendlyarm,nanopi-r5c)
+ ucidef_set_interfaces_lan_wan 'eth0' 'eth1'
+ ;;
+ friendlyarm,nanopi-r5s)
+ ucidef_set_interfaces_lan_wan 'eth1 eth2' 'eth0'
+ ;;
*)
ucidef_set_interface_lan 'eth0'
;;
esac
}
-nanopi_r2s_generate_mac()
+nanopi_r4s_get_mac()
{
- local sd_hash=$(sha256sum /sys/class/block/mmcblk0/device/cid)
- local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)")
- echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")"
+ local interface=$1
+ local eeprom_path="/sys/bus/i2c/devices/2-0051/eeprom"
+ local address
+
+ if [ -f "$eeprom_path" ]; then
+ address=$(get_mac_binary "$eeprom_path" 0xfa)
+ if [ "$interface" = "lan" ]; then
+ address=$(macaddr_setbit_la "$address")
+ fi
+ else
+ address=$(macaddr_generate_from_mmc_cid mmcblk1)
+ if [ "$interface" = "lan" ]; then
+ address=$(macaddr_add "$address" 1)
+ fi
+ fi
+
+ echo "$address"
}
rockchip_setup_macs()
local label_mac=""
case "$board" in
+ friendlyarm,nanopi-r2c|\
friendlyarm,nanopi-r2s)
- wan_mac=$(nanopi_r2s_generate_mac)
+ wan_mac=$(macaddr_generate_from_mmc_cid mmcblk0)
lan_mac=$(macaddr_add "$wan_mac" 1)
;;
+ friendlyarm,nanopi-r4s)
+ wan_mac=$(nanopi_r4s_get_mac wan)
+ lan_mac=$(nanopi_r4s_get_mac lan)
+ ;;
+ friendlyarm,nanopi-r5c)
+ wan_mac=$(macaddr_generate_from_mmc_cid mmcblk*)
+ lan_mac=$(macaddr_add "$wan_mac" 1)
+ ;;
+ friendlyarm,nanopi-r5s)
+ wan_mac=$(macaddr_generate_from_mmc_cid mmcblk1)
+ lan_mac=$(macaddr_add "$wan_mac" 1)
+ ;;
+ xunlong,orangepi-r1-plus|\
+ xunlong,orangepi-r1-plus-lts)
+ wan_mac=$(macaddr_add "$(cat /sys/class/net/eth1/address)" -1)
+ ;;
esac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac