Compare commits

...

3 Commits

Author SHA1 Message Date
wingate5678
b8484ff023 WIFI-14997 Multi BDF support for Sonicfi series
Signed-off-by: wingate5678 <wingate.chi@cybertan.com.tw>
2025-08-28 09:23:20 +00:00
Sebastian Huang
e7cd5038ac mediatek-sdk: Disable surge protection mode for AN8801SB PHY driver
Signed-off-by: Sebastian Huang <sebastian_huang@accton.com>
2025-08-20 08:16:30 +02:00
Paul White
34e4a01e25 ucentral-state: Respect LED config before enabling
Ensure that LEDs are configured to be ON before attempting to change their state.

Previously, if the LED was configured to be OFF, it would still enter a double-blink
state when the cloud connection was lost, and then switch to solid ON upon
reconnection—ignoring the configured OFF state.

This update changes that behavior:
    - If LEDs are configured OFF, they will remain OFF even during cloud
      disconnection (no double-blink).
    - After temporary state changes (e.g., during factory reset), the LED will
      return to its configured state (either OFF or ON).

Signed-off-by: Paul White <paul@shasta.cloud>
2025-08-20 08:16:08 +02:00
39 changed files with 162 additions and 102 deletions

View File

@@ -52,8 +52,6 @@ ALLWIFIBOARDS:= \
wallys-dr5018 \
wallys-dr6018 \
wallys-dr6018-v4 \
sonicfi-rap630c-311g \
sonicfi-rap630w-311g \
sonicfi-rap630w-312g \
sonicfi-rap650c \
sonicfi-rap630e \
@@ -207,6 +205,16 @@ $(call Package/ath11k-wifi-default)
TITLE:=cig-wf188n bdf
endef
define Package/ath11k-wifi-sonicfi-rap630c-311g
$(call Package/ath11k-wifi-default)
TITLE:=sonicfi-rap630c-311g bdf
endef
define Package/ath11k-wifi-sonicfi-rap630w-311g
$(call Package/ath11k-wifi-default)
TITLE:=sonicfi-rap630w-311g bdf
endef
define ath11k-wifi-install-one-to
$(INSTALL_DIR) $(2)/lib/firmware/$(3)/
$(INSTALL_DATA) $(1) $(2)/lib/firmware/$(3)/board.bin
@@ -419,6 +427,32 @@ define Package/ath11k-wifi-cig-wf188n/install
$(INSTALL_DATA) ./board-cig-wf188n-us.bin.IPQ6018 $(1)/lib/firmware/ath11k/IPQ6018/hw1.0/board.bin.US
endef
define Package/ath11k-wifi-sonicfi-rap630c-311g/install
$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/
$(INSTALL_DIR) $(1)/lib/firmware/ath11k/qcn6122/hw1.0/
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-au.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.AU
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-ca.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.CA
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-sg.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.SG
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-us.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.US
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-au.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.AU
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-ca.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.CA
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-sg.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.SG
$(INSTALL_DATA) ./board-sonicfi-rap630c-311g-us.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.US
endef
define Package/ath11k-wifi-sonicfi-rap630w-311g/install
$(INSTALL_DIR) $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/
$(INSTALL_DIR) $(1)/lib/firmware/ath11k/qcn6122/hw1.0/
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-au.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.AU
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-ca.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.CA
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-sg.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.SG
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-us.bin.IPQ5018 $(1)/lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.US
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-au.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.AU
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-ca.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.CA
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-sg.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.SG
$(INSTALL_DATA) ./board-sonicfi-rap630w-311g-us.bin.QCN6122 $(1)/lib/firmware/ath11k/qcn6122/hw1.0/board.bin.US
endef
$(eval $(call generate-ath11k-wifi-package,cig-wf660a,Cigtech WF660a))
$(eval $(call generate-ath11k-wifi-package,cig-wf194c,Cigtech WF194c))
$(eval $(call generate-ath11k-wifi-package,cig-wf194c4,Cigtech WF194c4))
@@ -441,8 +475,6 @@ $(eval $(call generate-ath11k-wifi-package,liteon-wpx8324,Liteon WPX8324))
$(eval $(call generate-ath11k-wifi-package,indio-um-310ax-v1,Indio UM-310AX V1))
$(eval $(call generate-ath11k-wifi-package,indio-um-510axp-v1,Indio UM-510AXP V1))
$(eval $(call generate-ath11k-wifi-package,indio-um-510axm-v1,Indio UM-510AXM V1))
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630c-311g,Sonicfi RAP630C 311G))
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-311g,Sonicfi RAP630W 311G))
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630w-312g,Sonicfi RAP630W 312G))
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap650c,SonicFi RAP650C))
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630e,SonicFi RAP630E))
@@ -479,3 +511,5 @@ $(eval $(call BuildPackage,ath11k-wifi-hfcl-ion4xi_HMR))
$(eval $(call BuildPackage,ath11k-wifi-edgecore-oap101))
$(eval $(call BuildPackage,ath11k-wifi-edgecore-oap101e))
$(eval $(call BuildPackage,ath11k-wifi-cig-wf188n))
$(eval $(call BuildPackage,ath11k-wifi-sonicfi-rap630c-311g))
$(eval $(call BuildPackage,ath11k-wifi-sonicfi-rap630w-311g))

