From 0e74abe7db00d4ac529d623bbaf40a6cdf94ccb7 Mon Sep 17 00:00:00 2001 From: Cameron Thompson <50184035+iamromulan@users.noreply.github.com> Date: Sat, 21 Dec 2024 16:11:55 -0500 Subject: [PATCH] QuecManager BETA 1.0.6 - Resolved IMEI Mangling Issue - Optimized Logging and AT Operations: Centralized logging to smd7 and redirected all AT operations to smd11 to prevent request conflicts. - Introduced Cell Locking Scheduler - Fixed SMS Inbox Loading Issue: Addressed a bug where the SMS inbox would get stuck during loading. - Enhanced Speedtest Output: Updated speed test results to display values with two decimal points when reaching GBps speeds. - Changed Link Speed from "Unknown!" to "-" when link is not active - Added 5 second cooldown to speedtest Co-Authored-By: Russel Yasol <73575327+dr-dolomite@users.noreply.github.com> --- .../sdxpinn-quecmanager-beta/CONTROL/control | 2 +- .../sdxpinn-quecmanager-beta/CONTROL/postinst | 54 ++++- .../sdxpinn-quecmanager-beta/CONTROL/postrm | 24 --- .../sdxpinn-quecmanager-beta/CONTROL/prerm | 31 +++ .../root/www/404.html | 2 +- .../root/www/404/index.html | 2 +- .../static/chunks/3131-90588f130914b471.js | 1 - .../static/chunks/7503-03adcad21246588e.js | 1 + .../cell-locking/page-ca289761b4fe57f2.js | 1 - .../cell-locking/page-d9cb31b7fab7b694.js | 1 + .../imei-mangling/page-1d06e85afd5744cd.js | 1 - .../imei-mangling/page-d4f5793e760bf630.js | 1 + .../sms/page-886ee1e66fa55baf.js | 1 - .../sms/page-af4bd5aaf820e919.js | 1 + .../dashboard/home/page-360e1da5d316e7f5.js | 1 - .../dashboard/home/page-ee548d1cf68ee417.js | 1 + .../settings/general/page-cb614a683400841e.js | 1 + .../settings/general/page-e67e60cfe3296e3c.js | 1 - .../chunks/app/layout-2ce10dc857bad7b2.js | 1 - .../chunks/app/layout-535ba4c519774bd3.js | 1 + .../_buildManifest.js | 0 .../_ssgManifest.js | 0 .../root/www/cgi-bin/atinout_handler.sh | 12 +- .../cell-settings/scheduled_cell_locking.sh | 201 ++++++++++++++++++ .../root/www/cgi-bin/home/fetch_data_usage.sh | 2 +- .../www/cgi-bin/home/fetch_signal_metrics.sh | 2 +- .../www/cgi-bin/home/log_signal_metrics.sh | 6 +- .../www/cgi-bin/settings/change_sms_code.sh | 24 +++ .../root/www/dashboard/about/index.html | 2 +- .../root/www/dashboard/about/index.txt | 8 +- .../advanced-settings/at-terminal/index.html | 2 +- .../advanced-settings/at-terminal/index.txt | 8 +- .../advanced-settings/connectivity/index.html | 2 +- .../advanced-settings/connectivity/index.txt | 8 +- .../advanced-settings/mtu/index.html | 2 +- .../dashboard/advanced-settings/mtu/index.txt | 8 +- .../advanced-settings/ttl-settings/index.html | 2 +- .../advanced-settings/ttl-settings/index.txt | 8 +- .../cell-settings/band-locking/index.html | 2 +- .../cell-settings/band-locking/index.txt | 8 +- .../cell-settings/basic-settings/index.html | 2 +- .../cell-settings/basic-settings/index.txt | 8 +- .../cell-settings/cell-locking/index.html | 2 +- .../cell-settings/cell-locking/index.txt | 10 +- .../cell-settings/imei-mangling/index.html | 2 +- .../cell-settings/imei-mangling/index.txt | 10 +- .../dashboard/cell-settings/sms/index.html | 2 +- .../www/dashboard/cell-settings/sms/index.txt | 10 +- .../www/dashboard/experimental/index.html | 2 +- .../root/www/dashboard/experimental/index.txt | 8 +- .../experimental/quecwatch/index.html | 2 +- .../experimental/quecwatch/index.txt | 8 +- .../root/www/dashboard/home/index.html | 2 +- .../root/www/dashboard/home/index.txt | 10 +- .../www/dashboard/settings/general/index.html | 2 +- .../www/dashboard/settings/general/index.txt | 10 +- .../dashboard/settings/security/index.html | 2 +- .../www/dashboard/settings/security/index.txt | 8 +- .../root/www/index.txt | 8 +- .../root/www/login.html | 2 +- .../root/www/login/index.html | 2 +- .../root/www/login/index.txt | 8 +- 62 files changed, 414 insertions(+), 142 deletions(-) create mode 100755 ipk-source/sdxpinn-quecmanager-beta/CONTROL/prerm delete mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/3131-90588f130914b471.js create mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/7503-03adcad21246588e.js delete mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/cell-locking/page-ca289761b4fe57f2.js create mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/cell-locking/page-d9cb31b7fab7b694.js delete mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/imei-mangling/page-1d06e85afd5744cd.js create mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/imei-mangling/page-d4f5793e760bf630.js delete mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/sms/page-886ee1e66fa55baf.js create mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/cell-settings/sms/page-af4bd5aaf820e919.js delete mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/home/page-360e1da5d316e7f5.js create mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/home/page-ee548d1cf68ee417.js create mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/settings/general/page-cb614a683400841e.js delete mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/dashboard/settings/general/page-e67e60cfe3296e3c.js delete mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/layout-2ce10dc857bad7b2.js create mode 100644 ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/chunks/app/layout-535ba4c519774bd3.js rename ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/{aOjLpCdSiaoniCvuvCM_a => d9Re4aUm_s6AMG1n5GpRt}/_buildManifest.js (100%) rename ipk-source/sdxpinn-quecmanager-beta/root/www/_next/static/{aOjLpCdSiaoniCvuvCM_a => d9Re4aUm_s6AMG1n5GpRt}/_ssgManifest.js (100%) create mode 100755 ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/cell-settings/scheduled_cell_locking.sh create mode 100755 ipk-source/sdxpinn-quecmanager-beta/root/www/cgi-bin/settings/change_sms_code.sh diff --git a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control index 7dd66cb..9ded64f 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control +++ b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/control @@ -1,5 +1,5 @@ Package: sdxpinn-quecmanager-beta -Version: 1.0.5 +Version: 1.0.6 Architecture: aarch64_cortex-a53 Maintainer: Russel Yasol dr-dolomite@github.com Cameron Thompson iamromulan@github.com Description: A custom web UI desgined to run alongside luci for Quectel RM55x modems diff --git a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postinst b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postinst index 2dc16af..f7254b9 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postinst +++ b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postinst @@ -1,14 +1,52 @@ #!/bin/ash +# Backup the original index.html and replace with login.html mv /www/index.html /www/index.html.old cp /www/login.html /www/index.html -# Check if log_signal_metrics.sh is set to start in rc.local and add if not -grep -qxF "/www/cgi-bin/home/log_signal_metrics.sh &" /etc/rc.local || \ -sed -i '/^exit 0/i /www/cgi-bin/home/log_signal_metrics.sh &' /etc/rc.local +# Define the commands to add to rc.local +COMMANDS="/www/cgi-bin/settings/change_sms_code.sh & +/www/cgi-bin/home/log_signal_metrics.sh &" +# Create a new rc.local with commands correctly placed +TMP_RC_LOCAL=$(mktemp) -# Check if log_signal_metrics.sh is already running +awk -v commands="$COMMANDS" ' +BEGIN { + split(commands, cmdArr, "\n") # Split commands into an array + for (i in cmdArr) alreadyAdded[cmdArr[i]] = 0 + added = 0 +} +{ + if ($0 in alreadyAdded) { + alreadyAdded[$0] = 1 + next + } + if (/^# Put your custom commands here/) { + print + if (!added) { + for (i in cmdArr) if (!alreadyAdded[cmdArr[i]]) { + print cmdArr[i] + alreadyAdded[cmdArr[i]] = 1 + } + print "" + added = 1 + } + } else { + print + } +} +END { + # Add any missing commands at the end of the section + for (i in cmdArr) if (!alreadyAdded[cmdArr[i]]) print cmdArr[i] +} +' /etc/rc.local > "$TMP_RC_LOCAL" + +# Replace the original rc.local with the modified one +mv "$TMP_RC_LOCAL" /etc/rc.local +chmod +x /etc/rc.local + +# Ensure log_signal_metrics.sh is running if ! pgrep -f "/www/cgi-bin/home/log_signal_metrics.sh" > /dev/null; then echo "Starting log_signal_metrics.sh..." /www/cgi-bin/home/log_signal_metrics.sh & @@ -16,5 +54,13 @@ else echo "log_signal_metrics.sh is already running. Skipping start." fi +# Ensure change_sms_code.sh is running +if ! pgrep -f "/www/cgi-bin/settings/change_sms_code.sh" > /dev/null; then + echo "Starting change_sms_code.sh..." + /www/cgi-bin/settings/change_sms_code.sh & +else + echo "change_sms_code.sh is already running. Skipping start." +fi + exit 0 diff --git a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postrm b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postrm index d9bed09..ee45a72 100755 --- a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postrm +++ b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/postrm @@ -2,29 +2,5 @@ mv /www/index.html.old /www/index.html -# Check if log_signal_metrics.sh is in rc.local and remove it -sed -i '/\/www\/cgi-bin\/home\/log_signal_metrics\.sh &/d' /etc/rc.local - - -# Check if log_signal_metrics.sh is running and kill it - -PID=$(pgrep -f "/www/cgi-bin/home/log_signal_metrics.sh") - -if [ -n "$PID" ]; then - echo "Stopping log_signal_metrics.sh (PID: $PID)..." - - # Kill the process - kill -TERM "$PID" - - if [ $? -eq 0 ]; then - echo "Successfully stopped log_signal_metrics.sh." - else - echo "Failed to stop log_signal_metrics.sh." - fi -else - echo "log_signal_metrics.sh is not running. Nothing to stop." -fi - - exit 0 diff --git a/ipk-source/sdxpinn-quecmanager-beta/CONTROL/prerm b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/prerm new file mode 100755 index 0000000..f85f1ee --- /dev/null +++ b/ipk-source/sdxpinn-quecmanager-beta/CONTROL/prerm @@ -0,0 +1,31 @@ +#!/bin/ash + +echo "Stopping QuecManager Services and removing from rc.local..." + +# Remove services from rc.local if present +sed -i '/\/www\/cgi-bin\/home\/log_signal_metrics\.sh &/d' /etc/rc.local +sed -i '/\/www\/cgi-bin\/settings\/change_sms_code\.sh &/d' /etc/rc.local + +# Define an array of scripts to check and stop +SCRIPTS=( + "/www/cgi-bin/home/log_signal_metrics.sh" + "/www/cgi-bin/settings/change_sms_code.sh" +) + +# Loop through each script, check if it's running, and kill it if necessary +for SCRIPT in "${SCRIPTS[@]}"; do + PID=$(pgrep -f "$SCRIPT") + if [ -n "$PID" ]; then + echo "Stopping $SCRIPT (PID: $PID)..." + if kill -TERM "$PID"; then + echo "Successfully stopped $SCRIPT." + else + echo "Failed to stop $SCRIPT." + fi + else + echo "$SCRIPT is not running. Nothing to stop." + fi +done + +exit 0 + diff --git a/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html b/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html index 81bc61b..cbd647a 100644 --- a/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html +++ b/ipk-source/sdxpinn-quecmanager-beta/root/www/404.html @@ -1 +1 @@ -
Enter your password to login
Enter your password to login