{"id":30360,"date":"2020-02-26T11:13:53","date_gmt":"2020-02-26T17:13:53","guid":{"rendered":"http:\/\/www.multitech.net\/developer\/?page_id=30360"},"modified":"2026-03-04T10:29:59","modified_gmt":"2026-03-04T16:29:59","slug":"running-basic-station-on-conduit","status":"publish","type":"page","link":"https:\/\/www.multitech.net\/developer\/software\/lora\/running-basic-station-on-conduit\/","title":{"rendered":"Running Basic Station on Conduit"},"content":{"rendered":"<h2>Code base and documentation<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/lorabasics\/basicstation\">Basic Station Code<\/a><\/li>\n<li><a href=\"https:\/\/doc.sm.tc\/station\">Documentation<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcdt-station.conf\">MTCDT station.conf<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcap-station.conf\">MTCAP station.conf<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcap-station.conf\">MTCAP2 station.conf<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcdt-station.conf.E00\">MTAC-003 EU868 station.conf<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcdt-station.conf.U00\">MTAC-003 US915 station.conf<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcap3-station.conf.E00\">MTCAP3 EU868 station.conf<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcap3-station.conf.U00\">MTCAP3 US915 station.conf<\/a><\/li>\n<li><a href=\"https:\/\/raw.githubusercontent.com\/MultiTechSystems\/multitech-gateway-tx-power-tables\/main\/mtcap3-station.conf.A00\">MTCAP3 AU915 station.conf<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><em>Note: Channels configuration is controlled by the network when the gateway connects. For all 900MHz channel plans the AU915 conf should be used when available otherwise use US915 conf for downlink tx powers. The channels configured in the station.conf files are not used and are overwritten by configuration received from the LNS.<\/em><\/p>\n<p><em>Note: TC_TIMEOUT was included in early versions of station.conf examples. The value was set to &#8220;2s&#8221; which is too low for some cellular networks causing the MUXS connection to timeout after receiving the LNS URI configuration. This setting has been removed from the examples as it should not be needed, the default values will work for all networks. There is no benefit of a low timeout value other than for testing the timeout code is functioning.<\/em><\/p>\n<p>&nbsp;<\/p>\n<h2>Hardware Requirements<\/h2>\n<p>To use basic station an MTCAP or MTCDT with MTAC-LORA-H mCard is required. The Basic Station does not support the MTAC-LORA-1.0 USB cards.<br \/>\nmPower 5.3 includes UI configuration and basic station packages<\/p>\n<h2>Configuration Requirements<\/h2>\n<ul>\n<li>Internet Access through Ethernet, Cellular or WiFi<\/li>\n<li>DNS access to resolve host names<\/li>\n<li>Updated system time using GPS or SNTP<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Connecting to Actility<\/h2>\n<p>TLS certs and keys will be downloaded from Actility when Basic Station connects. These files need to be stored in persistent FLASH to be restored after reboot. The firmware mPower 6.3.2 or greater is needed to persist these files. There is a known issue with mPower 6.3.1 where some of these files were being overwritten on reboot.<\/p>\n<h2>URI Configuration<\/h2>\n<p>The URI field must contain, proto, server and port info. i.e. https:\/\/192.186.5.2:443<\/p>\n<p>If the port is missing the station process will not start, configured log files are not created as the configuration has not been read before the URI is parsed.<br \/>\n&nbsp;<\/p>\n<h2>Connecting to TTN<\/h2>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/gateways\/models\/multitechconduit\/lbs\/\">TTN Basic Station Instructions for Conduit<\/a><\/p>\n<h3>Logging<\/h3>\n<p>The JSON station configuration file has options to enable logging files, level and rotation<\/p>\n<p><a href=\"https:\/\/doc.sm.tc\/station\/conf.html#logging-setup\">https:\/\/doc.sm.tc\/station\/conf.html#logging-setup<\/a><\/p>\n<p>The following settings can be used for maximum debugging and rely on the system logrotate process to correctly rotate and gzip files. The Basic Station built-in\u00a0rotate mechanism does not keep a chronological record over multiple rotate files or compress rotated logs.<\/p>\n<pre class=\"brush:shell\">\"log_file\": \"\/var\/log\/lora-station.log\",\r\n\"log_level\": \"XDEBUG\",\r\n\"log_size\": 1000000,\r\n\"log_rotate\": 0,<\/pre>\n<h3>GPS PPS Settings<\/h3>\n<p>On MTCDT, MTCAP and MTCAP3 units without GPS hardware can disable PPS sync to reduce log messages for failed timesync with PPS.<\/p>\n<pre class=\"brush:shell\">{\r\n   \"SX1301_conf\": {\r\n   \"lorawan_public\": true,\r\n   \"clksrc\": 0,\r\n   \"pps\": false,<\/pre>\n<h3>Antenna Gain<\/h3>\n<p>Antenna gain can be configured for radio_0 if a different antenna is used. A default value of +3 dBi is used in mPower. <\/p>\n<p>For US915 the current implementation of Basic Station will fix the transmit power to +26 dBm, however this is interpreted as an EIRP value by Basic Station leading to a TX power lower than the maximum allowed for the hardware. To work-around the antenna_gain can be set to 0 or -1 to reach the maximum TX power of the gateway hardware of 26 or 27 dBm conducted. Setting to -4 will then attempt to transmit at the US902-928 regional limit +30, the hardware TX power tables only go up to a certified maximum which will be selected by the software. The -4 antenna gain setting will work on a variety of gateways that may support max transmit of 26, 27 or 28 dBm conducted power depending on the model.<\/p>\n<p>A lower transmit power can lead to missed ACK to end-devices at the edge distance of the range of the current datarate. i.e. Any spreading factor used at a low margin threshold may not be able to receive an ACK in certain circumstances. US915 uplink(125KHz)\/downlink(500KHz) have a 5 dBm link budget difference so a power at least 5 dBm higher than the end-device transmit is theoretically needed to reach the same distance. <\/p>\n<p>End-device transmit around +21\/22 dBm EIRP then needing gateway power of +26\/27 dBm EIRP for the same distance. So with the default settings the transmit power is just at the theoretical boundary. With a lower RX sensitivity at the end-device a higher gateway power may have some benefit. <\/p>\n<p>The LNS basic station connects to can set a maximum gateway power, it will only affect the gateway configuration if lower than the default tx power setting. Therefore this cannot be adjusted higher by the LNS for gateways in the field. Antenna gain can only be set in the station.conf at the gateway.<\/p>\n<pre class=\"brush:shell\">{\r\n        \"radio_0\": {\r\n            \/* freq\/enable provided by LNS - only HW specific settings listed here *\/\r\n            \"type\": \"SX1257\",\r\n            \"rssi_offset\": -166.0,\r\n            \"tx_enable\": true,\r\n            \"antenna_gain\": -4\r\n        },<\/pre>\n<h3>Beaconing Settings<\/h3>\n<p>Beaconing parameters should come from the LNS. Since the gateway is configured at the LNS for a specific channel plan, the LNS should be setting the gateway beacon.<\/p>\n<p>TTN supports basic station beaconing since 2022.<br \/>\nhttps:\/\/www.thethingsnetwork.org\/forum\/t\/upgrade-to-the-things-network-v3-21-2-completed\/58810<\/p>\n<p>&nbsp;<\/p>\n<p>Beacon settings can be provided by the LNS in the <strong>router_config<\/strong> message.<\/p>\n<p>&nbsp;<\/p>\n<p>The\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">bcning<\/span><\/code>\u00a0field is either\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">None<\/span><\/code>\u00a0or a BCNCONF object with the following layout:<\/p>\n<div class=\"highlight-javascript notranslate\">\n<pre><span class=\"p\">{<\/span>\r\n  <span class=\"s2\">\"DR\"<\/span>    <span class=\"o\">:<\/span> <span class=\"nx\">INT<\/span>\r\n  <span class=\"s2\">\"layout\"<\/span><span class=\"o\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">INT<\/span><span class=\"p\">,<\/span><span class=\"nx\">INT<\/span><span class=\"p\">,<\/span><span class=\"nx\">INT<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"s2\">\"freqs\"<\/span><span class=\"o\">:<\/span>  <span class=\"p\">[<\/span> <span class=\"nx\">INT<\/span><span class=\"p\">,<\/span> <span class=\"p\">..<\/span> <span class=\"p\">]<\/span>\r\n<span class=\"p\">}\r\n<\/span><\/pre>\n<p>The\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">layout<\/span><\/code>\u00a0field specifies the octet offsets for insertion of the message fields\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">Time<\/span><\/code>\u00a0and\u00a0<code class=\"docutils literal notranslate\"><span class=\"pre\">GwSpecific<\/span><\/code>, followed by the length of the beacom PDU.<\/p>\n<\/div>\n<blockquote>\n<div>\n<div>\/\/ Pack parameters into a BEACON pdu with the following layout:<\/div>\n<div>\/\/ \u00a0 \u00a0| 0-n | \u00a0 \u00a0 \u00a0 4 \u00a0 \u00a0| \u00a02 \u00a0| \u00a0 \u00a0 1 \u00a0 \u00a0| \u00a03 \u00a0| \u00a03 \u00a0| 0-n | \u00a02 \u00a0| \u00a0 bytes &#8211; all fields little endian<\/div>\n<div>\/\/ \u00a0 \u00a0| RFU | epoch_secs | CRC | infoDesc | lat | lon | RFU | CRC |<\/div>\n<div>\/\/<\/div>\n<div>void s2e_make_beacon (uint8_t* layout, sL_t epoch_secs, int infodesc, double lat, double lon, uint8_t* pdu) {<\/div>\n<div>\u00a0 \u00a0 int time_off \u00a0 \u00a0 = layout[0];<\/div>\n<div>\u00a0 \u00a0 int infodesc_off = layout[1];<\/div>\n<div>\u00a0 \u00a0 int bcn_len \u00a0 \u00a0 \u00a0= layout[2];<\/div>\n<\/div>\n<\/blockquote>\n<p>Beacon Frame Format is found in the LoRaWAN 1.0.4 Specification<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"hWxmnScLtD\"><p><a href=\"https:\/\/lora-alliance.org\/resource_hub\/lorawan-104-specification-package\/\">LoRaWAN\u00ae 1.0.4 Specification Package<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;LoRaWAN\u00ae 1.0.4 Specification Package&#8221; &#8212; LoRa Alliance\u00ae\" src=\"https:\/\/lora-alliance.org\/resource_hub\/lorawan-104-specification-package\/embed\/#?secret=uMfH49D3q9#?secret=hWxmnScLtD\" data-secret=\"hWxmnScLtD\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p><a href=\"https:\/\/www.multitech.net\/developer\/wp-content\/uploads\/2023\/06\/lw1.0.4-beacon.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-33429\" src=\"https:\/\/www.multitech.net\/developer\/wp-content\/uploads\/2023\/06\/lw1.0.4-beacon-300x176.png\" alt=\"\" width=\"620\" height=\"364\" srcset=\"https:\/\/www.multitech.net\/developer\/wp-content\/uploads\/2023\/06\/lw1.0.4-beacon-300x176.png 300w, https:\/\/www.multitech.net\/developer\/wp-content\/uploads\/2023\/06\/lw1.0.4-beacon-1024x601.png 1024w, https:\/\/www.multitech.net\/developer\/wp-content\/uploads\/2023\/06\/lw1.0.4-beacon-768x451.png 768w, https:\/\/www.multitech.net\/developer\/wp-content\/uploads\/2023\/06\/lw1.0.4-beacon.png 1246w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>Layout settings for each spreading factor:<\/p>\n<ul>\n<li>SF8 &#8211; [ 1, 7, 19 ]<\/li>\n<li>SF9 &#8211; [ 2, 8, 17 ]<\/li>\n<li>SF10 &#8211; [ 3, 9, 19 ]<\/li>\n<li>SF11 &#8211; [ 4, 10, 21 ]<\/li>\n<li>SF12 &#8211; [ 5, 11, 23 ]<\/li>\n<\/ul>\n<h3>Credentials<\/h3>\n<p>Select LNS or CUPS depending on server requirements. The LNS protocol will downlink the channel plan from a server. The CUPS protocol and redirect the station process to a network server end-point.<\/p>\n<h4>Connecting to TTN Community v3<\/h4>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/gateways\/lora-basics-station\/\">TTN Instructions<\/a><\/p>\n<p><a href=\"https:\/\/nam1.cloud.thethings.network\/console\">https:\/\/nam1.cloud.thethings.network\/console<\/a><br \/>\n<a href=\"https:\/\/eu1.cloud.thethings.network\/console\">https:\/\/eu1.cloud.thethings.network\/console<\/a><br \/>\n<a href=\"https:\/\/au1.cloud.thethings.network\/console\">https:\/\/au1.cloud.thethings.network\/console<\/a><\/p>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/gateways\/lora-basics-station\/cups\/\">https:\/\/www.thethingsindustries.com\/docs\/gateways\/lora-basics-station\/cups\/<\/a><br \/>\n<a href=\"https:\/\/thethingsindustries.com\/docs\/gateways\/multitechconduit\/lbs\/\">https:\/\/thethingsindustries.com\/docs\/gateways\/multitechconduit\/lbs\/<\/a><\/p>\n<h5>Certificate Information<\/h5>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/reference\/root-certificates\/\">https:\/\/www.thethingsindustries.com\/docs\/reference\/root-certificates\/<\/a><\/p>\n<p>CUPS<\/p>\n<pre class=\"brush:shell\">https:\/\/nam1.cloud.thethings.network:443\r\nhttps:\/\/eu1.cloud.thethings.network:443\r\nhttps:\/\/au1.cloud.thethings.network:443<\/pre>\n<p>Use the following command to view the certificate used by the server.<\/p>\n<pre class=\"brush:shell\">openssl s_client -showcerts -servername eu1.cloud.thethings.industries -connect eu1.cloud.thethings.industries:443<\/pre>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/gateways\/concepts\/lora-basics-station\/cups\/#cups-server-certificate--cups-trust\">TTN Server Cert Info<\/a><\/p>\n<p>Using CUPS requires creating two API keys for your gateway. The LNS lbs-lns-secret key will be sent to the gateway over the CUPS protocol. The CUPS key will authenticate the gateway when negotiating the CUPS connection.<\/p>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/gateways\/lora-basics-station\/cups\/\">Creating API keys for CUPS<\/a><\/p>\n<h3>URI<\/h3>\n<p>Set the URI field to point to a network, in this example a TTI private instance is used.<\/p>\n<h4>Connecting to TTN Community<\/h4>\n<p>Replace &#8220;nam1&#8221; with &#8220;au1&#8221;, &#8220;eu1&#8221; for the desired region.<\/p>\n<pre class=\"brush:shell\">wss:\/\/nam1.cloud.thethings.network:8887<\/pre>\n<h3>Station Conf<\/h3>\n<p>The default station configuration can be used as the network will configure the channels based on the selected channel plan in the TTI configuration.<\/p>\n<h3>Server Certificate<\/h3>\n<h4>TTN Community certificates<\/h4>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/reference\/root-certificates\/\">https:\/\/www.thethingsindustries.com\/docs\/reference\/root-certificates\/<\/a><\/p>\n<p>Replace &#8220;nam1&#8221; with &#8220;au1&#8221; or &#8220;eu1&#8221; for the desired region.<\/p>\n<pre class=\"brush:shell\">openssl s_client -showcerts -servername nam1.cloud.thethings.network -connect nam1.cloud.thethings.network:8887<\/pre>\n<p>Use the second certificate output by the open ssl command<\/p>\n<h3>Gateway Certificate<\/h3>\n<p>If a TLS client cert is required to connect to the server provide a certificate. Otherwise leave this field blank for connecting to TTN v3.<\/p>\n<h3>Gateway Key<\/h3>\n<p>The Gateway Key can be used to populate the authorization header field or be a TLS client key depending on connection method. The Gateway Key needs to be formatted correctly to be used. In The Things Industries v3 GUI, create an API Key with Link as Gateway permissions and copy the key to the text box preceded by &#8220;Authorization: &#8221;<\/p>\n<p><a href=\"https:\/\/www.thethingsindustries.com\/docs\/gateways\/lora-basics-station\/lns\/\">Creating the Gateway key for LNS<\/a><\/p>\n<pre class=\"brush:shell\">Authorization: NNSXS.XXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<\/pre>\n<h4>TTN Community gateway key<\/h4>\n<p>Currently the TTN Community servers to not authenticate the gateway key. Any value can be set, the file needs have proper contents to allow parsing by the basic station daemon.<\/p>\n<pre>Authorization: NNSXS.XXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<\/pre>\n<p>Click Save and Apply and the station will be started.<\/p>\n<h3>Duty-cycle, listen-before-talk (LBT\/CCA), and dwell-time<\/h3>\n<p>Basic Station enables LBT for AS923-1 by default, see ccaEnabled is set in the region configuration.<br \/>\nhttps:\/\/github.com\/lorabasics\/basicstation\/blob\/ba4f85d80a438a5c2b659e568cd2d0f0de08e5a7\/src\/s2e.c#L1011<\/p>\n<p>See region name &#8220;AS923-1 (CCA)&#8221; in the logs and LBT is enabled for 8 channels. If the gateway does not have FPGA v33 or v35 installed the concentrator fails to start with the LBT settings.<\/p>\n<pre class=\"brush:shell\">2024-06-18 03:44:29.475 [AIO:XDEB] [4|WS] &lt; {\"msgtype\":\"router_config\",\"NetID\":null,\"JoinEui\":null,\"region\":\"AS923\",\"hwspec\":\"sx1301\/1\",\"freq_range\":[920000000,923400000],\"DRs\":[[12,125,0],[11,125,0],[10,125,0],                                                                                                          [9,125,0],[8,125,0],[7,125,0],[7,250,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]],\"sx1301_conf\":[{\"radio_0\":{\"enable\":true,\"freq\":923000000},\"radio_1\":{\"enable\":true,\"freq\":9221000                                                                                                          00},\"chan_multiSF_0\":{\"enable\":true,\"radio\":0,\"if\":200000},\"chan_multiSF_1\":{\"enable\r\n2024-06-18 03:44:29.475 [AIO:XDEB] [4|WS] . \":true,\"radio\":0,\"if\":400000},\"chan_multiSF_2\":{\"enable\":true,\"radio\":1,\"if\":100000},\"chan_multiSF_3\":{\"enable\":true,\"radio\":1,\"if\":300000},\"chan_multiSF_4\":{\"enable\":                                                                                                          true,\"radio\":0,\"if\":-400000},\"chan_multiSF_5\":{\"enable\":true,\"radio\":0,\"if\":-200000},\"chan_multiSF_6\":{\"enable\":true,\"radio\":0,\"if\":0},\"chan_multiSF_7\":{\"enable\":true,\"radio\":1,\"if\":-100000},\"chan_Lora_std\":{\"en                                                                                                          able\":true,\"radio\":1,\"if\":0,\"bandwidth\":250000,\"spread_factor\":7},\"chan_FSK\":{\"enabl\r\n2024-06-18 03:44:29.475 [AIO:XDEB] [4|WS] . e\":true,\"radio\":1,\"if\":-300000,\"datarate\":50000}}],\"MuxTime\":1718682269.2040114,\"bcning\":{\"DR\":3,\"layout\":[2,8,17],\"freqs\":[923400000]}}\r\n...\r\n2024-06-18 03:44:29.215 [S2E:INFO] Configuring for region: AS923-1 (CCA) -- 920.0MHz..923.4MHz\r\n...\r\n2024-06-18 03:44:29.216 [S2E:INFO]   Dev\/test settings: nocca=0 nodc=0 nodwell=0\r\n...\r\n2024-06-18 03:44:29.694 [S00:INFO] SX130x LBT enabled: rssi_target=-80 rssi_offset=0\r\n2024-06-18 03:44:29.694 [S00:INFO]    0: freq=923.2MHz scan=5000us\r\n2024-06-18 03:44:29.696 [S00:INFO]    1: freq=923.4MHz scan=5000us\r\n2024-06-18 03:44:29.697 [S00:INFO]    2: freq=922.2MHz scan=5000us\r\n2024-06-18 03:44:29.699 [S00:INFO]    3: freq=922.4MHz scan=5000us\r\n2024-06-18 03:44:29.700 [S00:INFO]    4: freq=922.6MHz scan=5000us\r\n2024-06-18 03:44:29.700 [S00:INFO]    5: freq=922.8MHz scan=5000us\r\n2024-06-18 03:44:29.701 [S00:INFO]    6: freq=923.0MHz scan=5000us\r\n2024-06-18 03:44:29.701 [S00:INFO]    7: freq=922.0MHz scan=5000us\r\nINFO: FPGA supported features: [TX filter]  [Spectral Scan]\r\n2024-06-18 03:44:30.291 [S00:ERRO] Concentrator start failed: lgw_start\r\n<\/pre>\n<p>The network can send nocca, nodc, and nodwell settings in the router config, The basic station source repo does not enable them for production builds.<\/p>\n<p>We have changed the in mPower 6.3.4 to allow these settings from the LNS or in the configuration file.<\/p>\n<p>In mPower 6.3.4 we added the option to set nocca=0 nodc=0 nodwell=0 in the station.conf. This will override the default cca settings in the region and settings sent from the LNS router_config message.<\/p>\n<p>Add nocca to the station_conf section of the Station Config. The options for nodc and nodwell can be set as well.<\/p>\n<pre class=\"brush:shell\">  \"station_conf\": {\r\n    \"TC_TIMEOUT\": \"20s\",\r\n    \"euiprefix\": \"::0\",\r\n    \"log_file\": \"\/var\/log\/lora-station.log\",\r\n    \"log_level\": \"XDEBUG\",\r\n    \"log_rotate\": 0,\r\n    \"log_size\": 1000000,\r\n    \"routerid\": \"\",\r\n    \"nocca\": true\r\n  }\r\n<\/pre>\n<p>Now the station will start with nocca enabled and LBT settings will not be used.<\/p>\n<pre class=\"brush:shell\">2024-06-27 12:40:42.697 [S2E:INFO]   Dev\/test settings: nocca=1 nodc=0 nodwell=0\r\n<\/pre>\n<h3>Troubleshooting<\/h3>\n<p>If there are issues and the station needs to be run manually, you can ssh into the gateway and issue these commands to see output. The station.conf logging feature can also be used to get messages to find any issue details.<\/p>\n<pre class=\"brush:shell\">$ \/etc\/init.d\/lora-networks-server stop\r\n$ cd \/var\/run\/lora\/1\r\n$ sudo .\/station --log-file stderr<\/pre>\n<p>&nbsp;<\/p>\n<p>With persistent config enabled, additional files are downloaded when the station connects to the server. The station process is run within the \/var\/config directory so files maintained by the station will be saved.<\/p>\n<pre class=\"brush:shell\">$ \/etc\/init.d\/lora-networks-server stop\r\n$ cd \/var\/config\/lora\/1\r\n$ sudo .\/station<\/pre>\n<p>&nbsp;<\/p>\n<h2>Installation on MTCDT\/MTCAP<\/h2>\n<p>Install the Basic Station from <a href=\"https:\/\/www.multitech.net\/developer\/downloads\/\">downloads<\/a>.<\/p>\n<pre class=\"brush:shell\">$ sudo -s\r\n# wget http:\/\/www.multitech.net\/downloads\/lora-basic-station_2.0.3-r1.0_arm926ejste.ipk\r\n# opkg install lora-basic-station_2.0.3-r1.0_arm926ejste.ipk<\/pre>\n<p>The \/opt\/lora\/station binary will be installed.<\/p>\n<h2>Basic Station to Packet Forwarder<\/h2>\n<p>This example python script shows how to send a channel configuration to the connection basic station gateway. It is useful for getting started and ensuring the gateway is functioning.<br \/>\n<a href=\"https:\/\/github.com\/lorabasics\/basicstation\/tree\/master\/examples\">Basic Station Examples<\/a><\/p>\n<h2>TTI Configuration<\/h2>\n<p>The Things Industries provide private server instances that Basic Station can connect to. Visit <a href=\"https:\/\/www.thethingsindustries.com\/\">TTI<\/a> for details.<\/p>\n<h3>tc.uri<\/h3>\n<pre class=\"brush:shell\">wss:\/\/&lt;ORG&gt;.&lt;REGION&gt;.cloud.thethings.industries:8887<\/pre>\n<pre class=\"brush:shell\">wss:\/\/multitech.eu1.cloud.thethings.industries:8887<\/pre>\n<h3>tc.key &#8211; Gateway Token<\/h3>\n<p>The tc.key file needs to be formatted correctly to be used and can be created with this command. In The Things Industries v3 GUI, create an API Key with Link as Gateway permissions and copy the key to the tc.key file.<\/p>\n<pre class=\"brush:shell\">echo -en \"Authorization: NNSXS.XXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\\r\\n\" &gt; tc.key<\/pre>\n<h3>tc.trust<\/h3>\n<p>Use the following command to view the certificate used by the server.<\/p>\n<pre class=\"brush:shell\">openssl s_client -showcerts -servername multitech.eu1.cloud.thethings.industries -connect multitech.eu1.cloud.thethings.industries:8887<\/pre>\n<p>&nbsp;<\/p>\n<h2>Configuration files<\/h2>\n<ul>\n<li>Adjust the station.conf file for the desired frequencies, see <a href=\"https:\/\/www.multitech.net\/developer\/software\/lora\/aep-lora-packet-forwarder\/\">examples<\/a>.Download <a href=\"https:\/\/www.multitech.net\/developer\/wp-content\/uploads\/2020\/02\/station.conf_.txt\">station.conf<\/a>Use the routerid and euiprefix fields to assign the Gateway EUI.<br \/>\nSee <a href=\"https:\/\/doc.sm.tc\/station\/conf.html#station-identity\">Basic Station Doc<\/a> for EUI.<\/li>\n<li>Configure tc.uri to point to the network server web socket port\n<pre>ws:\/\/192.168.52.72:6090<\/pre>\n<\/li>\n<li>For secure web sockets use wss and provide tc.key or tc.trust and tc.crt files\n<pre>wss:\/\/192.168.52.72:6090<\/pre>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Running the Basic Station<\/h2>\n<pre class=\"brush:shell\">root@mtcdt:\/opt\/lora$ sudo .\/station --log-file stderr\r\n2020-02-26 16:56:02.698 [SYS:WARN] Ignoring field: region\r\n2020-02-26 16:56:02.700 [SYS:INFO] Logging     : stderr (maxsize=10000000, rotate=3)\r\n2020-02-26 16:56:02.700 [SYS:INFO] Station Ver : 2.0.3(mlinux\/std) 2020-01-24 16:54:44\r\n2020-02-26 16:56:02.700 [SYS:INFO] Package Ver : (null)\r\n2020-02-26 16:56:02.701 [SYS:INFO] proto EUI   : ::1    (station.conf)\r\n2020-02-26 16:56:02.701 [SYS:INFO] prefix EUI  : ::0    (station.conf)\r\n2020-02-26 16:56:02.701 [SYS:INFO] Station EUI : ::1\r\n2020-02-26 16:56:02.701 [SYS:INFO] Station home: .\/     (builtin)\r\n2020-02-26 16:56:02.701 [SYS:INFO] Station temp: \/var\/tmp\/      (builtin)\r\n2020-02-26 16:56:02.701 [SYS:WARN] Station in NO-CUPS mode\r\n2020-02-26 16:56:02.903 [TCE:INFO] Starting TC engine\r\n2020-02-26 16:56:02.908 [TCE:INFO] Connecting to INFOS: ws:\/\/192.168.52.72:6090\r\n2020-02-26 16:56:02.912 [TCE:INFO] Infos: ::1 muxs-::0 ws:\/\/192.168.52.72:6092\/router-::1\r\n2020-02-26 16:56:02.912 [AIO:DEBU] [3] ws_close reason=1000\r\n2020-02-26 16:56:02.913 [AIO:DEBU] [3] Server sent close: reason=1000\r\n2020-02-26 16:56:02.913 [AIO:DEBU] [3] WS connection shutdown...\r\n2020-02-26 16:56:02.916 [TCE:VERB] Connecting to MUXS...\r\n2020-02-26 16:56:02.917 [TCE:VERB] Connected to MUXS.\r\nINFO: FPGA supported features: [TX filter]  [Spectral Scan]  [LBT] \r\n2020-02-26 16:56:03.219 [S2E:WARN] Unknown field in router_config - ignored: bcning (0x1EE5E245)\r\n2020-02-26 16:56:03.219 [S2E:WARN] Unknown field in router_config - ignored: config (0xF7A3E35F)\r\n2020-02-26 16:56:03.219 [S2E:WARN] Unknown field in router_config - ignored: protocol (0xFD309030)\r\n2020-02-26 16:56:03.220 [S2E:WARN] Unknown field in router_config - ignored: regionid (0xE6FFB211)\r\n2020-02-26 16:56:03.220 [S2E:WARN] Unknown field in router_config - ignored: upchannels (0x7FCAA9EB)\r\n2020-02-26 23:08:46.995 [RAL:WARN] Ignoring unsupported\/unknown field: lbt_conf\r\n2020-02-26 23:08:47.049 [RAL:INFO] Lora gateway library version: Version: 5.0.1-mts-1;\r\n2020-02-26 23:08:47.049 [RAL:DEBU] SX1301 txlut table (2 entries)\r\n2020-02-26 23:08:47.049 [RAL:VERB] SX1301 txlut  0:  dig_gain=0 pa_gain=0 dac_gain=3 mix_gain=11 rf_power=-6\r\n2020-02-26 23:08:47.049 [RAL:VERB] SX1301 txlut  1:  dig_gain=0 pa_gain=0 dac_gain=3 mix_gain=13 rf_power=-3\r\n2020-02-26 23:08:47.049 [RAL:VERB] SX1301 rxrfchain 0: enable=1 freq=868475000 rssi_offset=-162.000000 type=2 tx_enable=1 tx_notch_freq=0\r\n2020-02-26 23:08:47.049 [RAL:VERB] SX1301 rxrfchain 1: enable=1 freq=869287500 rssi_offset=-162.000000 type=2 tx_enable=0 tx_notch_freq=0\r\n2020-02-26 23:08:47.049 [RAL:VERB] SX1301 ifchain  0: enable=1 rf_chain=0 freq=-375000 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  1: enable=1 rf_chain=0 freq=-175000 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  2: enable=1 rf_chain=0 freq=25000 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  3: enable=1 rf_chain=0 freq=375000 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  4: enable=1 rf_chain=1 freq=-237500 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  5: enable=1 rf_chain=1 freq=237500 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  6: enable=0 rf_chain=1 freq=200000 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  7: enable=0 rf_chain=1 freq=400000 bandwidth=0 datarate=0 sync_word=0\/0\r\n2020-02-26 23:08:47.050 [RAL:VERB] SX1301 ifchain  8: enable=0 rf_chain=0 freq=-200000 bandwidth=2 datarate=2 sync_word=0\/0\r\n2020-02-26 23:08:47.051 [RAL:VERB] SX1301 ifchain  9: enable=0 rf_chain=0 freq=300000 bandwidth=3 datarate=50000 sync_word=0\/0\r\n2020-02-26 23:08:47.051 [RAL:VERB] SX1301 LBT not enabled\r\n2020-02-26 23:08:47.051 [RAL:INFO] Station device: \/dev\/spidev0.0 (PPS capture enabled)\r\n2020-02-26 23:08:50.049 [S2E:INFO] Configuring for region: EU863 -- 863.0MHz..870.0MHz\r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR0  SF12\/BW125 \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR1  SF11\/BW125 \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR2  SF10\/BW125 \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR3  SF9\/BW125 \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR4  SF8\/BW125 \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR5  SF7\/BW125 \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR6  SF7\/BW250 \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR7  FSK \r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR8  undefined\r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR9  undefined\r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR10 undefined\r\n2020-02-26 23:08:50.049 [S2E:VERB]   DR11 undefined\r\n2020-02-26 23:08:50.050 [S2E:VERB]   DR12 undefined\r\n2020-02-26 23:08:50.050 [S2E:VERB]   DR13 undefined\r\n2020-02-26 23:08:50.050 [S2E:VERB]   DR14 undefined\r\n2020-02-26 23:08:50.050 [S2E:VERB]   DR15 undefined\r\n2020-02-26 23:08:50.050 [S2E:VERB]   TX power: 16.0 dBm EIRP\r\n2020-02-26 23:08:50.050 [S2E:VERB]             27.0 dBm EIRP for 869.4MHz..869.65MHz\r\n2020-02-26 23:08:50.050 [S2E:VERB]   JoinEui list: 0 entries\r\n2020-02-26 23:08:50.050 [S2E:VERB]   NetID filter: FFFFFFFF-FFFFFFFF-FFFFFFFF-FFFFFFFF\r\n2020-02-26 23:08:50.050 [S2E:VERB]   Dev\/test settings: nocca=0 nodc=0 nodwell=0<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Code base and documentation Basic Station Code Documentation MTCDT station.conf MTCAP station.conf MTCAP2 station.conf MTAC-003 EU868 station.conf MTAC-003 US915 station.conf MTCAP3 EU868 station.conf MTCAP3 US915 station.conf MTCAP3 AU915 station.conf &nbsp; Note: Channels configuration is controlled by the network when the gateway connects. For all 900MHz channel plans the AU915 conf should be used when available [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":0,"parent":8462,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-30360","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/30360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/comments?post=30360"}],"version-history":[{"count":90,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/30360\/revisions"}],"predecessor-version":[{"id":33985,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/30360\/revisions\/33985"}],"up":[{"embeddable":true,"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/pages\/8462"}],"wp:attachment":[{"href":"https:\/\/www.multitech.net\/developer\/wp-json\/wp\/v2\/media?parent=30360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}