This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
wiki:lora:multiforwarder [2022/12/08 12:05] ehe |
wiki:lora:multiforwarder [2022/12/20 17:11] (current) ehe [Creation of the instance] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Multi Packet Forwarder ====== | ====== Multi Packet Forwarder ====== | ||
| + | <note important>**This functionnality is only available for Keros version 5.5.1 and above**</note> | ||
| - | This feature allows to create multiple instances of packet forwarder (each on a different LNS). | ||
| - | |||
| - | Only UDP/GWMP packet forwarder instances can be created but they can be used in same time than a [[basic_station_forwarder|Kerlink Basic Station Packet forwarder]]. | ||
| - | <note>When using multi packet forwarder feature, usage of netid filtering is highly recommended to avoid downlink collision.</note> | ||
| - | ===== Compatibility ===== | + | ===== lorafwd_instance_manager ===== |
| - | Available since Keros 5.1. | + | This tool allows the create and manage multiple instances of packet forwarder to connect a gateway to multiple LNS. |
| - | ===== Features ===== | ||
| Following features are available in ''lorafwd_instance_manager'' tool: | Following features are available in ''lorafwd_instance_manager'' tool: | ||
| Line 20: | Line 16: | ||
| * List all added instances (''list'') | * List all added instances (''list'') | ||
| - | ===== How does it work? ===== | + | |
| - | KerOS firmware contains lorafwd template files located in /etc/lorafwd/templates/. These files must **not** be deleted or modified. | + | Only UDP/GWMP packet forwarder instances can be created but they can be used at the same time as a [[basic_station_forwarder|Kerlink Basic Station Packet forwarder]]. |
| - | Each time a lorafwd instance is added, these templates files are copied, modified and suffixed with new lorafwd instance name. | ||
| - | ===== Example ===== | + | <note important>When using the multi-packet forwarder feature, usage of netid filtering is highly recommended to avoid downlink collision. |
| - | Following commands will create an additional lorafwd instance named "foo" targeting "foo.lns.local" on UDP port 1700: | + | |
| - | <code>lorafwd_instance_manager add foo | + | **Note also that the last instance of lorafwd will define the radio parameters of your gateway**</note> |
| - | klk_apps_config -i foo --lns-server foo.lns.local --lns-dport 1700 --lns-uport 1700</code> | + | |
| - | It leads to the following created files: | + | |
| + | |||
| + | ===== How to create and configure multiple instances ===== | ||
| + | ==== Creation of the instance ==== | ||
| + | If you want to connect your gateway to a second LNS, you will need to create a new instance of lorafwd. To do this, use the following command: | ||
| + | <code>lorafwd_instance_manager add second_instance</code> | ||
| + | <note> In the example the instance is named "second_instance" but you can name it as you like.</note> | ||
| + | |||
| + | It will create all the files needed for its configuration. | ||
| + | |||
| + | **List of generated files:** | ||
| <code bash> | <code bash> | ||
| / | / | ||
| |-- etc | |-- etc | ||
| - | | |-- lorafwd_foo.toml | + | | |-- lorafwd_second_instance.toml |
| | |-- default | | |-- default | ||
| - | | | `-- lorafwd_foo | + | | | `-- lorafwd_second_instance |
| | |-- init.d | | |-- init.d | ||
| - | | | `-- lorafwd_foo | + | | | `-- lorafwd_second_instance |
| | |-- monit.d | | |-- monit.d | ||
| - | | | `-- lorafwd_foo | + | | | `-- lorafwd_second_instance |
| | |-- rcK.d | | |-- rcK.d | ||
| - | | | `-- K52lorafwd_foo -> /etc/init.d/lorafwd_foo | + | | | `-- K52lorafwd_second_instance -> /etc/init.d/lorafwd_second_instance |
| | |-- rcU.d | | |-- rcU.d | ||
| - | | | `-- S51lorafwd_foo -> /etc/init.d/lorafwd_foo | + | | | `-- S51lorafwd_second_instance -> /etc/init.d/lorafwd_second_instance |
| | |-- rsyslog.d | | |-- rsyslog.d | ||
| - | | | `-- lorafwd_foo | + | | | `-- lorafwd_second_instance |
| | `-- sysupgrade.d | | `-- sysupgrade.d | ||
| - | | `-- lorafwd_foo.conf | + | | `-- lorafwd_second_instance.conf |
| |-- run | |-- run | ||
| | `-- lora | | `-- lora | ||
| - | | `-- lorafwd_foo.pid # Created each time it is started | + | | `-- lorafwd_second_instance.pid # Created each time it is started |
| |-- tmp | |-- tmp | ||
| - | | `-- lorafwd_foo_version # Created each time it is started | + | | `-- lorafwd_second_instance_version # Created each time it is started |
| |-- usr | |-- usr | ||
| | `-- sbin | | `-- sbin | ||
| - | | `-- lorafwd_foo -> /usr/sbin/lorafwd | + | | `-- lorafwd_second_instance -> /usr/sbin/lorafwd |
| `-- var | `-- var | ||
| `-- lib | `-- lib | ||
| - | `-- lorafwd_foo | + | `-- lorafwd_second_instance |
| `-- database.sqlite # Created at first start | `-- database.sqlite # Created at first start | ||
| </code> | </code> | ||
| - | <note>Configuration files, sqlite database and pid files are duplicated. That means all lorafwd instances are separated.</note> | ||
| + | |||
| + | ==== Configuration of the instance ==== | ||
| + | Then, to configure the new instance, you will need to use the [[wiki:keros_custo:keros_applications_configuration|klk_apps_config]] as follow: | ||
| + | |||
| + | <code>klk_apps_config --activate-lorafwd -i second_instance --lns-server second_instance.url --lns-dport 1700 --lns-uport 1700</code> | ||
| + | |||
| + | <note>After //--lns-server --lns-dport --lns-uport// enter your own informations according to [[wiki:keros_custo:keros_applications_configuration|klk_apps_config]] parameters</note> | ||
| ===== Logs ===== | ===== Logs ===== | ||
| - | All lorafwd instances write to the same log file ''/var/log/lora.log'', but each lorafwd is suffixed, for example: | + | All lorafwd instances will write into the same log file ''/var/log/lora.log'', and are distinguished by their names, for example: |
| <code> | <code> | ||
| Line 84: | Line 93: | ||
| 2021-05-20T14:17:14.180233+00:00 klk-wifc-03001D lorafwd[11552]: <6> | - demodulator counter 3502620444, UTC time 2021-05-20T14:17:14.173866Z, rssi -64 dB, snr 7.5< 10 <12.5 dB | 2021-05-20T14:17:14.180233+00:00 klk-wifc-03001D lorafwd[11552]: <6> | - demodulator counter 3502620444, UTC time 2021-05-20T14:17:14.173866Z, rssi -64 dB, snr 7.5< 10 <12.5 dB | ||
| 2021-05-20T14:17:14.181910+00:00 klk-wifc-03001D lorafwd[11552]: <6> Uplink message (ABD8) sent | 2021-05-20T14:17:14.181910+00:00 klk-wifc-03001D lorafwd[11552]: <6> Uplink message (ABD8) sent | ||
| - | 2021-05-20T14:17:14.183471+00:00 klk-wifc-03001D lorafwd_foo[11880]: <6> Received uplink message: | + | 2021-05-20T14:17:14.183471+00:00 klk-wifc-03001D lorafwd_second_instance[11880]: <6> Received uplink message: |
| - | 2021-05-20T14:17:14.183584+00:00 klk-wifc-03001D lorafwd_foo[11880]: <6> | lora uplink (1F70167D), payload 25 B, channel 868.1 MHz, crc ok, bw 125 kHz, sf 7, cr 4/5 | + | 2021-05-20T14:17:14.183584+00:00 klk-wifc-03001D lorafwd_second_instance[11880]: <6> | lora uplink (1F70167D), payload 25 B, channel 868.1 MHz, crc ok, bw 125 kHz, sf 7, cr 4/5 |
| - | 2021-05-20T14:17:14.183651+00:00 klk-wifc-03001D lorafwd_foo[11880]: <6> | Unconfirmed Data Up, DevAddr 00430024, FCnt 467, FPort 25 | + | 2021-05-20T14:17:14.183651+00:00 klk-wifc-03001D lorafwd_second_instance[11880]: <6> | Unconfirmed Data Up, DevAddr 00430024, FCnt 467, FPort 25 |
| - | 2021-05-20T14:17:14.183695+00:00 klk-wifc-03001D lorafwd_foo[11880]: <6> | - radio (00000105) | + | 2021-05-20T14:17:14.183695+00:00 klk-wifc-03001D lorafwd_second_instance[11880]: <6> | - radio (00000105) |
| - | 2021-05-20T14:17:14.183786+00:00 klk-wifc-03001D lorafwd_foo[11880]: <6> | - demodulator counter 3502620444, UTC time 2021-05-20T14:17:14.173866Z, rssi -64 dB, snr 7.5< 10 <12.5 dB | + | 2021-05-20T14:17:14.183786+00:00 klk-wifc-03001D lorafwd_second_instance[11880]: <6> | - demodulator counter 3502620444, UTC time 2021-05-20T14:17:14.173866Z, rssi -64 dB, snr 7.5< 10 <12.5 dB |
| 2021-05-20T14:17:14.185793+00:00 klk-wifc-03001D lorafwd[11552]: <6> Uplink message (ABD8) acknowledged in 3.85701 ms | 2021-05-20T14:17:14.185793+00:00 klk-wifc-03001D lorafwd[11552]: <6> Uplink message (ABD8) acknowledged in 3.85701 ms | ||
| - | 2021-05-20T14:17:14.186798+00:00 klk-wifc-03001D lorafwd_foo[11880]: <6> Uplink message (FB49) sent | + | 2021-05-20T14:17:14.186798+00:00 klk-wifc-03001D lorafwd_second_instance[11880]: <6> Uplink message (FB49) sent |
| 2021-05-20T14:17:14.187286+00:00 klk-wifc-03001D lorad[10784]: <6> Sent 1 uplink message | 2021-05-20T14:17:14.187286+00:00 klk-wifc-03001D lorad[10784]: <6> Sent 1 uplink message | ||
| - | 2021-05-20T14:17:14.189619+00:00 klk-wifc-03001D lorafwd_foo[11880]: <6> Uplink message (FB49) acknowledged in 2.80792 ms | + | 2021-05-20T14:17:14.189619+00:00 klk-wifc-03001D lorafwd_second_instance[11880]: <6> Uplink message (FB49) acknowledged in 2.80792 ms |
| </code> | </code> | ||