This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:lora:basic_station_forwarder [2024/06/07 11:50] ehe [AWS LNS configuration tool] |
wiki:lora:basic_station_forwarder [2025/09/08 14:35] (current) ehe [Actility LNS configuration tool] |
||
---|---|---|---|
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. | ||
+ | |||
+ | It's now possible to set LNS configuration using Cockpit: [[https://cockpit.docs.kerlink.com/en/update-config/configure-lorawan|Configure LoRaWAN with Wanesy Management Cockpit]] | ||
+ | |||
+ | ==== 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 246: | Line 258: | ||
</code> | </code> | ||
Will configure basic station to forward messages provided by devices with DevAddr between 0x24000000 and 0x249fffff , or between 0x24b00000 and 0x25ffffff . | 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> | ||
+ | |||
+ | ==== Local JoinEui Filtering ==== | ||
+ | |||
+ | In the case the LNS does not provide any JoinEui filter in the router_config message, it is possible to set local filters in order to only forward LoRa JoinRequest matching by a subset of EUIs. | ||
+ | |||
+ | To configure this feature, use the '-j' option of the klk_bs_config tool, and provide inclusive and/or exclusive filters to indicate the sets of JoinEuis to be kept and/or rejected. | ||
+ | |||
+ | ++++Example:| | ||
+ | |||
+ | <code bash> | ||
+ | klk_bs_config -e -j "848bcdfffe60b9df/48" | ||
+ | </code> | ||
+ | Will configure basic station to forward join requests using JoinEuis between 0x848bcdfffe600000 and 0x848bcdfffe60ffff . | ||
++++ | ++++ | ||
Line 261: | Line 291: | ||
* the API server URL | * the API server URL | ||
* the chose frequency plan | * the chose frequency plan | ||
- | |||
- | <note warning>''klk_bs_config'' is still required after this to complete the Basic Station configuration.</note> | ||
<note important> | <note important> | ||
Line 276: | Line 304: | ||
# Use TTN configuration tool for TTN LNS | # Use TTN configuration tool for TTN LNS | ||
klk_ttn_config -u https://eu1.cloud.thethings.network -t NNSXS.R6D3ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI.ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIABCDEFGHIJKLMNOPQ -f EU_863_870 | klk_ttn_config -u https://eu1.cloud.thethings.network -t NNSXS.R6D3ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI.ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIABCDEFGHIJKLMNOPQ -f EU_863_870 | ||
+ | klk_bs_config -e | ||
# Use TTN configuration tool for TTI LNS where tenant is your Tenant ID | # Use TTN configuration tool for TTI LNS where tenant is your Tenant ID | ||
klk_ttn_config -u https://tenant.eu1.cloud.thethings.industries -t NNSXS.R6D3ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI.ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIABCDEFGHIJKLMNOPQ -f EU_863_870 | klk_ttn_config -u https://tenant.eu1.cloud.thethings.industries -t NNSXS.R6D3ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI.ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIABCDEFGHIJKLMNOPQ -f EU_863_870 | ||
+ | klk_bs_config -e | ||
</code> | </code> | ||
++++ | ++++ | ||
Line 315: | Line 345: | ||
* 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> | ||
- | ''klk_bs_config'' is still required after this to complete the Basic Station configuration. | ||
- | </note> | ||
++++Example:| | ++++Example:| | ||
Line 324: | Line 362: | ||
# 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 | ||
+ | klk_bs_config -e | ||
</code> | </code> | ||
++++ | ++++ | ||
Line 349: | Line 388: | ||
* the LoRaWan region of the gateway | * the LoRaWan region of the gateway | ||
* the Frequency Sub Band(s) to use (required for US915 and AU915) | * the Frequency Sub Band(s) to use (required for US915 and AU915) | ||
- | <note important> | ||
- | ''klk_bs_config'' is still required after this to complete the Basic Station configuration. | ||
- | </note> | ||
++++Example:| | ++++Example:| | ||
Line 357: | Line 393: | ||
# Use AWS configuration tool | # Use AWS configuration tool | ||
klk_aws_config -u some_user -k ABCDEFGHIJKLMNOPQRST-s ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMN-r eu-west-1 -l US915 -f 1 -b | klk_aws_config -u some_user -k ABCDEFGHIJKLMNOPQRST-s ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMN-r eu-west-1 -l US915 -f 1 -b | ||
+ | klk_bs_config -e | ||
</code> | </code> | ||
++++ | ++++ | ||
Line 401: | Line 438: | ||
"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", |
- | "iotwireless:DeleteWirelessGateway" | + | "iot:DescribeThing", |
+ | "iot:DeleteCertificate" | ||
], | ], | ||
"Resource": "*" | "Resource": "*" | ||
Line 434: | Line 472: | ||
* the API server URL | * 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 ) | * 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:| | ++++Example:| | ||
Line 442: | Line 477: | ||
# Use Actility configuration tool in region EU868 on 8 channels | # 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 | klk_actility_config -i sub-123456789/test -s Abcdef1234567890Ghijklm987654321 -u https://community.thingpark.io -r EU868_8channels.448 | ||
+ | klk_bs_config -e | ||
</code> | </code> | ||
++++ | ++++ |