User Tools

Site Tools


wiki:lora:basic_station_forwarder

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:lora:basic_station_forwarder [2024/02/01 14:41]
ehe
wiki:lora:basic_station_forwarder [2025/02/12 10:09] (current)
ehe
Line 9: Line 9:
 Once installed and configured, it is able to connect to a //"​LNS"//​ or a //"​CUPS"//​ server and handle all associated services (Radio configuration,​ Forward uplink packets, schedule downlink packets, etc.). Once installed and configured, it is able to connect to a //"​LNS"//​ or a //"​CUPS"//​ server and handle all associated services (Radio configuration,​ Forward uplink packets, schedule downlink packets, etc.).
  
-It implements the same protocols and authentication methods than [[https://lora-developers.semtech.com/build/​software/​lora-basics/​lora-basics-for-gateways/|Semtech LoRa Basics™ Station]] reference implementation.+It implements the same protocols and authentication methods than [[https://doc.sm.tc/station/index.html|Semtech LoRa Basics™ Station]] reference implementation.
  
 {{:​wiki:​lora:​basicstation_overview.png?​800|}} {{:​wiki:​lora:​basicstation_overview.png?​800|}}
Line 16: Line 16:
 ===== What are the differences with Semtech LoRa Basics™ Station ? ===== ===== What are the differences with Semtech LoRa Basics™ Station ? =====
  
-The [[https://lora-developers.semtech.com/build/​software/​lora-basics/​lora-basics-for-gateways/|Semtech LoRa Basics™ Station]] is a nice reference implementation. But, as the original packet forwarder, it has the same drawbacks: It's a monolithic approach, designed to be hardly linked to the gateway radio architecture and to be used on one Network Server.+The [[https://doc.sm.tc/station/index.html|Semtech LoRa Basics™ Station]] is a nice reference implementation. But, as the original packet forwarder, it has the same drawbacks: It's a monolithic approach, designed to be hardly linked to the gateway radio architecture and to be used on one Network Server.
  
 In other words, Kerlink Basic Station Packet Forwarder is the same package for all Kerlink iSeries gateways and can be configured while another previously-configured LNS is still functional. In other words, Kerlink Basic Station Packet Forwarder is the same package for all Kerlink iSeries gateways and can be configured while another previously-configured LNS is still functional.
Line 94: Line 94:
 </​code>​ </​code>​
 ++++ ++++
 +==== Kerlink CUPS configuration ====
 +<note important>​Only available since [[bspf_v3.3.0|Basic Station Packet Forwarder 3.3.0]]</​note>​
  
-==== Configuration ​====+After installation Kerlink Basic Station Packet Forwarder is disabled by default. 
 +Once Basic Station Packet Forwarder started, if no configuration is available, it will connect to Kerlink CUPS using: 
 +  * cups-boot.uri 
 +  * cups-boot.key 
 +  * cups-boot.crt 
 + 
 +Once connected to Kerlink CUPS, Basic Station Packet Forwarder will get its CUPS/LNS configuration. 
 + 
 +<​note>​Link to Cockpit wiki will be soon available to set LNS configuration using Kerlink CUPS. 
 +</​note>​ 
 +==== Manual configuration ​====
  
 Once installed, Kerlink Basic Station Packet Forwarder is disabled by default. It should first be configured for the wanted server (CUPS and/or LNS). Once installed, Kerlink Basic Station Packet Forwarder is disabled by default. It should first be configured for the wanted server (CUPS and/or LNS).
  
-As explained by [[https://lora-developers.semtech.com/build/software/​lora-basics/​lora-basics-for-gateways/?​url=authmodes.html|Semtech documentation]],​ the procedure to connect to server may differ depending on authentication mode used by server.+As explained by [[https://doc.sm.tc/station/​authmodes.html|Semtech documentation]],​ the procedure to connect to server may differ depending on authentication mode used by server.
  
 === No authentication on LNS server === === No authentication on LNS server ===
Line 179: Line 191:
 <​note>​Only available since [[bspf_v2.4.1|version 2.4]] ( for "Land Mobile Station"​ use cases, please contact Kerlink support)</​note>​ <​note>​Only available since [[bspf_v2.4.1|version 2.4]] ( for "Land Mobile Station"​ use cases, please contact Kerlink support)</​note>​
  
-By default, LBT is **NOT** activated for AS923-1 ​region. It needs to be activated manually by using following commands:+For LNS which doesn'​t embed AS923-1 ​with LBT, it needs to be activated manually by using following commands:
  
 <code bash> <code bash>
Line 219: Line 231:
  
  
-==== Packet buffering ​(Beta version) ​====+==== Packet buffering ====
  
-Packet buffering allows to store all uplink packets not correctly ​transmitted to LNS server.+Packet buffering allows to store uplink packets not transmitted to the LNS server ​when the link between gateway and server is broken.
  
-Application ​will then retry periodically to re-connect to LNS Server and as soon as the connection is back, all stored packets will be pushed in FIFO mode (First In, First Out) to respect packets chronology.+The application ​will then retry periodically to re-connect to the LNS Server and as soon as the connection is back, all stored packets will be pushed in FIFO mode (First In, First Out) to respect packets chronology.
  
 In order to activate it: In order to activate it:
   - Copy ''/​user/​basic_station/​etc/​station.conf.example''​ to ''/​user/​basic_station/​etc/​station.conf''​   - Copy ''/​user/​basic_station/​etc/​station.conf.example''​ to ''/​user/​basic_station/​etc/​station.conf''​
-  - Edit ''/​user/​basic_station/​etc/​station.conf''​ and locate ''​[database]''​ section+  - Edit ''/​user/​basic_station/​etc/​station.conf''​ and locate ​the ''​[database]''​ section
   - Un-comment ''​enable = True''​ line   - Un-comment ''​enable = True''​ line
   - Save file   - Save file
   - Restart application ''/​etc/​init.d/​station restart''​   - Restart application ''/​etc/​init.d/​station restart''​
 +
 +==== Local DevAddr Filtering ====
 +
 +In the case the LNS does not provide any NetID filter in the router_config message, it is possible to set local filters in order to only forward LoRa uplinks provided by a subset of devices.
 +
 +To configure this feature, use the '​-f'​ option of the klk_bs_config tool, and provide inclusive and/or exclusive filters to indicate the sets of DevAddr to be kept and/or rejected.
 +
 +( see https://​wikikerlink.fr/​wirnet-productline/​doku.php?​id=wiki:​lora:​advanced_features#​lorawan_frame_filtering for more details about filters values )
 +
 +++++Example:​|
 +
 +<code bash>
 +klk_bs_config -e -f "​24abcdef/​7"​ -f "​!24abcdef/​12"​
 +</​code>​
 +Will configure basic station to forward messages provided by devices with DevAddr between 0x24000000 and 0x249fffff , or between 0x24b00000 and 0x25ffffff .
 +
 +++++
 +<note info>
 +The lead "​0x"​ is not required before the base address of the filter.
 +</​note>​
  
 ==== TTN LNS configuration tool ==== ==== TTN LNS configuration tool ====
Line 295: Line 327:
   * a network ID   * a network ID
   * LoRaWAN region   * LoRaWAN region
 +    * region list: 
 +      * AU915-928
 +      * AS923  ​
 +      * CN470-510
 +      * CN779-787
 +      * EU433
 +      * EU863-870
 +      * IN865-867
 +      * KR920-923
 +      * RU864-870
 +      * US902-928
   * Channel plans (1 to 8) comma separated (optional)   * Channel plans (1 to 8) comma separated (optional)
 <note important>​ <note important>​
 ''​klk_bs_config''​ is still required after this to complete the Basic Station configuration. ''​klk_bs_config''​ is still required after this to complete the Basic Station configuration.
-</​note>​ 
-<note warning> 
-The Loriot Basic Station server does not respond to websocket pings. It is therefore advised to disable this functionality when connecting to such a server. 
 </​note>​ </​note>​
  
Line 307: Line 347:
 # Use Loriot configuration tool in region US902 with 3 channel plans (US915_CH16_23,​ US915_CH40_47 and US915_CH56_63) # Use Loriot configuration tool in region US902 with 3 channel plans (US915_CH16_23,​ US915_CH40_47 and US915_CH56_63)
 klk_loriot_config -k ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJK-321abcdefgh -u https://​eu1.loriot.io/​1/​nwk -n ABCD1234 -r US902-928 -p 3,6,8 klk_loriot_config -k ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJK-321abcdefgh -u https://​eu1.loriot.io/​1/​nwk -n ABCD1234 -r US902-928 -p 3,6,8
-# Disable websocket pings 
-klk_bs_config --enable --ping_interval None 
 </​code>​ </​code>​
 ++++ ++++
Line 322: Line 360:
 ==== AWS LNS configuration tool ==== ==== AWS LNS configuration tool ====
  
-To ease declaration of a gateway on the AWS LNS, use the ''​klk_aws_config''​ tool. +<note warning>​If you already have declare your gateway on AWS, please delete it or add deletion right in AWS API key</​note>​ 
-This tool creates the gateway on the server and installs the resulting LNS credentials on the gateway.+ 
 +To ease declaration of a gateway on the AWS LNS, use the ''​klk_aws_config''​ tool.\\ 
 +**This tool creates the gateway on the server** and installs the resulting LNS credentials on the gateway.
  
 To use this tool, you need: To use this tool, you need:
Line 384: Line 424:
             "​Effect":​ "​Allow",​             "​Effect":​ "​Allow",​
             "​Action":​ [             "​Action":​ [
-                "​iot:​DeleteCertificate",​ 
-                "​iot:​UpdateCertificate",​ 
                 "​iotwireless:​GetWirelessGatewayCertificate",​                 "​iotwireless:​GetWirelessGatewayCertificate",​
                 "​iotwireless:​GetWirelessGateway",​                 "​iotwireless:​GetWirelessGateway",​
 +                "​iotwireless:​DeleteWirelessGateway",​
                 "​iotwireless:​UpdateWirelessGateway",​                 "​iotwireless:​UpdateWirelessGateway",​
                 "​iotwireless:​AssociateWirelessGatewayWithCertificate",​                 "​iotwireless:​AssociateWirelessGatewayWithCertificate",​
-                "​iotwireless:​ListWirelessGateways",​ 
                 "​iotwireless:​GetServiceEndpoint",​                 "​iotwireless:​GetServiceEndpoint",​
 +                "​iotwireless:​CreateWirelessGateway",​
 +                "​iotwireless:​TagResource",​
                 "​iot:​CreateKeysAndCertificate",​                 "​iot:​CreateKeysAndCertificate",​
-                "iotwireless:CreateWirelessGateway"+                "iot:UpdateCertificate",​ 
 +                "​iot:​DescribeThing",​ 
 +                "​iot:​DeleteCertificate"
             ],             ],
             "​Resource":​ "​*"​             "​Resource":​ "​*"​
Line 406: Line 448:
  
  
 +++++
 +==== Actility LNS configuration tool ====
 +
 +To ease declaration of a gateway on the Actility LNS, use the ''​klk_actility_config''​ tool.
 +This tool creates the gateway on the server and installs the resulting LNS credentials on the gateway.
 +
 +To use this tool, you need:
 +  * an API Client ID and its secret
 +  * the API server URL
 +  * the actility LoRaWAN region ID ( see https://​oss-api.thingpark.com/​tpe/​7.3/​Things-Management/​network-manager/​documentation-network-manager.html#/​rf-regions )
 +<note important>​
 +''​klk_bs_config''​ is still required after this to complete the Basic Station configuration.
 +</​note>​
 +
 +++++Example:​|
 +<code bash>
 +# Use Actility configuration tool in region EU868 on 8 channels
 +klk_actility_config -i sub-123456789/​test -s Abcdef1234567890Ghijklm987654321 -u https://​community.thingpark.io -r EU868_8channels.448
 +</​code>​
 +++++
 +<​note>​
 +The ''​klk_actility_config''​ tool has been designed to be called from a [[wiki:​systeme_mana:​ztp|Zero Touch Provisioning]] job.
 +</​note>​
 +
 +++++How to generate an ACTILITY API key?|
 +
 +[[https://​community.thingpark.org/​index.php/​build-your-first-end-to-end-use-case/​|ACTILITY- Access ThingPark Community Platform]]
 ++++ ++++
 ==== Gateway name customization option ==== ==== Gateway name customization option ====
wiki/lora/basic_station_forwarder.1706794914.txt.gz · Last modified: 2024/02/01 14:41 by ehe