#!/bin/sh

. /lib/functions/leds.sh
. /lib/functions/uci-defaults.sh

set_wifi_led() {
	ucidef_set_led_netdev "wifi_led" "wifi" "${1}" "${2:-wlan0}"
}


board=$(board_name)
boardname="${board##*,}"

board_config_update

led_wlan="$(get_dt_led wlan)"
[ -n "$led_wlan" ] && ucidef_set_led_wlan "wifi_led" "wifi" "$led_wlan" "phy0tpt"

case $board in
aigale,ai-br100)
	ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" "eth0.2"
	set_wifi_led "$boardname:blue:wlan"
	;;
alfa-network,ac1200rm)
	set_wifi_led "$boardname:green:wlan2g" "wlan1"
	;;
alfa-network,r36m-e4g)
	ucidef_set_led_netdev "4g" "4g" "$boardname:orange:4g" "wwan0"
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x8"
	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
	;;
alfa-network,tube-e4g)
	ucidef_set_led_netdev "4g" "4g" "$boardname:green:4g" "wwan0"
	ucidef_set_led_netdev "lan" "lan" "$boardname:blue:lan" "eth0"
	;;
asus,rp-n53)
	ucidef_set_led_netdev "eth" "Network" "$boardname:white:back" "eth0"
	set_wifi_led "$boardname:blue:wifi"
	;;
asus,rt-n12p)
	ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0.1
	ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" eth0.2
	set_wifi_led "$boardname:green:air"
	;;
asus,rt-n14u)
	ucidef_set_led_netdev "lan" "lan" "$boardname:blue:lan" eth0.1
	ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" eth0.2
	set_wifi_led "$boardname:blue:air"
	;;
asus,rt-ac51u|\
kingston,mlw221|\
kingston,mlwg2|\
sanlinking,d240)
	set_wifi_led "$boardname:blue:wifi"
	;;
bdcom,wap2100-sk)
	set_wifi_led "$boardname:green:wlan2g"
	;;
comfast,cf-wr800n)
	ucidef_set_led_netdev "lan" "lan" "$boardname:white:ethernet" eth0.1
	set_wifi_led "$boardname:white:wifi"
	;;
dlink,dwr-116-a1|\
head-weblink,hdrm200|\
ohyeah,oy-0001|\
planex,mzk-ex300np|\
zbtlink,zbt-wr8305rt|\
zyxel,keenetic-omni|\
zyxel,keenetic-omni-ii|\
zyxel,keenetic-viva)
	set_wifi_led "$boardname:green:wifi"
	;;
dlink,dwr-118-a1)
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1f"
	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x20"
	set_wifi_led "$boardname:green:wlan2g" "wlan1"
	;;
dlink,dwr-118-a2)
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
	set_wifi_led "$boardname:green:wlan2g" "wlan1"
	;;
dlink,dwr-921-c1|\
dlink,dwr-922-e2)
	set_wifi_led "$boardname:green:wifi"
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x0f"
	ucidef_set_led_netdev "signalstrength" "signalstrength" "$boardname:green:sigstrength" "wwan0" "link"
	ucidef_set_led_netdev "4g" "4g" "$boardname:green:4g" "wwan0" "tx rx"
	;;
dlink,dwr-960)
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x2e"
	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
	;;
dovado,tiny-ac)
	set_wifi_led "$boardname:orange:wifi"
	;;
edimax,br-6478ac-v2|\
edimax,ew-7478apc)
	set_wifi_led "$boardname:blue:wlan"
	;;
edimax,ew-7476rpc|\
edimax,ew-7478ac)
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan"  "switch0" "0x20"
	;;
elecom,wrh-300cr)
	set_wifi_led "$boardname:green:wlan"
	ucidef_set_led_netdev "lan" "lan" "$boardname:green:ethernet" "eth0"
	;;
engenius,esr600)
	ucidef_set_led_netdev "wlan5g" "5.0GHz" "$boardname:blue:wlan5g" "wlan0"
	ucidef_set_led_netdev "wlan2g" "2.4GHz" "$boardname:blue:wlan2g" "wlan1"
	;;
glinet,gl-mt300a|\
glinet,gl-mt300n|\
glinet,gl-mt750)
	set_wifi_led "$boardname:wlan"
	;;
hiwifi,hc5661|\
hiwifi,hc5761)
	ucidef_set_led_switch "internet" "internet" "$boardname:blue:internet" "switch0" "0x01"
	;;
hiwifi,hc5861)
	ucidef_set_led_switch "internet" "internet" "$boardname:blue:internet" "switch0" "0x20"
	;;
