mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-22 13:06:14 +00:00
3ed8927cf5
It's the A13-based Olinuxino Micro which has only wireless interfaces. The A20-based board is a fully-fledged one which has an ethernet interface. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
82 lines
1.6 KiB
Plaintext
82 lines
1.6 KiB
Plaintext
#
|
|
# Copyright (C) 2013-2015 OpenWrt.org
|
|
#
|
|
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions/system.sh
|
|
|
|
sunxi_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
|
|
case "$board" in
|
|
friendlyarm,nanopi-r1|\
|
|
friendlyarm,nanopi-r1s-h5)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
;;
|
|
lamobo,lamobo-r1)
|
|
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan
|
|
;;
|
|
olimex,a13-olinuxino-micro)
|
|
ucidef_set_interface_lan "wlan0"
|
|
;;
|
|
xunlong,orangepi-r1)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
;;
|
|
*)
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
nanopi_r1_get_mac()
|
|
{
|
|
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"
|
|
}
|
|
|
|
sunxi_setup_macs()
|
|
{
|
|
local board="$1"
|
|
local lan_mac=""
|
|
local wan_mac=""
|
|
local label_mac=""
|
|
|
|
case "$board" in
|
|
friendlyarm,nanopi-r1)
|
|
wan_mac=$(nanopi_r1_get_mac wan)
|
|
lan_mac=$(nanopi_r1_get_mac lan)
|
|
;;
|
|
friendlyarm,nanopi-r1s-h5)
|
|
lan_mac=$(get_mac_binary "/sys/bus/i2c/devices/0-0051/eeprom" 0xfa)
|
|
;;
|
|
esac
|
|
|
|
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
|
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
|
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
|
|
}
|
|
|
|
board_config_update
|
|
board=$(board_name)
|
|
sunxi_setup_interfaces $board
|
|
sunxi_setup_macs $board
|
|
board_config_flush
|
|
|
|
exit 0
|