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-dr5018 \
wallys-dr6018 \ wallys-dr6018 \
wallys-dr6018-v4 \ wallys-dr6018-v4 \
sonicfi-rap630c-311g \
sonicfi-rap630w-311g \
sonicfi-rap630w-312g \ sonicfi-rap630w-312g \
sonicfi-rap650c \ sonicfi-rap650c \
sonicfi-rap630e \ sonicfi-rap630e \
@@ -207,6 +205,16 @@ $(call Package/ath11k-wifi-default)
TITLE:=cig-wf188n bdf TITLE:=cig-wf188n bdf
endef 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 define ath11k-wifi-install-one-to
$(INSTALL_DIR) $(2)/lib/firmware/$(3)/ $(INSTALL_DIR) $(2)/lib/firmware/$(3)/
$(INSTALL_DATA) $(1) $(2)/lib/firmware/$(3)/board.bin $(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 $(INSTALL_DATA) ./board-cig-wf188n-us.bin.IPQ6018 $(1)/lib/firmware/ath11k/IPQ6018/hw1.0/board.bin.US
endef 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-wf660a,Cigtech WF660a))
$(eval $(call generate-ath11k-wifi-package,cig-wf194c,Cigtech WF194c)) $(eval $(call generate-ath11k-wifi-package,cig-wf194c,Cigtech WF194c))
$(eval $(call generate-ath11k-wifi-package,cig-wf194c4,Cigtech WF194c4)) $(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-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-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,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-rap630w-312g,Sonicfi RAP630W 312G))
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap650c,SonicFi RAP650C)) $(eval $(call generate-ath11k-wifi-package,sonicfi-rap650c,SonicFi RAP650C))
$(eval $(call generate-ath11k-wifi-package,sonicfi-rap630e,SonicFi RAP630E)) $(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-oap101))
$(eval $(call BuildPackage,ath11k-wifi-edgecore-oap101e)) $(eval $(call BuildPackage,ath11k-wifi-edgecore-oap101e))
$(eval $(call BuildPackage,ath11k-wifi-cig-wf188n)) $(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) ath11k/IPQ5018/hw1.0/board.bin)
case "$board" in case "$board" in
cig,wf186w|\ cig,wf186w|\
cig,wf186h) cig,wf186h|\
country=`cat /etc/ucentral/country` sonicfi,rap630c-311g|\
if [ "$country" == "CA" ]; then sonicfi,rap630w-311g)
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.CA /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin country=`cat /etc/ucentral/country`
else if [ "$country" == "AU" ]; then
ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.US /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin ln -s /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin.AU /lib/firmware/ath11k/IPQ5018/hw1.0/board.bin
fi 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 esac
;; ;;
ath11k/qcn6122/hw1.0/board.bin) ath11k/qcn6122/hw1.0/board.bin)
case "$board" in case "$board" in
cig,wf186w|\ cig,wf186w|\
cig,wf186h) cig,wf186h|\
country=`cat /etc/ucentral/country` sonicfi,rap630c-311g|\
if [ "$country" == "CA" ]; then sonicfi,rap630w-311g)
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.CA /lib/firmware/ath11k/qcn6122/hw1.0/board.bin country=`cat /etc/ucentral/country`
else if [ "$country" == "AU" ]; then
ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.US /lib/firmware/ath11k/qcn6122/hw1.0/board.bin ln -s /lib/firmware/ath11k/qcn6122/hw1.0/board.bin.AU /lib/firmware/ath11k/qcn6122/hw1.0/board.bin
fi 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 esac
;; ;;
*) *)

View File

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

View File

@@ -122,8 +122,12 @@ endef
define Package/ath12k-wifi-sonicfi-rap7110c-341x/install define Package/ath12k-wifi-sonicfi-rap7110c-341x/install
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/ $(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/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-us.QCN92XX $(1)/lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.US
$(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.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 endef
define Package/ath12k-wifi-sonicfi-rap750e-h/install define Package/ath12k-wifi-sonicfi-rap750e-h/install
@@ -147,8 +151,12 @@ endef
define Package/ath12k-wifi-sonicfi-rap750w-311a/install define Package/ath12k-wifi-sonicfi-rap750w-311a/install
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/ $(INSTALL_DIR) $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/
$(INSTALL_DIR) $(1)/lib/firmware/ath12k/QCN6432/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-us.IPQ5332 $(1)/lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.US
$(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.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/IPQ5332/hw1.0/regdb.bin
$(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin $(INSTALL_DATA) ./ipq5332_qcn6432.regdb $(1)/lib/firmware/ath12k/QCN6432/hw1.0/regdb.bin
endef 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,wf189|\
cig,wf189h|\ cig,wf189h|\
cig,wf189w|\ cig,wf189w|\
cig,wf672) cig,wf672|\
country=`cat /etc/ucentral/country` sonicfi,rap7110c-341x|\
if [ "$country" == "CA" ]; then sonicfi,rap750w-311a)
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.CA /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin country=`cat /etc/ucentral/country`
else if [ "$country" == "CA" ]; then
ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.US /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin ln -s /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin.CA /lib/firmware/ath12k/IPQ5332/hw1.0/board-2.bin
fi 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 esac
;; ;;
ath12k/QCN6432/hw1.0/board-2.bin) ath12k/QCN6432/hw1.0/board-2.bin)
case "$board" in case "$board" in
cig,wf189h|\ cig,wf189h|\
cig,wf189w) cig,wf189w|\
country=`cat /etc/ucentral/country` sonicfi,rap750w-311a)
if [ "$country" == "CA" ]; then country=`cat /etc/ucentral/country`
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin if [ "$country" == "CA" ]; then
else ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin
ln -s /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin.US /lib/firmware/ath12k/QCN6432/hw1.0/board-2.bin elif [ "$country" == "AU" ]; then
fi 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 esac
;; ;;
ath12k/QCN92XX/hw1.0/board-2.bin) ath12k/QCN92XX/hw1.0/board-2.bin)
case "$board" in case "$board" in
cig,wf189|\ cig,wf189|\
cig,wf672) cig,wf672|\
country=`cat /etc/ucentral/country` sonicfi,rap7110c-341x)
if [ "$country" == "CA" ]; then country=`cat /etc/ucentral/country`
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin if [ "$country" == "CA" ]; then
else ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.CA /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin
ln -s /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin.US /lib/firmware/ath12k/QCN92XX/hw1.0/board-2.bin elif [ "$country" == "AU" ]; then
fi 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 esac
;; ;;
*) *)

View File

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

View File

@@ -22,6 +22,12 @@ cig,wf188n)
cig,wf196) cig,wf196)
ucidef_set_wifi_country "US CA" 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 esac
board_config_flush board_config_flush

View File

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