diff --git a/README.md b/README.md
index 04fb65a..e930535 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,6 @@ Please PR to this branch instead of main :)
Fork development, and PR development to development :)
-
#### [JUMP TO HOW TO USE](#how-to-use)
**Currently:** This will allow you to install or if already installed, update, remove, or modify:
- Simple Admin: A simple web interface for managing your Quectel m.2 modem through it's gateway address
@@ -147,6 +146,8 @@ Thank You to:
[dr-dolomite](https://github.com/dr-dolomite) for some major stat page improvements and this repos first approved external PR!
+[tarunVreddy](https://github.com/tarunVreddy) for helping with the SA band aggregation parse
+
### Existing projects:
Simpleadmin heavily uses the AT Command Parsing Scripts (Basically a copy with new changes and tweaks) of Dairyman's Rooter Source https://github.com/ofmodemsandmen/ROOterSource2203
diff --git a/simpleadmin/scripts/build_modem_status b/simpleadmin/scripts/build_modem_status
index 1429771..627ec3e 100644
--- a/simpleadmin/scripts/build_modem_status
+++ b/simpleadmin/scripts/build_modem_status
@@ -6,16 +6,16 @@ while true; do
sleep 2
# Run AT+CGCONTRDP once then proceed to while loop
- echo -en "AT+CGCONTRDP\r\n" | microcom -t 1000 /dev/ttyOUT > /tmp/apn.txt
+ echo -en "AT+CGCONTRDP=1\r\n" | microcom -t 1000 /dev/ttyOUT > /tmp/apn.txt
sleep 2
# Run AT+QUIMSLOT? to get the current sim slot
echo -en "AT+QUIMSLOT?\r\n" | microcom -t 1000 /dev/ttyOUT > /tmp/simslot.txt
sleep 2
- # Send request to modem and wait 5 seconds for data
+ # Send request to modem and wait 3 seconds for data
echo -en "AT+QSPN;+CEREG=2;+CEREG?;+CEREG=0;+C5GREG=2;+C5GREG?;+C5GREG=0;+CSQ;+QENG=\"servingcell\";+QRSRP;+QCAINFO;+QNWPREFCFG=\"mode_pref\";+QTEMP\r\n" \
- | microcom -t 5000 /dev/ttyOUT > /tmp/modemstatus.txt
+ | microcom -t 3000 /dev/ttyOUT > /tmp/modemstatus.txt
if [ $? -eq 0 ]
then
# Parse
diff --git a/simpleadmin/scripts/modemstatus_parse.sh b/simpleadmin/scripts/modemstatus_parse.sh
index e6e5581..e323006 100644
--- a/simpleadmin/scripts/modemstatus_parse.sh
+++ b/simpleadmin/scripts/modemstatus_parse.sh
@@ -36,7 +36,7 @@ nr_bw() {
esac
}
-# Function to get the secondary LTE bands
+# Function to get the secondary LTE & NR5G bands
get_secondary_bands() {
# Extract LTE BANDs from SCC lines
SCC_BANDS=$(echo "$OX" | grep '+QCAINFO: "SCC"' | grep -o '"LTE BAND [0-9]\+"' | tr -d '"' | sed '1d')
@@ -52,9 +52,6 @@ get_secondary_bands() {
# Set SC_BANDS to the non-empty variable or empty if both are empty
SC_BANDS="${SCC_BANDS}${NR_BAND}"
fi
-
- # Get the PCI value. For example: 264 based on this +QCAINFO: "PCC",1775,75,"LTE BAND 3",1,264,-103,-13,-71,0
- MAIN_PCI=$(echo "$OX" | grep '+QCAINFO: "PCC"' | grep -o ',[0-9]\{1,5\},' | tr -d ',')
}
# Get the modem model from /tmp/modemmodel.txt and parse it
@@ -516,4 +513,4 @@ MODEZ=$(echo $MODE | tr -d '"')
} > /tmp/signal.txt
# Pregenerate JSON File
-/usrdata/simpleadmin/scripts/tojson.sh /tmp/signal.txt > /tmp/modemstatus.json
+/usrdata/simpleadmin/scripts/tojson.sh /tmp/signal.txt > /tmp/modemstatus.json
\ No newline at end of file
diff --git a/simpleadmin/scripts/tojson.sh b/simpleadmin/scripts/tojson.sh
index 80295ad..ba963e3 100644
--- a/simpleadmin/scripts/tojson.sh
+++ b/simpleadmin/scripts/tojson.sh
@@ -19,6 +19,13 @@ while IFS='=' read -r key value || [[ -n "$key" ]]; do
key=$(echo "$key" | awk '{$1=$1};1')
value=$(echo "$value" | awk '{$1=$1};1')
+ # Check if value includes double quotes inside it like: "value,"value"". If there is, remove the inner double quotes.
+ if [[ "$value" == *\"* ]]; then
+ value=$(echo "$value" | sed 's/\"//g')
+ # enclose the value in double quotes again
+ value="\"$value\""
+ fi
+
# Print key-value pair in JSON format without surrounding double quotes on value
printf ' "%s" : %s' "$key" "$value"
diff --git a/simpleadmin/www/atcommander.html b/simpleadmin/www/atcommander.html
index fd76614..81f64cb 100644
--- a/simpleadmin/www/atcommander.html
+++ b/simpleadmin/www/atcommander.html
@@ -1,179 +1,303 @@
+
-
-