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 listed in Conky
|
||||
* [ ] Heltec v4 PnP
|
||||
* [ ] Heltec v4 PnP (/dev/et-lora)
|
||||
* [ ] Offline firmware: rnodeconf --autoinstall --nocheck --fw-version 1.86
|
||||
* [ ] et-reticulum
|
||||
* [ ] All blueprints
|
||||
* [ ] 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-meshchat.sh
|
||||
./install-modem73.sh
|
||||
./install-offline-rnode-firmware.sh
|
||||
|
||||
# Debrand Ubuntu
|
||||
./debrand.sh
|
||||
|
||||
Reference in New Issue
Block a user