View File

@@ -254,27 +254,39 @@ ath11k-macs)
ath11k/IPQ5018/hw1.0/board.bin)
case "$board" in
cig,wf186w|\
cig,wf186h)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.CA /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin
else
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.US /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin
fi
;;
cig,wf186h|\
sonicfi,rap630c-311g|\
sonicfi,rap630w-311g)
country=`cat /etc/ucentral/country`
if [ "$country" == "AU" ]; then
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.AU /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin
elif [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.CA /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin
elif [ "$country" == "SG" ]; then
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.SG /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin
else
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.US /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin
fi
;;
esac
;;
ath11k/qcn6122/hw1.0/board.bin)
case "$board" in
cig,wf186w|\
cig,wf186h)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.CA /lib/firmware/ath11k/qcn6122/hw1.0/board.bin
else
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.US /lib/firmware/ath11k/qcn6122/hw1.0/board.bin
fi
;;
cig,wf186h|\
sonicfi,rap630c-311g|\
sonicfi,rap630w-311g)
country=`cat /etc/ucentral/country`
if [ "$country" == "AU" ]; then
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.AU /lib/firmware/ath11k/qcn6122/hw1.0/board.bin
elif [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.CA /lib/firmware/ath11k/qcn6122/hw1.0/board.bin
elif [ "$country" == "SG" ]; then
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.SG /lib/firmware/ath11k/qcn6122/hw1.0/board.bin
else
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.US /lib/firmware/ath11k/qcn6122/hw1.0/board.bin
fi
;;
esac
;;
*)

View File

@@ -200,7 +200,7 @@
phy-mode = "sgmii";
full-duplex;
pause;
airoha,surge = <1>;
airoha,surge = <0>;
airoha,polarity = <2>;
};

View File

