RouterOS LoRa General Properties
RouterOS LoRa General Properties
Section titled “RouterOS LoRa General Properties”| Configuration Guide | md-clse6 |
|---|---|
| Date | February 13, 2026 |
| RouterOS Version | 7.x+ |
Overview
Section titled “Overview”The LoRa (Long Range) General Properties menu configures MikroTik devices as LoRaWAN gateways. Every RouterBOARD with a miniPCI-e slot supporting LTE modems can function as a LoRaWAN gateway by installing an R11e-LR8 (863-870 MHz) or R11e-LR9 (902-928 MHz) card.
Both UDP and LNS (LoRaWAN Network Server) protocols are supported.
Requirements:
- IoT package installed (available in extra packages)
- R11e-LR8 or R11e-LR9 miniPCIe card
- RouterOS v7.11+ (LoRa functionality moved to IoT package)
Properties
Section titled “Properties”Sub-menu: /iot lora
Basic Settings
Section titled “Basic Settings”| Property | Description |
|---|---|
| name | Name of the LoRaWAN gateway |
| disabled | Whether the gateway is disabled (default: yes) |
| gateway-id | Gateway ID/EUI used when registering with the server |
| servers | Name of server from /iot lora servers section |
Frequency & Network
Section titled “Frequency & Network”| Property | Description |
|---|---|
| channel-plan | Frequency plan: as-923, au-915, custom, eu-868, in-865, kr-920, ru-864, us-915-1, us-915-2 (default: eu-868) |
| network | sync word usage: private or public (default: public) |
Antenna & Power
Section titled “Antenna & Power”| Property | Description |
|---|---|
| antenna-gain | Antenna gain in dBi (-128 to 127, default: 0). Calculate as setup-antenna-gain - cable-loss |
| lbt-enabled | Enable Listen Before Talk protocol (default: no) |
| listen-time | RSSI tracking time in microseconds before TX (default: 5000us) |
| rssi-threshold | RSSI threshold for LBT channel usage (default: -65dB) |
Forwarding
Section titled “Forwarding”| Property | Description |
|---|---|
| forward | Packet forwarding mode: crc-validation, dev-addr-validation, proprietary-traffic |
| src-address | Uplink packet source address |
| spoof-gps | Custom GPS location: latitude, longitude, altitude |
Configuration Examples
Section titled “Configuration Examples”Basic Setup
Section titled “Basic Setup”# Enable LoRa interface/iot lora set [find] disabled=no
# Or using newer syntax (RouterOS v7.11+)/iot lora enable [find]Configure Gateway with Server
Section titled “Configure Gateway with Server”# Set gateway name and ID/iot lora set name=lora-gw1 gateway-id=50313A1234567890
# Select The Things Network server (EU)/iot lora set servers="TTN V3 (eu1)"
# Enable the gateway/iot lora enable [find]Custom Channel Plan
Section titled “Custom Channel Plan”# Set custom frequency plan/iot lora set channel-plan=custom
# View available channels/iot lora channels printServers
Section titled “Servers”Sub-menu: /iot lora servers
Pre-configured servers available:
| Name | Address | Ports |
|---|---|---|
| TTS Cloud (eu1) | eu1.cloud.thethings.industries | 1700/1700 |
| TTS Cloud (nam1) | nam1.cloud.thethings.industries | 1700/1700 |
| TTN V3 (eu1) | eu1.cloud.thethings.network | 1700/1700 |
Server Properties
Section titled “Server Properties”| Property | Description |
|---|---|
| address | Network server domain/IP |
| protocol | UDP, LNS, or CUPS |
| up-port | Uplink port (default: 1700) |
| down-port | Downlink port (default: 1700) |
| port | LNS/CUPS WebSocket port (default: 8887) |
| key | LNS/CUPS authentication key |
| ssl | Enable TLS (requires certificate) |
Adding a Custom Server
Section titled “Adding a Custom Server”# Add custom server with UDP/iot lora servers add name=my-server address=192.168.1.100 protocol=udp
# Add server with LNS (WebSocket)/iot lora servers add name=lns-server address=eu1.example.com protocol=lns key=my-auth-key ssl=yesReset to Default Servers
Section titled “Reset to Default Servers”/iot lora server reset-serversChannels
Section titled “Channels”Sub-menu: /iot lora channels
Channel configuration for custom frequency plans.
| Property | Description |
|---|---|
| bandwidth | 7.8kHz, 15.6kHz, 31.2kHz, 62.5kHz, 125kHz, 250kHz, 500kHz |
| freq-off | Frequency offset against radio center frequency (-400000 to 400000) |
| radio | Which radio: radio0 or radio1 |
| spread-factor | SF7-SF12 (lower = higher data rate) |
| disabled | Enable/disable channel |
View Channels
Section titled “View Channels”/iot lora channels printExample output:
Columns: NAME, TYPE, RADIO, FREQ-OFF, BANDWIDTH, FREQ, SPREAD-FACTOR# NAME TYPE RADIO FREQ-OFF BANDWIDTH FREQ SPREAD-FACTOR0 gateway-0 MSF radio1 -400000 125_kHz 868.11 gateway-0 MSF radio1 -200000 125_kHz 868.32 gateway-0 MSF radio1 0 125_kHz 868.5Join EUI Filtering
Section titled “Join EUI Filtering”Sub-menu: /iot lora joineui
Filter which Join EUIs are forwarded to the server.
| Property | Description |
|---|---|
| joineui | Range of Join EUIs (8 octets in HEX, e.g., E0E1E20102030405) |
| name | Filter name |
| type | blacklist or whitelist |
| logging | Enable filter logging |
Examples
Section titled “Examples”# Block all Join EUIs/iot lora joineui add name=block_all joineuis=0000000000000000-ffffffffffffffff type=blacklist
# Allow specific node only/iot lora joineui add name=my_node joineuis=E0E1E20102030405-E0E1E20102030405 type=whitelist
# Apply to server/iot lora servers set joineui=block_all,my_node [find]NetID Filtering
Section titled “NetID Filtering”Sub-menu: /iot lora netid
Filter packets by Network ID to only forward payloads from specific operators.
| Property | Description |
|---|---|
| netids | NetID range (e.g., 000013-000013) |
| name | Filter name |
| type | blacklist or whitelist |
| logging | Enable filter logging |
Examples
Section titled “Examples”# Allow only TTN (NetID 000013)/iot lora netid add name=ttn_only netids=000013-000013 type=whitelist
# Block all other NetIDs/iot lora netid add name=block_all netids=000000-ffffff type=blacklist
# Apply to server/iot lora servers set netid=ttn_only,block_all [find]Traffic Monitoring
Section titled “Traffic Monitoring”Sub-menu: /iot lora traffic
View received LoRa payloads from surrounding nodes.
# View traffic/iot lora traffic print
# Clear traffic log/iot lora traffic clearExample output:
Columns: TIME, GWID, MSGTYPE, DEVADDR, MVER, FCNT, CRC, TYPE, JOINEUI # TIME GWID MSGTYPE DEVADDR MVER FCNT CRC JOINEUI 0 2024-11-08 13:33:28 xxxxxxxxxxxxxxxx Unconfirmed Data Up 6C B9 XX LoRaWAN R1 59434 Error 1 2024-11-08 13:34:55 xxxxxxxxxxxxxxxx Join-request LoRaWAN R1 A1B1C2D3...Traffic Options
Section titled “Traffic Options”# Discard CRC error packets/iot lora traffic set options=crc-errors
# Limit log entries (10-1024)/iot lora traffic set options=pckt-limit=100Debugging
Section titled “Debugging”Enable Debug Logging
Section titled “Enable Debug Logging”/system/logging/add topics=debug,lora
# View logs/log/printExpected Connection Output
Section titled “Expected Connection Output”13:50:33 lora,info gateway-0 forwarder started13:50:38 lora,info [LNS] connecting to wss://eu1.cloud.thethings.network:8887/router-info13:50:39 lora,info [LNS] eu1.cloud.thethings.network configured13:50:52 lora,info gateway-0 forwarder is readyCommon Issues
Section titled “Common Issues”| Issue | Solution |
|---|---|
| Gateway not connecting | Verify server address and port; check firewall |
| No traffic appearing | Ensure interface is enabled; check antenna connection |
| CRC errors | Check cable quality; verify antenna gain settings |
| LNS connection fails | Verify SSL certificate; check key authentication |
Non-LoRaWAN Setup
Section titled “Non-LoRaWAN Setup”For raw LoRa payloads (without LoRaWAN):
- Remove server configuration from LoRa interface
- Create a script to capture traffic:
# Capture traffic to variable:global traffic;:set traffic [/iot lora traffic print as-value];
# Forward via MQTT or HTTP using /tool/fetchThe script must handle payload decryption server-side - the gateway does not decrypt node data.
Requirements Summary
Section titled “Requirements Summary”- Hardware: R11e-LR8 (863-870 MHz) or R11e-LR9 (902-928 MHz) miniPCIe card
- Software: RouterOS 7.x with IoT package
- Network: Server connectivity (UDP port 1700 or LNS WebSocket port 8887)