Introduction
So, you’ve either purchased my openCom XL device, another device, or made your own RNode which also supports multiple interfaces on the device, but you need to be able to address these within Reticulum in order to use all these interfaces at once.
Well, have no fear, you will soon be able to upload photos of Ted Kaczynski on multiple radio modems at once. Truly, the Feds are quaking in their boots as you even read this.
Installation
Firstly, you will need a version of Reticulum which has my implementation of
the RNodeMultiInterface
interface included. Currently, Mark Qvist’s RNS package
on pip does not have this feature yet, but in the meantime you can get it by
installing my forked version of Reticulum, the source code of which is
available on GitHub. It can easily be installed through pip
like so:
pip install rns-libsys
Usage
Once it is installed, you will need to add an extra interface config section to your Reticulum config file. For example, this one will work for a openCom XL device:
[[openCom XL]]
type = RNodeMultiInterface
# Enable interface if you want to use it!
interface_enabled = True
# Serial port for the device
port = /dev/ttyACM0
# You can configure the RNode to send
# out identification on the channel with
# a set interval by configuring the
# following two parameters.
# id_callsign = MYCALL-0
# id_interval = 600
# For certain homebrew RNode interfaces
# with low amounts of RAM, using packet
# flow control can be useful. By default
# it is disabled.
# flow_control = False
# A subinterface
[[[HIGHDATARATE]]]
# The type of modem, generally this will be SX126X, SX127X or SX128X
type = SX128X
# Subinterfaces can be enabled and disabled in of themselves
interface_enabled = True
# Set frequency to 2.4GHz
frequency = 2400000000
# Set LoRa bandwidth to 1625 KHz
bandwidth = 1625000
# Set TX power to 0 dBm (0.12 mW)
txpower = 0
# The virtual port, only the manufacturer or the person who wrote the board
# config can tell you what it will be for which interface
vport = 1
# Select spreading factor 5. Valid
# range is 5 through 12, with 5
# being the fastest and 12 having
# the longest range.
spreadingfactor = 5
# Select coding rate 5. Valid range
# is 5 throough 8, with 5 being the
# fastest, and 8 the longest range.
codingrate = 5
# It is possible to limit the airtime
# utilisation of an RNode by using the
# following two configuration options.
# The short-term limit is applied in a
# window of approximately 15 seconds,
# and the long-term limit is enforced
# over a rolling 60 minute window. Both
# options are specified in percent.
# airtime_limit_long = 100
# airtime_limit_short = 100
[[[LOWDATARATE]]]
# The type of modem, generally this will be SX126X, SX127X or SX128X
type = SX126X
# Subinterfaces can be enabled and disabled in of themselves
interface_enabled = True
# Set frequency to 865.6 MHz
frequency = 865600000
# The virtual port, only the manufacturer or the person who wrote the board
# config can tell you what it will be for which interface
vport = 0
# Set LoRa bandwidth to 125 KHz
bandwidth = 125000
# Set TX power to 0 dBm (0.12 mW)
txpower = 0
# Select spreading factor 5. Valid
# range is 5 through 12, with 5
# being the fastest and 12 having
# the longest range.
spreadingfactor = 5
# Select coding rate 5. Valid range
# is 5 throough 8, with 5 being the
# fastest, and 8 the longest range.
codingrate = 5
# It is possible to limit the airtime
# utilisation of an RNode by using the
# following two configuration options.
# The short-term limit is applied in a
# window of approximately 15 seconds,
# and the long-term limit is enforced
# over a rolling 60 minute window. Both
# options are specified in percent.
# airtime_limit_long = 100
# airtime_limit_short = 100
You may need to adjust these configuration values according the capabilities of your device.
You may notice that RNS
takes slightly longer to connect to your device. This
is perfectly normal, and eventually it will discover all the available
subinterfaces and connect to them according to your configuration file.
Closing
This guide will be updated in the future once the RNodeMultiInterface
interface has been integrated into the upstream repo operated by Mark Qvist. But, in the meantime,
TECHNOLOGY FOR FREEDOM.