mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 09:32:34 +00:00
Support dual BDF for WF186H/WF186W/WF189/WF189H/WF189W/WF672A Fixes: WIFI-14890 Signed-off-by: Justin.Guo <guoxijun@actiontec.com>
147 lines
5.4 KiB
Bash
Executable File
147 lines
5.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions.sh
|
|
. /lib/functions/system.sh
|
|
|
|
ipq53xx_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
|
|
case "$board" in
|
|
qcom,ipq9574-ap-al02-c4)
|
|
ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4 eth5" "eth0"
|
|
;;
|
|
cig,wf189|\
|
|
edgecore,eap105|\
|
|
sercomm,ap72tip|\
|
|
sonicfi,rap750w-311a)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
;;
|
|
sonicfi,rap7110c-341x|\
|
|
sonicfi,rap750e-h|\
|
|
sonicfi,rap750e-s)
|
|
ucidef_set_interfaces_lan_wan "" "eth0"
|
|
;;
|
|
cig,wf189w)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
ucidef_add_switch "switch1" "0u@eth1" "3:lan" "2:lan" "1:lan"
|
|
;;
|
|
cig,wf189h)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
ucidef_add_switch "switch1" "0u@eth1" "3:lan" "2:lan"
|
|
;;
|
|
cig,wf672)
|
|
ucidef_set_interface_wan "eth0 eth1"
|
|
;;
|
|
emplus,wap7635|\
|
|
sercomm,ap72tip-v4)
|
|
ucidef_set_interface_wan "eth0"
|
|
;;
|
|
zyxel,nwa130be)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
qcom_setup_macs()
|
|
{
|
|
local board="$1"
|
|
case $board in
|
|
cig,wf189w|\
|
|
cig,wf189h|\
|
|
cig,wf189)
|
|
mtd=$(find_mtd_chardev "0:APPSBLENV")
|
|
[ -z "$mtd" ] && return;
|
|
mac=$(grep eth1addr= $mtd | cut -d= -f2)
|
|
[ -z "$mac" ] && return;
|
|
wan_mac=$(macaddr_canonicalize $mac)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_network_device_mac eth0 $wan_mac
|
|
ucidef_set_network_device_mac eth1 $lan_mac
|
|
ucidef_set_label_macaddr $wan_mac
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 2)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 3)
|
|
ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 4)
|
|
;;
|
|
cig,wf672)
|
|
mmc=$(find_mmc_part "0:APPSBLENV")
|
|
[ -z "$mmc" ] && return;
|
|
mac=$(grep eth1addr= $mmc | cut -d= -f2)
|
|
[ -z "$mac" ] && return;
|
|
wan_mac=$(macaddr_canonicalize $mac)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_network_device_mac eth0 $wan_mac
|
|
ucidef_set_network_device_mac eth1 $lan_mac
|
|
ucidef_set_label_macaddr $wan_mac
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 2)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 3)
|
|
ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 4)
|
|
;;
|
|
sercomm,ap72tip)
|
|
wan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(cat /sys/class/net/eth1/address)
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 2)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 3)
|
|
ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 4)
|
|
;;
|
|
edgecore,eap105)
|
|
wan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 2)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 3)
|
|
ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 4)
|
|
;;
|
|
sonicfi,rap7110c-341x|\
|
|
sonicfi,rap750e-h|\
|
|
sonicfi,rap750e-s)
|
|
wan_mac=$(cat /sys/class/net/eth0/address)
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 2)
|
|
[ "$board" = "sonicfi,rap7110c-341x" ] &&
|
|
ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 3)
|
|
;;
|
|
sonicfi,rap750w-311a)
|
|
wan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 2)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 3)
|
|
;;
|
|
emplus,wap7635|\
|
|
sercomm,ap72tip-v4)
|
|
wan_mac=$(cat /sys/class/net/eth0/address)
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 2)
|
|
ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 3)
|
|
;;
|
|
zyxel,nwa130be)
|
|
wan_mac=$(cat /proc/cmdline)
|
|
wan_mac="${wan_mac##*hwaddr=}"
|
|
wan_mac="${wan_mac%% *}"
|
|
wan_mac="$(echo ${wan_mac} | sed 's/\(..\)/\1:/g;s/:$//')"
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_network_device_mac eth0 $wan_mac
|
|
ucidef_set_network_device_mac eth1 $lan_mac
|
|
ucidef_set_label_macaddr $wan_mac
|
|
ucidef_set_wireless_macaddr_base 2g $(macaddr_add "$wan_mac" 2)
|
|
ucidef_set_wireless_macaddr_base 5g $(macaddr_add "$wan_mac" 3)
|
|
ucidef_set_wireless_macaddr_base 6g $(macaddr_add "$wan_mac" 4)
|
|
;;
|
|
*)
|
|
wan_mac=$(cat /sys/class/net/eth1/address)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
esac
|
|
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
|
|
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
|
|
[ -n "$wan_mac" ] && ucidef_set_label_macaddr "$wan_mac"
|
|
}
|
|
|
|
board_config_update
|
|
board=$(board_name)
|
|
ipq53xx_setup_interfaces $board
|
|
qcom_setup_macs $board
|
|
board_config_flush
|
|
|
|
exit 0
|