hnet,c108)
	ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0"
	ucidef_set_led_netdev "modem" "modem" "$boardname:green:modem" "wwan0"
	;;
iodata,wn-ac1167gr|\
iodata,wn-ac733gr3)
	ucidef_set_led_wlan "wlan5g" "WLAN5G" "$boardname:green:wlan5g" "phy0radio"
	ucidef_set_led_wlan "wlan2g" "WLAN2G" "$boardname:green:wlan2g" "phy1radio"
	;;
kimax,u25awf-h1)
	set_wifi_led "u25awf:red:wifi"
	ucidef_set_led_netdev "eth" "eth" "u25awf:green:lan" "eth0"
	;;
kimax,u35wf)
	set_wifi_led "$boardname:blue:wifi"
	ucidef_set_led_netdev "eth" "ETH" "$boardname:green:eth" "eth0"
	;;
lava,lr-25g001)
	ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "$boardname:green:wlan2g" "wlan1"
	ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "$boardname:green:wlan5g" "wlan0"
	;;
lenovo,newifi-y1)
	ucidef_set_led_netdev "wifi" "WIFI" "$boardname:blue:wifi" "wlan1"
	ucidef_set_led_netdev "wifi5g" "WIFI5G" "$boardname:blue:wifi5g" "wlan0"
	ucidef_set_led_switch "lan" "LAN" "$boardname:blue:lan" "switch0" "0x03"
	;;
lenovo,newifi-y1s)
	ucidef_set_led_netdev "wifi" "WIFI" "$boardname:yellow:wifi" "wlan1"
	ucidef_set_led_netdev "wifi5g" "WIFI5G" "$boardname:blue:wifi" "wlan0"
	ucidef_set_led_netdev "wan" "WAN" "$boardname:blue:internet" "eth0.2" "tx rx"
	;;
netgear,ex2700|\
netgear,wn3000rp-v3)
	set_wifi_led "$boardname:green:router"
	;;
netgear,ex3700|\
netgear,ex6130)
	ucidef_set_led_netdev "wlan5g" "ROUTER (green)" "$boardname:green:router" "wlan0"
	ucidef_set_led_netdev "wlan2g" "DEVICE (green)" "$boardname:green:device" "wlan1"
	;;
phicomm,psg1208)
	set_wifi_led "$boardname:white:wlan2g"
	;;
planex,mzk-ex750np|\
zbtlink,zbt-we826-e)
	set_wifi_led "$boardname:red:wifi"
	;;
tplink,archer-c2-v1)
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch1" "0x1e"
	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch1" "0x01"
	;;
tplink,archer-c20-v1)
	ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
	ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
	;;
tplink,archer-c20i)
	ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
	ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
	;;
tplink,archer-c50-v1)
	ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
	ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
	;;
tplink,archer-mr200)
	ucidef_set_led_netdev "lan" "lan" "$boardname:white:lan" "eth0.1"
	ucidef_set_led_netdev "wan" "wan" "$boardname:white:wan" "usb0"
	;;
tplink,re200-v1)
	ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0"
	;;
youku,yk1)
	set_wifi_led "$boardname:blue:air"
	ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"
	;;
zbtlink,zbt-ape522ii)
	ucidef_set_led_netdev "wlan2g4" "wlan1-link" "$boardname:green:wlan2g4" "wlan1"
	ucidef_set_led_netdev "sys1" "wlan1" "$boardname:green:sys1" "wlan1" "tx rx"
	ucidef_set_led_netdev "sys2" "wlan0" "$boardname:green:sys2" "wlan0" "tx rx"
	;;
zbtlink,zbt-wa05)
	set_wifi_led "$boardname:blue:air"
	;;
zbtlink,zbt-we826-16m|\
zbtlink,zbt-we826-32m)
	set_wifi_led "zbt-we826:green:wifi"
	;;
zbtlink,zbt-we1026-5g-16m)
	ucidef_set_led_netdev "lan" "LAN" "we1026-5g:green:lan" "eth0"
	set_wifi_led "we1026-5g:green:wifi"
	;;
zbtlink,zbt-we1026-h-32m)
	set_wifi_led "we1026-h:green:wifi"
	ucidef_set_led_switch "lan" "lan" "we1026-h:green:lan" "switch0" "0x8"
	ucidef_set_led_switch "wan" "wan" "we1026-h:green:wan" "switch0" "0x10"
	;;
zbtlink,zbt-we2026)
	set_wifi_led "$boardname:green:wlan"
	;;
esac

board_config_flush

exit 0
