mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 01:22:25 +00:00
Compare commits
12 Commits
WIFI-14840
...
staging-mt
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77518c9760 | ||
|
|
4a5cf875d9 | ||
|
|
65bbcbbd6b | ||
|
|
fc7750b900 | ||
|
|
6c4ca10e74 | ||
|
|
d71b803708 | ||
|
|
07a8796acb | ||
|
|
40d46bf5ce | ||
|
|
70e0942ce2 | ||
|
|
ae1bf679da | ||
|
|
41a3317661 | ||
|
|
a488be045c |
@@ -658,7 +658,6 @@ define Package/wpad/install
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wpad $(1)/usr/sbin/
|
||||
$(LN) wpad $(1)/usr/sbin/hostapd
|
||||
$(LN) wpad $(1)/usr/sbin/wpa_supplicant
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd_cli $(1)/usr/sbin/
|
||||
endef
|
||||
Package/wpad-basic/install = $(Package/wpad/install)
|
||||
Package/wpad-basic-openssl/install = $(Package/wpad/install)
|
||||
|
||||
@@ -71,6 +71,7 @@ qcom_setup_interfaces()
|
||||
sonicfi,rap630e)
|
||||
ucidef_set_interface_wan "eth1"
|
||||
ucidef_set_interface_lan "eth0"
|
||||
;;
|
||||
emplus,wap581)
|
||||
ucidef_set_interface_wan "eth0 eth1"
|
||||
;;
|
||||
|
||||
@@ -141,6 +141,14 @@
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ramoops: ramoops@42ff0000 {
|
||||
compatible = "ramoops";
|
||||
reg = <0x0 0x42ff0000 0x0 0x10000>;
|
||||
record-size = <0x2000>;
|
||||
console-size = <0x2000>;
|
||||
pmsg-size = <0x2000>;
|
||||
};
|
||||
|
||||
/* 512 KiB reserved for ARM Trusted Firmware (BL31 + BL32) */
|
||||
secmon_reserved: secmon@43000000 {
|
||||
reg = <0 0x43000000 0 0x80000>;
|
||||
|
||||
@@ -384,6 +384,16 @@ CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_SYSCON=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_PSTORE=y
|
||||
# CONFIG_PSTORE_842_COMPRESS is not set
|
||||
CONFIG_PSTORE_CONSOLE=y
|
||||
# CONFIG_PSTORE_DEFLATE_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZ4_COMPRESS is not set
|
||||
# CONFIG_PSTORE_LZO_COMPRESS is not set
|
||||
CONFIG_PSTORE_PMSG=y
|
||||
CONFIG_PSTORE_RAM=y
|
||||
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_MEDIATEK=y
|
||||
# CONFIG_PWM_GPIO is not set
|
||||
|
||||
20
feeds/qca-wifi-7/ath12k-wifi/board-2-nwa130be-IPQ5332.json
Normal file
20
feeds/qca-wifi-7/ath12k-wifi/board-2-nwa130be-IPQ5332.json
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"board": [
|
||||
{
|
||||
"names": [
|
||||
"bus=ahb,qmi-chip-id=0,qmi-board-id=18"
|
||||
],
|
||||
"data": "nwa130be-IPQ5332.bin"
|
||||
}
|
||||
],
|
||||
"regdb": [
|
||||
{
|
||||
"names": [
|
||||
"bus=ahb,qmi-chip-id=0,qmi-board-id=18"
|
||||
],
|
||||
"data": "ipq5332.regdb"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
20
feeds/qca-wifi-7/ath12k-wifi/board-2-nwa130be-QCN92XX.json
Normal file
20
feeds/qca-wifi-7/ath12k-wifi/board-2-nwa130be-QCN92XX.json
Normal file
@@ -0,0 +1,20 @@
|
||||
[
|
||||
{
|
||||
"board": [
|
||||
{
|
||||
"names": [
|
||||
"bus=pci,qmi-chip-id=0,qmi-board-id=4121"
|
||||
],
|
||||
"data": "nwa130be-QCN92XX.bin"
|
||||
}
|
||||
],
|
||||
"regdb": [
|
||||
{
|
||||
"names": [
|
||||
"bus=pci,qmi-chip-id=0,qmi-board-id=4121"
|
||||
],
|
||||
"data": "qcn92xx.regdb"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
Binary file not shown.
Binary file not shown.
@@ -15,3 +15,6 @@ $encoder -c board-2-ap72tip-QCN92XX.json -o board-2.bin.ap72tip.QCN92XX
|
||||
|
||||
$encoder -c board-2-ap72tip-v4-IPQ5332.json -o board-2.bin.ap72tip-v4.IPQ5332
|
||||
$encoder -c board-2-ap72tip-v4-QCN92XX.json -o board-2.bin.ap72tip-v4.QCN92XX
|
||||
|
||||
$encoder -c board-2-nwa130be-IPQ5332.json -o board-2.bin.nwa130be.IPQ5332
|
||||
$encoder -c board-2-nwa130be-QCN92XX.json -o board-2.bin.nwa130be.QCN92XX
|
||||
|
||||
BIN
feeds/qca-wifi-7/ath12k-wifi/nwa130be-IPQ5332.bin
Executable file
BIN
feeds/qca-wifi-7/ath12k-wifi/nwa130be-IPQ5332.bin
Executable file
Binary file not shown.
BIN
feeds/qca-wifi-7/ath12k-wifi/nwa130be-QCN92XX.bin
Executable file
BIN
feeds/qca-wifi-7/ath12k-wifi/nwa130be-QCN92XX.bin
Executable file
Binary file not shown.
@@ -768,7 +768,6 @@ define Package/wpad/install
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wpad $(1)/usr/sbin/
|
||||
$(LN) wpad $(1)/usr/sbin/hostapd
|
||||
$(LN) wpad $(1)/usr/sbin/wpa_supplicant
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd_cli $(1)/usr/sbin/
|
||||
endef
|
||||
Package/wpad-basic/install = $(Package/wpad/install)
|
||||
Package/wpad-basic-openssl/install = $(Package/wpad/install)
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
--- a/src/drivers/driver_nl80211_event.c 2025-07-11 09:37:29.772326959 +0800
|
||||
+++ b/src/drivers/driver_nl80211_event.c 2025-07-14 15:27:22.079961399 +0800
|
||||
@@ -4904,6 +4904,11 @@
|
||||
dl_list_for_each_safe(drv, tmp, &global->interfaces,
|
||||
struct wpa_driver_nl80211_data, list) {
|
||||
for (bss = drv->first_bss; bss; bss = bss->next) {
|
||||
+ /* AWGN event should be delivered to 6G interface only. */
|
||||
+ if (gnlh->cmd == NL80211_CMD_AWGN_DETECT &&
|
||||
+ (nla_get_u32(tb[NL80211_ATTR_WIPHY_FREQ])) != bss->flink->freq)
|
||||
+ continue;
|
||||
+
|
||||
if (wiphy_idx_set)
|
||||
wiphy_idx = nl80211_get_wiphy_index(bss);
|
||||
if ((ifidx == -1 && !wiphy_idx_set && !wdev_id_set) ||
|
||||
@@ -18,6 +18,21 @@
|
||||
model = "EdgeCore eap105";
|
||||
compatible = "edgecore,eap105", "qcom,ipq5332-ap-mi01.6", "qcom,ipq5332";
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ramoops@49c00000 {
|
||||
compatible = "ramoops";
|
||||
no-map;
|
||||
reg = <0x0 0x49c00000 0x0 0x50000>;
|
||||
record-size = <0x20000>;
|
||||
console-size = <0x8000>;
|
||||
pmsg-size = <0x8000>;
|
||||
};
|
||||
};
|
||||
|
||||
aliases {
|
||||
serial0 = &blsp1_uart0;
|
||||
serial1 = &blsp1_uart1;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
From f117d369cecadedefd2eb1467d52e9df76c14dc6 Mon Sep 17 00:00:00 2001
|
||||
From 5f22b2d262ba44ecd0b05b32c6eee6161460718f Mon Sep 17 00:00:00 2001
|
||||
From: YenLin Pan <yenlin.pan@zyxel.com.tw>
|
||||
Date: Wed, 9 Jul 2025 14:46:13 +0800
|
||||
Date: Tue, 15 Jul 2025 16:18:48 +0800
|
||||
Subject: [PATCH] thermal: thermal setting
|
||||
|
||||
lv0 -100 -hi0 105 -off0 0
|
||||
@@ -10,14 +10,14 @@ lv3 105 -hi3 120 -off3 100
|
||||
|
||||
Signed-off-by: YenLin Pan <YenLin.Pan@zyxel.com.tw>
|
||||
---
|
||||
drivers/net/wireless/ath/ath12k/thermal.h | 24 +++++++++++------------
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
drivers/net/wireless/ath/ath12k/thermal.h | 30 +++++++++++------------
|
||||
1 file changed, 15 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/ath/ath12k/thermal.h b/drivers/net/wireless/ath/ath12k/thermal.h
|
||||
index 5c91906..dae4488 100644
|
||||
index 5c91906..2334901 100644
|
||||
--- a/drivers/net/wireless/ath/ath12k/thermal.h
|
||||
+++ b/drivers/net/wireless/ath/ath12k/thermal.h
|
||||
@@ -13,28 +13,28 @@
|
||||
@@ -13,34 +13,34 @@
|
||||
|
||||
/* Below temperatures are in celsius */
|
||||
#define ATH12K_THERMAL_LVL0_TEMP_LOW_MARK -100
|
||||
@@ -58,6 +58,15 @@ index 5c91906..dae4488 100644
|
||||
#define ATH12K_THERMAL_LVL3_DUTY_CYCLE 100
|
||||
|
||||
#define ATH12K_THERMAL_LVL0_V2_DUTY_CYCLE ATH12K_THERMAL_LVL0_DUTY_CYCLE
|
||||
-#define ATH12K_THERMAL_LVL1_V2_DUTY_CYCLE ATH12K_THERMAL_LVL0_DUTY_CYCLE
|
||||
-#define ATH12K_THERMAL_LVL2_V2_DUTY_CYCLE ATH12K_THERMAL_LVL1_DUTY_CYCLE
|
||||
-#define ATH12K_THERMAL_LVL3_V2_DUTY_CYCLE ATH12K_THERMAL_LVL2_DUTY_CYCLE
|
||||
+#define ATH12K_THERMAL_LVL1_V2_DUTY_CYCLE ATH12K_THERMAL_LVL1_DUTY_CYCLE
|
||||
+#define ATH12K_THERMAL_LVL2_V2_DUTY_CYCLE ATH12K_THERMAL_LVL2_DUTY_CYCLE
|
||||
+#define ATH12K_THERMAL_LVL3_V2_DUTY_CYCLE ATH12K_THERMAL_LVL3_DUTY_CYCLE
|
||||
#define ATH12K_THERMAL_LVL4_V2_DUTY_CYCLE ATH12K_THERMAL_LVL3_DUTY_CYCLE
|
||||
|
||||
#define THERMAL_CONFIG_POUT0 0
|
||||
--
|
||||
2.34.1
|
||||
|
||||
|
||||
@@ -26,16 +26,20 @@ cig,wf672)
|
||||
mmc_dev=$(echo $(find_mmc_part "cert") | sed 's/^.\{5\}//')
|
||||
[ -n "$mmc_dev" ] && mount -t ext4 /dev/$mmc_dev /certificates
|
||||
;;
|
||||
sonicfi,rap7110c-341x)
|
||||
mmc_dev=$(echo $(find_mmc_part "certificates") | sed 's/^.\{5\}//')
|
||||
[ -n "$mmc_dev" ] && mount -t squashfs /dev/$mmc_dev /mnt
|
||||
bootconfig=$(bootconfig_lookup)
|
||||
if [ -n "$bootconfig" ]; then
|
||||
mmc_dev=$(echo $(find_mmc_part "$bootconfig") | sed 's/^.\{5\}//')
|
||||
[ -n "$mmc_dev" ] && tar xf /dev/$mmc_dev -C /certificates
|
||||
sonicfi,rap7*)
|
||||
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
|
||||
cp /mnt/* /certificates/
|
||||
umount /mnt
|
||||
mtd=$(find_mtd_index certificates)
|
||||
[ -n "$mtd" ] && mount -t ext4 /dev/mtdblock$mtd /certificates
|
||||
fi
|
||||
if [ ! -f /certificates/cert.pem ] || [ ! -f /certificates/key.pem ]; then
|
||||
bootconfig=$(bootconfig_lookup)
|
||||
if [ -n "$bootconfig" ]; then
|
||||
mmc_dev=$(echo $(find_mmc_part "$bootconfig") | sed 's/^.\{5\}//')
|
||||
[ -n "$mmc_dev" ] && tar xf /dev/$mmc_dev -C /certificates
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
||||
@@ -36,14 +36,3 @@ start_service() {
|
||||
procd_set_param pidfile "${MODEMMANAGER_PID_FILE}"
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
reload_service()
|
||||
{
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
service_triggers()
|
||||
{
|
||||
procd_add_reload_trigger network
|
||||
}
|
||||
|
||||
@@ -403,6 +403,101 @@ modemmanager_set_preferred_mode() {
|
||||
}
|
||||
}
|
||||
|
||||
exec_at_command() {
|
||||
local at_command=$1
|
||||
local serial_dev=$2
|
||||
|
||||
local resp_file="/tmp/at_response.txt"
|
||||
local cmd_timeout=1
|
||||
local retry_limit=3
|
||||
local i=0
|
||||
local socat_pid reader_pid
|
||||
|
||||
while [ $i -lt ${retry_limit} ]; do
|
||||
# Flush old data
|
||||
> ${resp_file}
|
||||
|
||||
echo "${at_command}" | socat - /dev/${serial_dev},crnl &
|
||||
socat_pid=$!
|
||||
|
||||
{
|
||||
cat /dev/${serial_dev} > ${resp_file} &
|
||||
reader_pid=$!
|
||||
sleep ${cmd_timeout}
|
||||
kill -9 ${reader_pid} 2>/dev/null
|
||||
}
|
||||
|
||||
kill -9 ${socat_pid} 2>/dev/null
|
||||
|
||||
case $(cat ${resp_file}) in
|
||||
*OK*)
|
||||
echo "AT command executed successfully"
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo -n "AT command failed or no response"
|
||||
[ -n "$i" ] && echo ", retry $i" || echo
|
||||
;;
|
||||
esac
|
||||
|
||||
let "i++"
|
||||
done
|
||||
|
||||
rm -f ${resp_file}
|
||||
}
|
||||
|
||||
_mm_get_processed_device() {
|
||||
local mm_rundir="/var/run/modemmanager"
|
||||
local mm_sysfs_cache="${mm_rundir}/sysfs.cache"
|
||||
|
||||
awk -v status="processed" '!/^#/ && $0 ~ status {print $1}' "${mm_sysfs_cache}"
|
||||
}
|
||||
|
||||
proto_modemmanager_quectel_setup() {
|
||||
local apn username password pdptype
|
||||
local manufacturer ser_port context_id context_type at_command
|
||||
json_get_vars apn username password pdptype
|
||||
|
||||
local device=$(_mm_get_processed_device)
|
||||
[ -n "${device}" ] || {
|
||||
echo "No processed device"
|
||||
return 1
|
||||
}
|
||||
|
||||
# validate that ModemManager is handling the modem at the sysfs path
|
||||
modemstatus=$(mmcli --modem="${device}" --output-keyvalue)
|
||||
modempath=$(modemmanager_get_field "${modemstatus}" "modem.dbus-path")
|
||||
[ -n "${modempath}" ] || {
|
||||
echo "Device not managed by ModemManager"
|
||||
return 1
|
||||
}
|
||||
echo "modem available at ${modempath}"
|
||||
|
||||
# workaround for Quectel embedded TCP/IP Stack
|
||||
manufacturer=$(modemmanager_get_field "${modemstatus}" "modem.generic.manufacturer")
|
||||
ser_port=$(mmcli --modem="${device}" -K | grep modem.generic.ports | grep tty | awk '{print $3}' | head -n 1)
|
||||
if [ "${manufacturer}" = "Quectel" ]; then
|
||||
echo "setup TCP/IP Context"
|
||||
case "${pdptype}" in
|
||||
ip)
|
||||
context_type=1
|
||||
;;
|
||||
ipv6)
|
||||
context_type=2
|
||||
;;
|
||||
ipv4v6|*)
|
||||
context_type=3
|
||||
;;
|
||||
esac
|
||||
if [ -n "${username}" ] && [ -n "${password}" ]; then
|
||||
at_command="at+qicsgp=1,${context_type},\"${apn}\",\"${username}\",\"${password}\",3"
|
||||
else
|
||||
at_command="at+qicsgp=1,${context_type},\"${apn}\",\"\",\"\",0"
|
||||
fi
|
||||
exec_at_command "${at_command}" "${ser_port}"
|
||||
fi
|
||||
}
|
||||
|
||||
proto_modemmanager_setup() {
|
||||
local interface="$1"
|
||||
|
||||
|
||||
@@ -280,6 +280,8 @@ handlers = {
|
||||
},
|
||||
|
||||
vlan_remove: function(notify) {
|
||||
if (config.config.swconfig)
|
||||
return;
|
||||
for (let wan in wan_ports) {
|
||||
let msg = {
|
||||
name: wan,
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From cd82a3d73e2a024367d5e1d9f8c19afdd05f1306 Mon Sep 17 00:00:00 2001
|
||||
From: build7 <build7@4ipnet.com>
|
||||
Date: Tue, 15 Jul 2025 12:00:58 +0800
|
||||
Subject: [PATCH] wwan: call modemmanager script to setup Quectel LTE module
|
||||
|
||||
---
|
||||
package/network/utils/wwan/files/wwan.sh | 9 ++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/package/network/utils/wwan/files/wwan.sh b/package/network/utils/wwan/files/wwan.sh
|
||||
index 9907195e6c..47f4531d7b 100755
|
||||
--- a/package/network/utils/wwan/files/wwan.sh
|
||||
+++ b/package/network/utils/wwan/files/wwan.sh
|
||||
@@ -14,12 +14,14 @@ proto_qmi_setup() { echo "wwan[$$] qmi proto is missing"; }
|
||||
proto_ncm_setup() { echo "wwan[$$] ncm proto is missing"; }
|
||||
proto_3g_setup() { echo "wwan[$$] 3g proto is missing"; }
|
||||
proto_directip_setup() { echo "wwan[$$] directip proto is missing"; }
|
||||
+proto_modemmanager_quectel_setup() { echo "wwan[$$] modemmanager proto is missing"; }
|
||||
|
||||
[ -f ./mbim.sh ] && . ./mbim.sh
|
||||
[ -f ./ncm.sh ] && . ./ncm.sh
|
||||
[ -f ./qmi.sh ] && . ./qmi.sh
|
||||
[ -f ./3g.sh ] && { . ./ppp.sh; . ./3g.sh; }
|
||||
[ -f ./directip.sh ] && . ./directip.sh
|
||||
+[ -f ./modemmanager.sh ] && . ./modemmanager.sh
|
||||
|
||||
proto_wwan_init_config() {
|
||||
available=1
|
||||
@@ -37,6 +39,7 @@ proto_wwan_init_config() {
|
||||
|
||||
proto_wwan_setup() {
|
||||
local driver usb devicename desc bus
|
||||
+ local is_quectel=0
|
||||
|
||||
json_get_vars bus
|
||||
|
||||
@@ -67,6 +70,7 @@ proto_wwan_setup() {
|
||||
usb=/lib/network/wwan/$vendor:$product
|
||||
devicename=$a
|
||||
}
|
||||
+ [ "$vendor" = "2c7c" ] && is_quectel=1
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -119,6 +123,11 @@ proto_wwan_setup() {
|
||||
uci_set_state network "$interface" ctl_device "$ctl_device"
|
||||
uci_set_state network "$interface" dat_device "$dat_device"
|
||||
|
||||
+ if [ -n "${is_quectel}" ]; then
|
||||
+ echo "wwan[$$]" "Setup Quectel chip"
|
||||
+ proto_modemmanager_quectel_setup
|
||||
+ fi
|
||||
+
|
||||
case $driver in
|
||||
qmi_wwan) proto_qmi_setup $@ ;;
|
||||
cdc_mbim) proto_mbim_setup $@ ;;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -23,6 +23,7 @@ packages:
|
||||
- firstcontact
|
||||
- gre
|
||||
- ethtool
|
||||
- hostapd-utils
|
||||
- ieee8021x
|
||||
- igmpproxy
|
||||
- ip-bridge
|
||||
|
||||
Reference in New Issue
Block a user