I’m struggling here, trying to flash a tbeam for relay mode only. Can someone help?
This is what I have done but it ain’t working, tbeam won’t boot up.
I open my terminal (linux) in the folder where the binary files are
from the command prompt I run
sudo chmod -R 777 /dev/ttyUSB0
./device-install.sh -f firmware-tbeam-EU865-1.1.48.bin
/device-install.sh -f firmware-lora-relay-v1-EU865-1.1.48.uf2
Not sure where it goes wrong, but the command sudo chmod -R 777 /dev/ttyUSB0 might not be de problem, does the flash run after that command? in terms of are you able to establish a serial connection and flash? , if not you might want to try command below where the USER bit needs to be replaced with your username you use to login on your Linux system, this way you set the serial port with the right permissions.
You do have to restart your Linux system or log out and back in again before the command below becomes effective so that your user profile on the Linux system gets reloaded en takes the new setting.
Thanks Mark, yes it does flash. But I’m winging the commands and have no idea what I’m doing, or what order or if the commands are correct.
I can’t establish a serial connection to the t-beam without sudo chmod -R 777 /dev/ttyUSB0, once I enter that and then the commands they flash ok.
If I just enter ./device-install.sh -f firmware-tbeam-EU865-1.1.48.bin then the tbeam reboots as normal with the normal radio mode. But the issue is how do I correctly enter the command to flash the t-beam with the uf2 binary?
Try to make serial port permission change 1st with sudo usermod -a -G dialout $USER
do a restart or logout and back in again, are you using the ESP Home Flasher?
With the sudo usermod -a -G dialout $USER your serial connection problem should be resolved and not having to use sudo chmod -R 777 /dev/ttyUSB0 anymore
Note: Be careful to install the correct firmware for your board. In particular, the popular T-BEAM radios from TTGO do not use the firmware-ttgo-lora32 files (they’re firmware-tbeam ). If you install the ‘TTGO-Lora’ build on a TBEAM it won’t work correctly.
I am not sure if your board is supported as there are only folowing Relay binaries:
firmware-lora-relay-v1-ANZ-1.1.48.uf2
firmware-lora-relay-v1-CN-1.1.48.uf2
firmware-lora-relay-v1-EU433-1.1.48.uf2
firmware-lora-relay-v1-EU865-1.1.48.uf2
firmware-lora-relay-v1-JP-1.1.48.uf2
firmware-lora-relay-v1-KR-1.1.48.uf2
firmware-lora-relay-v1-US-1.1.48.uf2
Or try: ./device-install.sh -f firmware-tbeam-EU865-1.1.48.bin
Than: ./device-update.sh -f firmware-lora-relay-v1-EU865-1.1.48.uf2
Maybe somebody else can confirm which one is the right one for your board?
Glad your serial port issue is fixed now, on your question to get the relay mode going I can’t really help, sorry, I thinks it is a board issue but not sure,I was reading a bit about Nrf boards and those are the only supported ones, but again not sure, I am not using the Relay setup myself and also a newbie so hopefully some expert user can help you out on this one
This file is included in the device release, firmware-lora-relay-v1-EU865-1.1.48.uf2, which device is this file suitable for? If it is suitable for the t-beam v1.0, how do you flash this file?
I ran the command sudo chmod -R 777 relay.sh to enable the script to be excuted as a progra m.
Then at the prompt entered, ./relay.sh
and this was the output
“Set all Router Parameter”
./relay.sh: line 4: meshtastic: command not found
./relay.sh: line 5: meshtastic: command not found
./relay.sh: line 6: meshtastic: command not found
./relay.sh: line 7: meshtastic: command not found
./relay.sh: line 8: meshtastic: command not found
./relay.sh: line 9: meshtastic: command not found
./relay.sh: line 10: meshtastic: command not found
@geeksville If I can get a handle on how to do this, I would love to pass on the help to others by typing a document, step by step explaining the process, and it can be added to the wiki page, this is not covered there presently and what each command in the script does.
@geeksville That worked, simple when you know how. I know it’s worked because when I connect to the meshtastic app it, now displays the setname.
Just on the functions of the script, for example “meshtastic --setlat 53.9 --setlon -6.8 --setalt 91”, where a gps is fitted and operational, this overwrites “meshtastic --setlat 53.9 --setlon -6.8 --setalt 91”?
The bluetooth is still active, is there a parameter to switch it off as it wouldn’t be necessary?
I’ve written a wiki page, it needs some additions, specifically instructions for Windows and Mac OS, so anyone want to add specifics for your OS, please do so.
Nice ! and well done on the wiki page ,I think this is a great community with helpful people from experts in coding etc and newbies getting great support to get their kit going, also the opportunity to suggest additional add-ons etc is really great, all this is hard to find sometimes, well done to all of you and keep up the good work
One of the things “is_router” mode does is to leave bluetooth off almost all of the time. It only is on when the screen has been turned on by the user (due to a button press). This is part of why 99% of the time (unless very advanced users), users should at most set is_router. Setting a bunch of other parameters is a bad idea. I’ll add some edits/notes to your great wiki.
If anyone is curious here’s how default values are found (when they are unset - which should be the common case):
#define IF_ROUTER(routerVal, normalVal) (radioConfig.preferences.is_router ? (routerVal) : (normalVal))
PREF_GET(send_owner_interval, IF_ROUTER(2, 4))
PREF_GET(position_broadcast_secs, IF_ROUTER(12 * 60 * 60, 15 * 60))
// Each time we wake into the DARK state allow 1 minute to send and receive BLE packets to the phone
PREF_GET(wait_bluetooth_secs, IF_ROUTER(1, 60))
PREF_GET(screen_on_secs, 60)
PREF_GET(mesh_sds_timeout_secs, IF_ROUTER(DELAY_FOREVER, 2 * 60 * 60))
PREF_GET(phone_sds_timeout_sec, IF_ROUTER(DELAY_FOREVER, 2 * 60 * 60))
PREF_GET(sds_secs, 365 * 24 * 60 * 60)
// We default to sleeping (with bluetooth off for 5 minutes at a time). This seems to be a good tradeoff between
// latency for the user sending messages and power savings because of not having to run (expensive) ESP32 bluetooth
PREF_GET(ls_secs, IF_ROUTER(24 * 60 * 60, 5 * 60))
PREF_GET(phone_timeout_secs, 15 * 60)
PREF_GET(min_wake_secs, 10)