@@ -122,8 +122,12 @@ endef
define Package/ath12k-wifi-sonicfi-rap7110c-341x/install
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x.QCN92XX $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x-us.QCN92XX $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.US
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x-us.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.US
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x-au.QCN92XX $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.AU
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x-au.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.AU
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x-sg.QCN92XX $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.SG
$(INSTALL_DATA) ./board-2.bin.rap7110c_341x-sg.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.SG
endef
define Package/ath12k-wifi-sonicfi-rap750e-h/install
@@ -147,8 +151,12 @@ endef
define Package/ath12k-wifi-sonicfi-rap750w-311a/install
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN6432/hw1.0/
$(INSTALL_DATA) ./board-2.bin.rap750w_311a.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
$(INSTALL_DATA) ./board-2.bin.rap750w_311a.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
$(INSTALL_DATA) ./board-2.bin.rap750w_311a-us.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.US
$(INSTALL_DATA) ./board-2.bin.rap750w_311a-us.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.US
$(INSTALL_DATA) ./board-2.bin.rap750w_311a-au.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.AU
$(INSTALL_DATA) ./board-2.bin.rap750w_311a-au.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.AU
$(INSTALL_DATA) ./board-2.bin.rap750w_311a-sg.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.SG
$(INSTALL_DATA) ./board-2.bin.rap750w_311a-sg.QCN6432 $(1)/lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.SG
# $(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/regdb.bin
$(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin
endef

View File

@@ -1,20 +0,0 @@
[
{
"board": [
{
"names": [
"bus=ahb,qmi-chip-id=0,qmi-board-id=18"
],
"data": "rap7110c_341x-IPQ5332.bin"
}
],
"regdb": [
{
"names": [
"bus=ahb,qmi-chip-id=0,qmi-board-id=255"
],
"data": "ipq5332.regdb"
}
]
}
]

View File

@@ -1,20 +0,0 @@
[
{
"board": [
{
"names": [
"bus=pci,qmi-chip-id=0,qmi-board-id=4117"
],
"data": "rap7110c_341x-QCN92xx.bin"
}
],
"regdb": [
{
"names": [
"bus=pci,qmi-chip-id=0,qmi-board-id=255"
],
"data": "qcn92xx.regdb"
}
]
}
]

View File

@@ -131,40 +131,56 @@ ath12k/IPQ5332/hw1.0/board-2.bin)
cig,wf189|\
cig,wf189h|\
cig,wf189w|\
cig,wf672)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.CA /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
else
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.US /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
fi
;;
cig,wf672|\
sonicfi,rap7110c-341x|\
sonicfi,rap750w-311a)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.CA /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
elif [ "$country" == "AU" ]; then
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.AU /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
elif [ "$country" == "SG" ]; then
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.SG /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
else
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.US /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
fi
;;
esac
;;
ath12k/QCN6432/hw1.0/board-2.bin)
case "$board" in
cig,wf189h|\
cig,wf189w)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
else
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.US /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
fi
;;
cig,wf189w|\
sonicfi,rap750w-311a)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
elif [ "$country" == "AU" ]; then
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.AU /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
elif [ "$country" == "SG" ]; then
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.SG /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
else
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.US /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
fi
;;
esac
;;
ath12k/QCN92XX/hw1.0/board-2.bin)
case "$board" in
cig,wf189|\
cig,wf672)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
else
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.US /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
fi
;;
cig,wf672|\
sonicfi,rap7110c-341x)
country=`cat /etc/ucentral/country`
if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
elif [ "$country" == "AU" ]; then
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.AU /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
elif [ "$country" == "SG" ]; then
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.SG /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
else
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.US /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
fi
;;
esac
;;
*)

View File

