mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 09:32:34 +00:00
234 lines
6.2 KiB
Bash
Executable File
234 lines
6.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. /lib/functions.sh
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions/system.sh
|
|
|
|
qcom_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
ucidef_add_switch "switch0"
|
|
ucidef_add_switch_attr "switch0" "enable" "false"
|
|
ucidef_add_switch_attr "switch0" "reset" "false"
|
|
|
|
case $board in
|
|
hfcl,ion4xi|\
|
|
hfcl,ion4x|\
|
|
hfcl,ion4x_2|\
|
|
hfcl,ion4xe)
|
|
ucidef_set_interface_wan "eth0 eth1"
|
|
ucidef_set_interface_lan ""
|
|
;;
|
|
cig,wf188|\
|
|
tplink,ex227|\
|
|
tplink,ex447)
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_set_interface_lan ""
|
|
;;
|
|
qcom,ipq6018-cp01|\
|
|
qcom,ipq807x-hk01)
|
|
ucidef_set_interface_lan "eth0 eth1 eth2 eth3 eth4"
|
|
ucidef_set_interface_wan "eth5"
|
|
;;
|
|
cig,wf194c|\
|
|
cig,wf194c4|\
|
|
edgecore,eap106|\
|
|
indio,um-310ax-v1|\
|
|
indio,um-510axp-v1|\
|
|
indio,um-510axm-v1|\
|
|
qcom,ipq5018-mp03.3|\
|
|
yuncore,ax840|\
|
|
motorola,q14|\
|
|
sercomm,wallaby|\
|
|
plasmacloud,pax1800-v1|\
|
|
plasmacloud,pax1800-v2)
|
|
ucidef_set_interface_lan "eth0"
|
|
ucidef_set_interface_wan "eth1"
|
|
;;
|
|
edgecore,eap101|\
|
|
glinet,axt1800)
|
|
ucidef_set_interface_lan "eth1 eth2"
|
|
ucidef_set_interface_wan "eth0"
|
|
;;
|
|
edgecore,eap102|\
|
|
liteon,wpx8324|\
|
|
wallys,dr6018|\
|
|
cig,wf188n|\
|
|
cig,wf196|\
|
|
muxi,ap3220l)
|
|
ucidef_set_interface_lan "eth1"
|
|
ucidef_set_interface_wan "eth0"
|
|
;;
|
|
cig,wf660a)
|
|
ucidef_set_interface_wan "eth0"
|
|
;;
|
|
cig,wf186w)
|
|
ucidef_add_switch "switch0" "4:wan" "1:lan" "2:lan" "3:lan" "0:lan" "6@eth0"
|
|
;;
|
|
yuncore,fap650)
|
|
ucidef_set_interface_lan "eth3 eth2 eth1 eth0"
|
|
ucidef_set_interface_wan "eth4"
|
|
;;
|
|
hfcl,ion4xi_wp)
|
|
ucidef_set_interface_lan "eth0 eth1 eth2 eth3"
|
|
ucidef_set_interface_wan "eth4"
|
|
;;
|
|
qcom,ipq807x-hk14)
|
|
ucidef_set_interface_lan "eth0 eth1 eth2 eth3"
|
|
ucidef_set_interface_wan "eth4"
|
|
;;
|
|
wallys,dr6018-v4|\
|
|
glinet,ax1800|\
|
|
meshpp,s618-cp03|\
|
|
meshpp,s618-cp01)
|
|
ucidef_set_interface_lan "eth1 eth2 eth3 eth4"
|
|
ucidef_set_interface_wan "eth0"
|
|
;;
|
|
cybertan,eww622-a1|\
|
|
qcom,ipq5018-mp03.1)
|
|
ucidef_set_interface_lan "eth1"
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_add_switch "switch1"
|
|
ucidef_add_switch_attr "switch1" "enable" "false"
|
|
ucidef_add_switch_attr "switch1" "reset" "true"
|
|
;;
|
|
edgecore,eap104)
|
|
ucidef_set_interface_lan "lan1 lan2 lan3 lan4"
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_add_switch "switch1" \
|
|
"6@eth1" "1:lan1" "2:lan2" "3:lan3" "4:lan4"
|
|
;;
|
|
cybertan,eww631-a1)
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_add_switch "switch1"
|
|
ucidef_add_switch_attr "switch1" "enable" "false"
|
|
ucidef_add_switch_attr "switch1" "reset" "true"
|
|
;;
|
|
cybertan,eww631-b1)
|
|
ucidef_add_switch "switch0"
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_set_interface_lan ""
|
|
ucidef_add_switch "switch1"
|
|
ucidef_add_switch_attr "switch1" "enable" "false"
|
|
ucidef_add_switch_attr "switch1" "reset" "true"
|
|
;;
|
|
yuncore,fap655)
|
|
ucidef_add_switch "switch1" \
|
|
"6@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
qcom_setup_macs()
|
|
{
|
|
local board="$1"
|
|
|
|
case $board in
|
|
cig,wf188n|\
|
|
cig,wf194c|\
|
|
cig,wf194c4)
|
|
mtd=$(find_mtd_chardev "0:APPSBLENV")
|
|
[ -z "$mtd" ] && return;
|
|
mac=$(grep BaseMacAddress= $mtd | cut -dx -f2)
|
|
[ -z "$mac" ] && return;
|
|
wan_mac=$(macaddr_canonicalize $mac)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_network_device_mac eth0 $lan_mac
|
|
ucidef_set_network_device_mac eth1 $wan_mac
|
|
ip link set eth0 address $lan_mac
|
|
ip link set eth1 address $wan_mac
|
|
ucidef_set_label_macaddr $wan_mac
|
|
;;
|
|
cig,wf186w)
|
|
mtd=$(find_mtd_chardev "0:APPSBLENV")
|
|
[ -z "$mtd" ] && return;
|
|
mac=$(grep BaseMacAddress= $mtd | cut -dx -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 $wan_mac
|
|
ip link set eth0 address $wan_mac
|
|
# ip link set eth1 address $wan_mac
|
|
# ucidef_set_label_macaddr $wan_mac
|
|
;;
|
|
cybertan,eww631-a1|\
|
|
cybertan,eww631-b1)
|
|
mac=$(grep -i -m 1 BaseMacAddress= /dev/`cat /proc/mtd | grep APPSBLENV | cut -d: -f1` | cut -d= -f2)
|
|
[ -z "$mac"] && mac="00:11:22:33:44:00"
|
|
wan_mac=$(macaddr_canonicalize $mac)
|
|
ucidef_set_network_device_mac eth0 $wan_mac
|
|
ucidef_set_label_macaddr $wan_mac
|
|
;;
|
|
cig,wf196)
|
|
mtd=$(find_mtd_chardev "0:APPSBLENV")
|
|
[ -z "$mtd" ] && return;
|
|
mac=$(grep BaseMacAddress= $mtd | cut -dx -f2)
|
|
[ -z "$mac" ] && return;
|
|
wan_mac=$(macaddr_canonicalize $mac)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_network_device_mac eth1 $lan_mac
|
|
ucidef_set_network_device_mac eth0 $wan_mac
|
|
ip link set eth0 address $wan_mac
|
|
ip link set eth1 address $lan_mac
|
|
ucidef_set_label_macaddr $wan_mac
|
|
;;
|
|
cig,wf660a)
|
|
mmc_dev=$(echo $(find_mmc_part "0:APPSBLENV") | sed 's/^.\{5\}//')
|
|
[ -z mmc_dev ] && return
|
|
mac=$(grep BaseMacAddress= /dev/$mmc_dev | cut -dx -f2)
|
|
[ -z "$mac" ] && return;
|
|
wan_mac=$(macaddr_canonicalize $mac)
|
|
ucidef_set_network_device_mac eth0 $wan_mac
|
|
ip link set eth0 address $wan_mac
|
|
;;
|
|
cybertan,eww622-a1)
|
|
mac=$(grep -i -m 1 mac_addr_base= /dev/`cat /proc/mtd | grep devinfo | cut -d: -f1` | cut -d= -f2)
|
|
[ -z "$mac"] && mac="00:11:22:33:44:55"
|
|
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
|
|
;;
|
|
indio,um-310ax-v1|\
|
|
indio,um-510axp-v1|\
|
|
indio,um-510axm-v1|\
|
|
yuncore,ax840)
|
|
wan_mac=$(cat /sys/class/net/eth1/address)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
yuncore,fap650)
|
|
wan_mac=$(cat /sys/class/net/eth4/address)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
yuncore,fap655)
|
|
wan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
muxi,ap3220l)
|
|
wan_mac=$(mtd_get_mac_binary 0:Product_Info 0x5b)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
ucidef_set_network_device_mac eth0 $wan_mac
|
|
ucidef_set_network_device_mac eth1 $lan_mac
|
|
ip link set eth0 address $wan_mac
|
|
ip link set eth1 address $lan_mac
|
|
;;
|
|
*)
|
|
wan_mac=$(cat /sys/class/net/eth0/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)
|
|
qcom_setup_interfaces $board
|
|
qcom_setup_macs $board
|
|
board_config_flush
|
|
|
|
exit 0
|