New User Questions - Primary & Secondary Channels, etc

Hello Meshtastic Community,
I’m currently waiting for my T-Beams, wanted to ask some questions and share my intended build in case someone notices an issue:

Questions

  • According to my reading of the documentation, it is possible to send secure messages on a private channel across a public/default mesh by utilizing the default and secondary channel on the radios… Is this correct? Put simply, if my intended recipient is out of range for zero hop messaging on a private secondary channel, the message can ride the default mesh (if within range of both nodes). Is there a hard cap on hop counts on the default channel to avoid abuse?

  • This may be impossible to answer, but are there any reliable maps of public relay nodes? Is this even a thing outside of Ski Resorts, Recreation Areas, etc.?

Build

  • Platform: LILYGO TTGO T-Beam V1.1 SX1262 915MHZ ESP32 NEO-M8N CH9102
  • Screen: LILYGO 0.96" White OLED for T-Beam
  • Case: b8b8’s Meshtastic Slim Case
  • Battery: LG INR18650MJ1 3500mAh 18650
  • GPS Antenna: 10mA 18mm*18mm Active Ceramic Antenna (IPEX/U.fl)
  • LoRa Antenna: Taoglas TI.92.2113 (SMA)
    #It seems the 915MHz version for the T-Beam ships with an IPEX/U.fl > SMA pigtail? Not explicitly stated on Aliexpress.

Thanks for your time, looking forward to joining the project!

there is “LoRa channel” and “Meshtastic channel”.

for simplicity sake, LoRa channels are what you see on the Apps Channel settings as: "Short range (but fast)", "Medium range (but fast)", "Long range (but slower)" and "Very long range (but slow)(default)".

any Meshtastic channel (primary or secondary) in the same LoRa channel is relayed.

but devices only decrypt packets for Meshtastic channels they have configured (with the same PSK).

default is 3.

public MQTT gateway feeds: map.meshtastic.org
manual/voluntary registration: Meshtastic Map

I read somewhere on the website that the devices are able forward meshtastic packets even for channels they are not a part of because only the message is encrypted not the other info in the packet.
I’m guessing they have to have the same transmission settings such as “long slow” to be compatible.
I have not tested this

I think this section of the manual confused me a bit, probably my fault:

Think I understand it a bit better, thanks for the responses!

Hi. My goal is to have primary channel to allow anyone to broadcast through, and secondary channel for my private usage. I am in a similar boat as the OP, but I already have my devices in-hand.

My situation. I have 3 T-Beams. All are LILYGO TTGO T-Beam V1.1 915MHZ with latest 1.2.45 firmware. I connected one to my PC (let’s call it Node1) and used --sendtext to send a message. The other 2 nodes received message. I then used python to configure secondary, encrypted channel. I used --sendtext again and still both the other 2 nodes received. For grins and giggles, I shared “complete url” with another node (let’s call it Node2), then connected it to my PC, used --info to confirm it was properly configured. I then connected Node1 back to PC, used --sendtext, and again both other nodes received message.

It seems to me my problem is I cannot figure out how to use the secondary channel to send messages. I used meshtastic -h to browse all of the commands, and I still can’t figure it out.

Any help would be greatly appreciated. Thank you in advance.

Still dont have my devices in-hand to test, but did some poking around as I’ll need to know this as well.

It seems a new parameter “channelIndex” was added to sendText on September 16th:

Using information gleaned here and adapted:

Create a file called test.py with the following.

import meshtastic
interface = meshtastic.SerialInterface()
interface.sendText(“hello secure channel”, channelIndex=1)
interface.close()

Run the file
python3 test.py

That assumes primary channel index is 0 and secondary channel index is 1
Let me know if that seems to work!

‘Not sure if there’s a single line, non-scripted way of doing this, ie. meshtastic --sendtext “hello secure channel” channelIndex=1’

Found you in this thread, so I’m probably late to the party:

For completeness and if someone stumbles onto this in the future, you should be able to use the script method above or a single line to sendText over a secure secondary channel:
meshtastic --sendtext test --ch-index 1

Per discussion in that thread, there may be an issue with the September commit hobbling this functionality at the moment.

Thanks for the reply. Using this command, the message still goes to channel 0. I guess we’ll just all sit tight until this gets resolved.

Looks like mkinney committed a fix to master branch on 12/20/21:

It was rolled up into release 1.2.47:

Have you been able to update and test? Just got my hardware but haven’t had the time to build yet.