mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
reticulum - Added support for flashing the RNode firmware on a Heltec v4 offline
This commit is contained in:
+2
-1
@@ -140,7 +140,8 @@
|
|||||||
## LoRa
|
## LoRa
|
||||||
|
|
||||||
* [ ] LoRa listed in Conky
|
* [ ] LoRa listed in Conky
|
||||||
* [ ] Heltec v4 PnP
|
* [ ] Heltec v4 PnP (/dev/et-lora)
|
||||||
|
* [ ] Offline firmware: rnodeconf --autoinstall --nocheck --fw-version 1.86
|
||||||
* [ ] et-reticulum
|
* [ ] et-reticulum
|
||||||
* [ ] All blueprints
|
* [ ] All blueprints
|
||||||
* [ ] All permutations of radios and LoRa connected/disconnected
|
* [ ] All permutations of radios and LoRa connected/disconnected
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"url": "https://github.com/markqvist/RNode_Firmware/releases/download/1.86/rnode_firmware_heltec32v4pa.zip",
|
||||||
|
"file": "rnode_firmware_heltec32v4pa.zip",
|
||||||
|
"dir": "update/1.86",
|
||||||
|
"version": "1.86",
|
||||||
|
"hash": "75ed47d6a4259e9d073cda680b7323eda420659e117ca4ce42c119b2c9513805"
|
||||||
|
}
|
||||||
|
]
|
||||||
Executable
+50
@@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Author : Gaston Gonzalez
|
||||||
|
# Date : 2 July 2026
|
||||||
|
# Purpose : Cache supported RNode firmware for offline installs using:
|
||||||
|
#
|
||||||
|
# rnodeconf --autoinstall --nocheck --fw-version VERSION
|
||||||
|
#
|
||||||
|
# Here are the supported devices and the command to install the firmware
|
||||||
|
# offline.
|
||||||
|
#
|
||||||
|
# Heltec LoRa32 v4
|
||||||
|
# $ rnodeconf --autoinstall --nocheck --fw-version 1.86
|
||||||
|
|
||||||
|
set -e
|
||||||
|
trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG
|
||||||
|
trap 'et-log "\"${last_command}\" command failed with exit code $?."' ERR
|
||||||
|
|
||||||
|
. ./env.sh
|
||||||
|
. ../overlay/opt/emcomm-tools/bin/et-common
|
||||||
|
|
||||||
|
et-log "Installing offline RNode firmware..."
|
||||||
|
|
||||||
|
OFFLINE_FILES_JSON="install-offline-rnode-firmware.json"
|
||||||
|
OFFLINE_SAVE_DIR="/etc/skel/.config/rnodeconf"
|
||||||
|
OFFLINE_UPDATE_DIR="/etc/skel/.config/rnodeconf/update"
|
||||||
|
|
||||||
|
[[ ! -e "${OFFLINE_SAVE_DIR}" ]] && mkdir -v -p ${OFFLINE_SAVE_DIR}
|
||||||
|
|
||||||
|
jq -c '.[]' "${OFFLINE_FILES_JSON}" | while read -r item; do
|
||||||
|
URL=$(echo "$item" | jq -r '.url')
|
||||||
|
FILE=$(echo "$item" | jq -r '.file')
|
||||||
|
DIR=$(echo "$item" | jq -r '.dir')
|
||||||
|
VERSION=$(echo "$item" | jq -r '.version')
|
||||||
|
HASH=$(echo "$item" | jq -r '.hash')
|
||||||
|
ABS_DIR="${OFFLINE_SAVE_DIR}/${DIR}"
|
||||||
|
|
||||||
|
# 1. Create missing directories
|
||||||
|
mkdir -v -p "${ABS_DIR}"
|
||||||
|
|
||||||
|
# 2. Download resources
|
||||||
|
download_with_retries ${URL} ${FILE}
|
||||||
|
|
||||||
|
# 3. Move to offline folder
|
||||||
|
mv "${FILE}" "${ABS_DIR}/"
|
||||||
|
|
||||||
|
# 4. Create version file
|
||||||
|
VERSION_FILE="${OFFLINE_UPDATE_DIR}/${VERSION}/${FILE}.version"
|
||||||
|
et-log "Creating firmware version file: ${VERSION_FILE}"
|
||||||
|
echo "${VERSION} ${HASH}" > ${VERSION_FILE}
|
||||||
|
done
|
||||||
@@ -122,6 +122,7 @@ exitIfNotRoot
|
|||||||
./install-reticulum.sh
|
./install-reticulum.sh
|
||||||
./install-meshchat.sh
|
./install-meshchat.sh
|
||||||
./install-modem73.sh
|
./install-modem73.sh
|
||||||
|
./install-offline-rnode-firmware.sh
|
||||||
|
|
||||||
# Debrand Ubuntu
|
# Debrand Ubuntu
|
||||||
./debrand.sh
|
./debrand.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user