@@ -29,19 +29,30 @@ cig,wf672)
mmc_dev=$(echo $(find_mmc_part "cert") | sed 's/^.\{5\}//')
[ -n "$mmc_dev" ] && mount -t ext4 /dev/$mmc_dev /certificates
;;
sonicfi,rap7*)
sonicfi,rap*)
if [ "$(board_name)" = "sonicfi,rap7110c-341x" ]; then
mmc_dev=$(echo $(find_mmc_part "certificates") | sed 's/^.\{5\}//')
[ -n "$mmc_dev" ] && mount -t ext4 /dev/$mmc_dev /certificates
else
mtd=$(find_mtd_index certificates)
[ -n "$mtd" ] && mount -t ext4 /dev/mtdblock$mtd /certificates
if [ "$(head -c 4 /dev/mtd$mtd)" == "hsqs" ]; then
mount -t squashfs /dev/mtdblock$mtd /certificates
touch /tmp/squashfs
else
[ -n "$mtd" ] && mount -t ext4 /dev/mtdblock$mtd /certificates
fi
fi
if [ ! -f /certificates/cert.pem ] || [ ! -f /certificates/key.pem ]; then
part=$(tar_part_lookup "0:BOOTCONFIG" "0:BOOTCONFIG1")
#part=$(tar_part_lookup "0:BOOTCONFIG" "0:BOOTCONFIG1")
part=$(tar_part_lookup "devinfo" "certificates")
if [ -n "part" ]; then
mmc_dev=$(echo $(find_mmc_part "$part") | sed 's/^.\{5\}//')
[ -n "$mmc_dev" ] && tar xf /dev/$mmc_dev -C /certificates
if [ "$(board_name)" = "sonicfi,rap7110c-341x" ]; then
mmc_dev=$(echo $(find_mmc_part "$part") | sed 's/^.\{5\}//')
[ -n "$mmc_dev" ] && tar xf /dev/$mmc_dev -C /certificates
else
mtd=$(find_mtd_index $part)
[ -n "$mtd" ] && tar xf /dev/mtdblock$mtd -C /certificates
fi
fi
fi
;;
@@ -59,17 +70,22 @@ yuncore,ax820)
[ -n "$mtd" ] && tar xf /dev/mtdblock$mtd -C /certificates
fi
;;
sonicfi,rap6*)
sonicfi,rap9*)
echo "@@@ mount certificates with rapXXX" > /dev/console
mtd=$(find_mtd_index certificates)
if [ "$(head -c 4 /dev/mtd$mtd)" == "hsqs" ]; then
mount -t squashfs /dev/mtdblock$mtd /mnt
cp /mnt/* /certificates
touch /tmp/squashfs
rm -f /certificates/ucentral.defaults
umount /mnt
fi
part=$(tar_part_lookup "devinfo" "certificates")
if [ -n "$part" ]; then
mtd=$(find_mtd_index $part)
[ -n "$mtd" ] && tar xf /dev/mtdblock$mtd -C /certificates
if [ ! -f /certificates/cert.pem ] || [ ! -f /certificates/key.pem ]; then
part=$(tar_part_lookup "devinfo" "certificates")
if [ -n "$part" ]; then
mtd=$(find_mtd_index $part)
[ -n "$mtd" ] && tar xf /dev/mtdblock$mtd -C /certificates
fi
fi
;;
*)

View File

@@ -22,6 +22,12 @@ cig,wf188n)
cig,wf196)
ucidef_set_wifi_country "US CA"
;;
sonicfi,rap630c-311g|\
sonicfi,rap630w-311g|\
sonicfi,rap7110c-341x|\
sonicfi,rap750w-311a)
ucidef_set_wifi_country "US AU CA SG"
;;
esac
board_config_flush

View File

@@ -20,6 +20,7 @@ let config;
let offline_timer;
let current_state;
let online = false;
let leds_off = false;
function self_healing() {
let heal_wifi = false;
@@ -148,6 +149,13 @@ function online_handler() {
function config_load() {
ulog(LOG_INFO, 'loading config\n');
uci.load('system');
let led_off_cfg = uci.get("system", "@system[0]", "leds_off");
if (led_off_cfg == 1) {
leds_off = true;
}
uci.load('state');
config = uci.get_all('state');
@@ -191,7 +199,7 @@ function led_find(alias) {
function factory_reset_timeout() {
let led = led_find('led-running');
if (led)
led_write(led, 'trigger', 'default-on');
led_write(led, 'trigger', leds-off ? 'none' : 'default-on');
}
let blink_timer;
@@ -210,7 +218,7 @@ let state_handler = {
offline: function() {
online = false;
let led = led_find('led-running');
if (led)
if (!leds_off && led)
led_write(led, 'trigger', 'heartbeat');
if (config.ui.offline_trigger) {
if (offline_timer)
@@ -223,7 +231,7 @@ let state_handler = {
online: function() {
online = true;
let led = led_find('led-running');
if (led)
if (!leds_off && led)
led_write(led, 'trigger', 'default-on');
online_handler();
return 0;