From 0df79331b4765ffd1880e2e0f700e9af74f2c7d8 Mon Sep 17 00:00:00 2001
From: Joey Hiller <1965053+jthiller@users.noreply.github.com>
Date: Sat, 6 Jun 2026 22:00:46 -0700
Subject: [PATCH 1/3] Refactor IoT Hotspot onboarding; remove Proof of Coverage
Replace the Data-Only Hotspot and Gateway Fleet sections with one "Onboard a Hotspot" section covering on-device (gateway-rs) and on-a-server (multi-gateway) methods. Add redirects from the old slugs.
---
.../hotspots-iot/data-only-hotspots.mdx | 107 ---------
.../data-only/kerlink-data-only-hotspot.mdx | 20 --
...nboarding.mdx => on-device-onboarding.mdx} | 29 ++-
.../hotspots-iot/onboard-a-hotspot.mdx | 87 ++++++++
.../balena.mdx} | 47 ++--
.../dragino.mdx} | 28 +--
.../packet-forwarders/kerlink.mdx | 20 ++
.../rak-concentrators.mdx | 40 ++--
.../server-onboarding.mdx} | 15 +-
.../server-setup.mdx} | 14 +-
docs/network-iot/run-an-lns/common-issues.mdx | 2 +-
redirects.json | 14 +-
sidebarsDocs.js | 36 +--
static/_redirects | 208 ++++++++++--------
14 files changed, 333 insertions(+), 334 deletions(-)
delete mode 100644 docs/network-iot/hotspots-iot/data-only-hotspots.mdx
delete mode 100644 docs/network-iot/hotspots-iot/data-only/kerlink-data-only-hotspot.mdx
rename docs/network-iot/hotspots-iot/{data-only-onboarding.mdx => on-device-onboarding.mdx} (92%)
create mode 100644 docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx
rename docs/network-iot/hotspots-iot/{data-only/balena-data-only-hotspot.mdx => packet-forwarders/balena.mdx} (75%)
rename docs/network-iot/hotspots-iot/{data-only/dragino-data-only-hotspot.mdx => packet-forwarders/dragino.mdx} (87%)
create mode 100644 docs/network-iot/hotspots-iot/packet-forwarders/kerlink.mdx
rename docs/network-iot/hotspots-iot/{data-only => packet-forwarders}/rak-concentrators.mdx (91%)
rename docs/network-iot/{gateway-fleet-onboarding/gateway-fleet-onboarding.mdx => hotspots-iot/server-onboarding.mdx} (88%)
rename docs/network-iot/{gateway-fleet-onboarding/setup-guide.mdx => hotspots-iot/server-setup.mdx} (96%)
diff --git a/docs/network-iot/hotspots-iot/data-only-hotspots.mdx b/docs/network-iot/hotspots-iot/data-only-hotspots.mdx
deleted file mode 100644
index 1a522656b..000000000
--- a/docs/network-iot/hotspots-iot/data-only-hotspots.mdx
+++ /dev/null
@@ -1,107 +0,0 @@
----
-id: data-only-hotspots
-title: Data-Only Hotspots
-pagination_label: Data-Only Hotspots
-sidebar_label: Introduction
-description:
- Overview of data-only Hotspots on Helium, including architecture, gateway-rs, supported hardware,
- and onboarding fees.
-image: https://docs.helium.com/img/link-image.png
-slug: /iot/data-only-hotspots
----
-
-import useBaseUrl from '@docusaurus/useBaseUrl'
-
-
-
-
-
-Any LoRaWAN gateway can be used to transfer data through the Helium Network. Data-only Hotspots are
-eligible for **network data transfer rewards** but not **Proof-of-Coverage rewards**. This class of
-Hotspot offers a flexible path for companies and organizations looking to leverage the Helium
-Network for their IoT needs.
-
-Since data-only Hotspots do not earn Proof-of-Coverage rewards, they may be permissionlessly added
-to the network. When added to the blockchain, they will earn HNT for transferring network data.
-
-## Basic Architecture
-
-The [gateway-rs](https://github.com/helium/gateway-rs) client backs both data-only Hotspots as well
-as Proof-of-Coverage enabled IoT Hotspots. Gateway-rs is designed to run alongside a packet
-forwarder and handles communications with the Helium Packet Router.
-
-```mermaid
-graph LR;
- subgraph Gateway["Helium-Enabled Gateway (Hotspot)"]
- PacketForwarder["Packet
Forwarder"]
- HeliumGateway["Helium
Gateway-rs"]
-
- PacketForwarder -- "Semtech GWMP
over UDP" --> HeliumGateway
- end
-
- HeliumRouter["Helium
Packet Router"]
- LNS["LoRaWAN
Network Server"]
-
- HeliumGateway -- "gRPC" --> HeliumRouter
- HeliumRouter --> LNS
-```
-
-The articles in this section will outline the 'Gateway' highlighted portion of the above diagram.
-
-### Packet Forwarder
-
-Gateway-rs is designed to interact with the
-[Semtech Packet Forwarder](https://github.com/helium/packet_forwarder). If no packet forwarder is
-installed on the target hardware, follow the manufacturer's instructions using their documentation
-or one of the tutorials below.
-
-- [Dragino LPS8/DLOS8](/iot/data-only/dragino-data-only-hotspot)
-- [RAKwireless Concentrator (RAK2245/RAK2247/RAK2287) + Raspberry Pi](/iot/data-only/rak-concentrators)
- - [Using Balena: RAKwireless RAK2287 Concentrator + Raspberry Pi](/iot/data-only/balena-data-only-hotspot)
-- [RAKwireless WisGate Edge Lite 2](https://github.com/HoBoWAN/Helium-Data-Only-Hotspot/blob/main/README.md)
-- [Seeed Studio SenseCAP M2](https://wiki.seeedstudio.com/Network/SenseCAP_Network/SenseCAP_M2_Data_Only-Helium_gateway/SenseCAP_M2_Data_Only_Quick_Start/)
-
-### Gateway-rs
-
-Gateway-rs is the lightweight client that handles message signing and communications with Helium
-Packet Router, the backbone of the IoT Network.
-
-Gateway-rs is designed to be installed directly adjacent to the packet forwarder on the gateway. For
-the latest releases and build notes, refer to the repository
-[readme](https://github.com/helium/gateway-rs/blob/main/README.md) on GitHub.
-
-For guidance on using gateway-rs, view the
-[Data-Only Hotspot Onboarding](/iot/data-only-hotspots-onboarding) section.
-
-## Transactions & Cost
-
-A data-only Hotspot is capable of transferring network traffic without being onboarded. However,
-rewards for data transfer will not be issued.
-
-To enable the Helium Network to reward a data-only Hotspot for network traffic and to report a
-location, two criteria must be met:
-
-1. The data-only Hotspot must be 'onboarded' to the network.
- The **Add Hotspot** transaction links the Hotspot's key (`swarm_key`) to a user's
- [account](/wallets) and makes the Hotspot known to the network. This allows the Hotspot to be
- rewarded for data transfer.
-1. The specific location of the Hotspot should be declared.
- This allows the network define regional parameters and aids in location-solving for certain
- sensor applications. The **Assert Location** transaction provides the physical location
- (lat/long), elevation (in meters), and antenna EIRP (in dBi) data for the Hotspot. A Hotspot must
- be onboarded before its location can be asserted.
-
-The network fees are as follows:
-
-- **Add Data-Only Hotspot**: 50,000 Data Credits (USD \$0.50)
-- **Assert Location**: 50,000 Data Credits (USD \$0.50)
-
-These fees are paid using [Data Credits](/tokens/data-credit).
-
-Transactions are submitted using the [CLI Wallet](/wallets/cli-wallet). The CLI Wallet should
-**not** be installed on the gateway, doing so could expose account keys to the open internet if the
-gateway is not properly secured. Existing accounts generated using the Helium Wallet App can be
-[imported to the CLI](/wallets/cli-wallet#import-seed-phrase-account-into-cli).
-
-For guidance on submitting these transactions, view the
-[Data-Only Hotspot Onboarding](/iot/data-only-hotspots-onboarding) section.
diff --git a/docs/network-iot/hotspots-iot/data-only/kerlink-data-only-hotspot.mdx b/docs/network-iot/hotspots-iot/data-only/kerlink-data-only-hotspot.mdx
deleted file mode 100644
index 8d4229b88..000000000
--- a/docs/network-iot/hotspots-iot/data-only/kerlink-data-only-hotspot.mdx
+++ /dev/null
@@ -1,20 +0,0 @@
----
-id: kerlink-data-only-hotspot
-title: Kerlink Data-Only Hotspot Tutorial
-pagination_label: Kerlink Data-Only Hotspot Tutorial
-sidebar_label: Kerlink Data-Only Hotspot Tutorial
-description: Links to community guides for running Kerlink gateways as Helium data-only Hotspots.
-image: https://docs.helium.com/img/link-image.png
-slug: /iot/data-only/kerlink-data-only-hotspot
----
-
-Kerlink gateways support running as Data-Only Hotspots on the Helium Network.
-
-Two guides are available depending on the Kerlink OS version:
-
-- For KerOS 5: https://github.com/BenoitDuffez/kerlink-data-only-gateway
-- For KerOS 6: https://gitlab.com/dtuando1/keros-6-helium
-
-Once the Helium client is running on the Kerlink gateway, follow the steps in the
-[Data-Only Hotspot Setup](/iot/data-only-hotspots-onboarding#prepare-the-helium-wallet-cli) guide to
-complete the onboarding of the Hotspot.
diff --git a/docs/network-iot/hotspots-iot/data-only-onboarding.mdx b/docs/network-iot/hotspots-iot/on-device-onboarding.mdx
similarity index 92%
rename from docs/network-iot/hotspots-iot/data-only-onboarding.mdx
rename to docs/network-iot/hotspots-iot/on-device-onboarding.mdx
index 50ea3597e..78fd11251 100644
--- a/docs/network-iot/hotspots-iot/data-only-onboarding.mdx
+++ b/docs/network-iot/hotspots-iot/on-device-onboarding.mdx
@@ -1,34 +1,33 @@
---
-id: data-only-hotspots-onboarding
-title: Data-Only Hotspot Onboarding
-pagination_label: Data-Only Hotspot Onboarding
-sidebar_label: Data-Only Hotspot Onboarding
+id: on-device-onboarding
+title: On-Device Onboarding
+pagination_label: On-Device Onboarding
+sidebar_label: On-Device (gateway-rs)
description:
- Step-by-step guide for onboarding a data-only Hotspot using gateway-rs and the Helium CLI Wallet.
+ Onboard a single Hotspot by running gateway-rs on the gateway and submitting the add and
+ assert-location transactions with the Helium CLI Wallet.
image: https://docs.helium.com/img/link-image.png
-slug: /iot/data-only-hotspots-onboarding
+slug: /iot/onboard-a-hotspot/on-device
---
import useBaseUrl from '@docusaurus/useBaseUrl'
-# Data-Only Hotspot Onboarding
-
-This guide walks through the process of onboarding a Data-Only Hotspot to the Helium Network. The
-onboarding procedure expects a gateway configured with the Semtech Packet Forwarder and Helium
-Gateway-rs.
+This guide onboards a single Hotspot by running gateway-rs directly on the gateway. It assumes the
+gateway already has the Semtech packet forwarder and gateway-rs installed. To onboard a fleet, see
+[server onboarding](/iot/onboard-a-hotspot/server).
## Prerequisites
- LoRaWAN Gateway with Gateway-rs installed.
- Helium Wallet CLI with a funded account imported.
-- Token balances to onboard a Data-Only Hotspot.
+- Token balances to onboard a Hotspot.
- 100,000 ($1) Data Credits (DCs) comprised of
- - 50,000 ($0.50) Data-Only Onboard
- - 50,000 ($0.50) Data-Only Location Assert
+ - 50,000 ($0.50) to add a Hotspot
+ - 50,000 ($0.50) to assert its location
- SOL (Solana's native cryptocurrency) to cover transaction fees (~0.01 Sol)
## Installing Gateway-rs
@@ -292,7 +291,7 @@ Make sure the paying account has at least 50,000 Data Credits available to compl
assert transaction. The transactions take place on the Solana blockchain, so a small amount of SOL
is also required to cover Solana fees.
-Before running the assert command, get the public key from the Data-Only Hotspot.
+Before running the assert command, get the public key from the Hotspot.
```sh
helium_gateway key info
diff --git a/docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx b/docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx
new file mode 100644
index 000000000..02d0e5725
--- /dev/null
+++ b/docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx
@@ -0,0 +1,87 @@
+---
+id: onboard-a-hotspot
+title: Onboard a Hotspot
+pagination_label: Onboard a Hotspot
+sidebar_label: Overview
+description:
+ How to add a LoRaWAN gateway to the Helium IoT Network as a Hotspot — on-device with gateway-rs,
+ or on a server with multi-gateway.
+image: https://docs.helium.com/img/link-image.png
+slug: /iot/onboard-a-hotspot
+---
+
+import useBaseUrl from '@docusaurus/useBaseUrl'
+
+
+
+
+
+Any LoRaWAN gateway can join the Helium IoT Network as a Hotspot and earn HNT for the device data it
+carries. Onboarding is permissionless: link the gateway's key to a wallet and assert its location,
+and it starts earning for the traffic it relays.
+
+## Two ways to onboard
+
+Choose based on how many gateways you're bringing online.
+
+- **On-device with gateway-rs.** Run the lightweight gateway-rs client on the gateway itself, next
+ to its packet forwarder. Best for a single Hotspot or a handful. See
+ [On-Device Onboarding](/iot/onboard-a-hotspot/on-device).
+- **On a server with multi-gateway.** Point many gateways at one server that provisions and manages
+ a key per gateway. Best for fleets. See [Server Onboarding](/iot/onboard-a-hotspot/server).
+
+## Architecture
+
+[gateway-rs](https://github.com/helium/gateway-rs) is a lightweight client that runs on the gateway,
+next to its packet forwarder.
+
+```mermaid
+graph LR;
+ subgraph Gateway["Helium-Enabled Gateway (Hotspot)"]
+ PacketForwarder["Packet
Forwarder"]
+ HeliumGateway["Helium
Gateway-rs"]
+
+ PacketForwarder -- "Semtech GWMP
over UDP" --> HeliumGateway
+ end
+
+ HeliumRouter["Helium
Packet Router"]
+ LNS["LoRaWAN
Network Server"]
+
+ HeliumGateway -- "gRPC" --> HeliumRouter
+ HeliumRouter --> LNS
+```
+
+The packet forwarder sends LoRaWAN packets to gateway-rs over Semtech GWMP. Gateway-rs signs each
+packet and forwards it to the Helium Packet Router, which routes it to a LoRaWAN Network Server
+(LNS). For the latest releases and build notes, see the gateway-rs
+[readme](https://github.com/helium/gateway-rs/blob/main/README.md).
+
+## Packet forwarder setup
+
+Gateway-rs runs alongside a [Semtech packet forwarder](https://github.com/helium/packet_forwarder).
+If the hardware does not already have one, follow a hardware guide below.
+
+- [Dragino LPS8/DLOS8](/iot/packet-forwarders/dragino)
+- [RAKwireless Concentrator (RAK2245/RAK2247/RAK2287) + Raspberry Pi](/iot/packet-forwarders/rak-concentrators)
+ - [Using Balena: RAKwireless RAK2287 Concentrator + Raspberry Pi](/iot/packet-forwarders/balena)
+- [RAKwireless WisGate Edge Lite 2](https://github.com/HoBoWAN/Helium-Data-Only-Hotspot/blob/main/README.md)
+- [Seeed Studio SenseCAP M2](https://wiki.seeedstudio.com/Network/SenseCAP_Network/SenseCAP_M2_Data_Only-Helium_gateway/SenseCAP_M2_Data_Only_Quick_Start/)
+
+## Cost
+
+Two transactions bring a Hotspot online. The **Add Hotspot** transaction links the Hotspot's key
+(`swarm_key`) to a [wallet](/wallets) and makes the Hotspot known to the network. The **Assert
+Location** transaction provides the physical location (lat/long), elevation (in meters), and antenna
+EIRP (in dBi). A Hotspot must be onboarded before its location can be asserted.
+
+- **Add Hotspot**: 50,000 Data Credits (USD \$0.50)
+- **Assert Location**: 50,000 Data Credits (USD \$0.50)
+
+These fees are paid using [Data Credits](/tokens/data-credit).
+
+Transactions are submitted using the [CLI Wallet](/wallets/cli-wallet). The CLI Wallet should
+**not** be installed on the gateway, doing so could expose account keys to the open internet if the
+gateway is not properly secured. Existing accounts generated using the Helium Wallet App can be
+[imported to the CLI](/wallets/cli-wallet#import-seed-phrase-account-into-cli).
+
+For the step-by-step, see [On-Device Onboarding](/iot/onboard-a-hotspot/on-device).
diff --git a/docs/network-iot/hotspots-iot/data-only/balena-data-only-hotspot.mdx b/docs/network-iot/hotspots-iot/packet-forwarders/balena.mdx
similarity index 75%
rename from docs/network-iot/hotspots-iot/data-only/balena-data-only-hotspot.mdx
rename to docs/network-iot/hotspots-iot/packet-forwarders/balena.mdx
index 002f692f7..9855b3fe3 100644
--- a/docs/network-iot/hotspots-iot/data-only/balena-data-only-hotspot.mdx
+++ b/docs/network-iot/hotspots-iot/packet-forwarders/balena.mdx
@@ -1,24 +1,21 @@
---
-id: balena-data-only-hotspot
-title: Data-Only Hotspot with balena + Raspberry Pi + RAK Concentrator RAK2287
-pagination_label: Balena Data-Only Tutorial
-sidebar_label: Balena Data-Only Tutorial
+id: balena
+title: balena + Raspberry Pi + RAK2287
+pagination_label: balena Tutorial
+sidebar_label: balena + Raspberry Pi
description:
- Guide to building a Helium data-only Hotspot using a Raspberry Pi, RAK2287 concentrator, and
+ Guide to building a Helium IoT Hotspot using a Raspberry Pi, RAK2287 concentrator, and
balenaCloud.
image: https://docs.helium.com/img/link-image.png
-slug: /iot/data-only/balena-data-only-hotspot
+slug: /iot/packet-forwarders/balena
---
-# Data-Only Hotspot Setup with balena + Raspberry Pi + RAK2287
-
import useBaseUrl from '@docusaurus/useBaseUrl'
-A data-only Hotspot is a type of Hotspot that participates on the Helium Network by transferring
-data from the end devices (LoRaWAN nodes). The data-only Hotspots are eligible for network data
-transfer rewards but not Proof-of-Coverage rewards.
+A Helium IoT Hotspot transfers data from nearby LoRaWAN devices and earns HNT for that traffic. This
+guide builds one with a Raspberry Pi and a RAK2287 concentrator on balena.
-This guide covers all the steps needed to set up a data-only Hotspot using a Raspberry Pi and a RAK
+This guide covers all the steps needed to set up a Hotspot using a Raspberry Pi and a RAK
concentrator (RAK2287) and the Pi Hat running on balena. This configuration can be achieved by
installing the **_gatewayrs_** and **_packet forwarder_** services open sourced by
[Nebra](https://github.com/nebraltd) and using balenaOS and [balenaCloud](https://balena.io).
@@ -46,8 +43,8 @@ with the SPI interface.
## Deploy the code
-Running this data-only Hotspot with balena.io is as simple as deploying it to a balenaCloud
-application. You can do it in just one click by using the button below:
+Run this Hotspot with balena.io by deploying it to a balenaCloud application. You can do it in one
+click by using the button below:
[](https://dashboard.balena-cloud.com/deploy?repoUrl=https://github.com/mpous/helium-data-hotspot)
@@ -73,7 +70,7 @@ downloaded and installed, go to `Device Variables`.
- Create the variable for all the services `REGION_OVERRIDE` with your LoRa region (e.g. `EU868`).
You can find a list of LoRa regions compatible on [GitHub](https://github.com/NebraLtd/hm-pktfwd).
-### Test the Helium Data-Only Hotspot
+### Test the Hotspot
Once the Device Variables are properly set up, the Hotspot should be running showing some errors on
connecting to the network on the balenaCloud Logs.
@@ -87,24 +84,24 @@ And you will get something like this:
`{ "address": , "name": }`
-At this point, your data-only Hotspot is ready to join the Helium IoT Network.
+At this point, your Hotspot is ready to join the Helium IoT Network.
-### Join the Helium IoT Network with your Data-Only Hotspot
+### Join the Helium IoT Network
To join the Helium IoT Network, at the moment only the Helium CLI Wallet can be used. The Helium
-Wallet App is still not compatible with the data-only Hotspots. Follow
+Wallet App is still not compatible. Follow
[these instructions](https://github.com/mpous/helium-data-hotspot/#join-the-helium-blockchain-with-your-data-only-hotspot)
-to add your data-only Hotspot on the Helium IoT Network.
+to add your Hotspot on the Helium IoT Network.
-## Check the Data-Only Hotspot
+## Check the Hotspot
-Now that the data-only Hotspot has been added to the Helium IoT Network it should be visible in the
-Helium Wallet.
+Now that the Hotspot has been added to the Helium IoT Network it should be visible in the Helium
+Wallet.
If you create a Helium Device, then go to the [Helium Console](https://console.helium.com) and
-Inspect packages from your device to confirm that the data-only Hotspot is the one that relays the
-data from your Devices. You also will be able to see on the balenaCloud logs that UPLINK messages
-have been relayed to the Helium OUI.
+Inspect packages from your device to confirm that the Hotspot is the one that relays the data from
+your Devices. You also will be able to see on the balenaCloud logs that UPLINK messages have been
+relayed to the Helium OUI.
## Manage your gateway_key
diff --git a/docs/network-iot/hotspots-iot/data-only/dragino-data-only-hotspot.mdx b/docs/network-iot/hotspots-iot/packet-forwarders/dragino.mdx
similarity index 87%
rename from docs/network-iot/hotspots-iot/data-only/dragino-data-only-hotspot.mdx
rename to docs/network-iot/hotspots-iot/packet-forwarders/dragino.mdx
index ef30e410f..85b4164ab 100644
--- a/docs/network-iot/hotspots-iot/data-only/dragino-data-only-hotspot.mdx
+++ b/docs/network-iot/hotspots-iot/packet-forwarders/dragino.mdx
@@ -1,15 +1,13 @@
---
-id: dragino-data-only-hotspot
-title: Dragino LPS80/DLOS8 Data-Only Tutorial
-pagination_label: Dragino Data-Only Tutorial
-sidebar_label: Dragino Data-Only Tutorial
-description: How to configure a Dragino LPS8 or DLOS8 gateway as a Helium IoT data-only Hotspot.
+id: dragino
+title: Dragino LPS8/DLOS8
+pagination_label: Dragino
+sidebar_label: Dragino LPS8/DLOS8
+description: How to configure a Dragino LPS8 or DLOS8 gateway as a Helium IoT Hotspot.
image: https://docs.helium.com/img/link-image.png
-slug: /iot/data-only/dragino-data-only-hotspot
+slug: /iot/packet-forwarders/dragino
---
-# Dragino LoRaWAN Gateway Setup
-
import useBaseUrl from '@docusaurus/useBaseUrl'
import { YouTube } from 'mdx-embed'
@@ -118,15 +116,13 @@ configured correctly. By default, the LoRaWAN Server settings are configured for
which will also provide acknowledgment. However, the absence of acknowledgment could indicate that
the LoRaWAN settings are not correct per the above.
-## Onboard as Data-Only Hotspot
+## Onboard the Hotspot
-As part of the Hotspot project, a new class of Hotspots called "Data-Only Hotspots" can be added to
-the Helium IoT Network, meaning Dragino LPS80/DLOS8 Hotspots can be added to the network. These
-data-only Hotspots reward IOT tokens for transferring data but never for Proof-of-Coverage. This
-onboarding process will require using the [Helium CLI Wallet](/wallets/cli-wallet/) to submit the
-onboarding and assert location transactions. See
-[Prepare the Helium Wallet CLI and further information](/iot/data-only-hotspots-onboarding#prepare-the-helium-wallet-cli)
-for specific details on Hotspot onboarding.
+Once the gateway is forwarding packets, add it to the Helium IoT Network as a Hotspot. Onboarding
+uses the [Helium CLI Wallet](/wallets/cli-wallet/) to submit the add and assert-location
+transactions. See the
+[on-device onboarding guide](/iot/onboard-a-hotspot/on-device#prepare-the-helium-wallet-cli) for the
+full walkthrough.
### Video Guide for Setup
diff --git a/docs/network-iot/hotspots-iot/packet-forwarders/kerlink.mdx b/docs/network-iot/hotspots-iot/packet-forwarders/kerlink.mdx
new file mode 100644
index 000000000..88f43ab77
--- /dev/null
+++ b/docs/network-iot/hotspots-iot/packet-forwarders/kerlink.mdx
@@ -0,0 +1,20 @@
+---
+id: kerlink
+title: Kerlink Gateways
+pagination_label: Kerlink
+sidebar_label: Kerlink
+description: Community guides for running Kerlink gateways as Helium IoT Hotspots.
+image: https://docs.helium.com/img/link-image.png
+slug: /iot/packet-forwarders/kerlink
+---
+
+Kerlink gateways can run as Hotspots on the Helium IoT Network.
+
+Two guides are available depending on the Kerlink OS version:
+
+- For KerOS 5: https://github.com/BenoitDuffez/kerlink-data-only-gateway
+- For KerOS 6: https://gitlab.com/dtuando1/keros-6-helium
+
+Once the Helium client is running on the Kerlink gateway, follow the steps in the
+[on-device onboarding](/iot/onboard-a-hotspot/on-device#prepare-the-helium-wallet-cli) guide to
+complete the onboarding of the Hotspot.
diff --git a/docs/network-iot/hotspots-iot/data-only/rak-concentrators.mdx b/docs/network-iot/hotspots-iot/packet-forwarders/rak-concentrators.mdx
similarity index 91%
rename from docs/network-iot/hotspots-iot/data-only/rak-concentrators.mdx
rename to docs/network-iot/hotspots-iot/packet-forwarders/rak-concentrators.mdx
index 5cdd52ba3..690862c47 100644
--- a/docs/network-iot/hotspots-iot/data-only/rak-concentrators.mdx
+++ b/docs/network-iot/hotspots-iot/packet-forwarders/rak-concentrators.mdx
@@ -1,21 +1,19 @@
---
id: rak-concentrators
-title: RAK Concentrator + Raspberry Pi Data-Only Tutorial
-pagination_label: RAK Concentrator Data-Only Tutorial
-sidebar_label: RAK Concentrator Data-Only Tutorial
+title: RAK Concentrator + Raspberry Pi
+pagination_label: RAK Concentrator
+sidebar_label: RAK Concentrator
description:
- Guide for setting up a RAKwireless concentrator with a Raspberry Pi as a Helium data-only Hotspot.
+ Guide for setting up a RAKwireless concentrator with a Raspberry Pi as a Helium IoT Hotspot.
image: https://docs.helium.com/img/link-image.png
-slug: /iot/data-only/rak-concentrators
+slug: /iot/packet-forwarders/rak-concentrators
---
-# Data-Only Hotspot Setup with RAKwireless Concentrator + Raspberry Pi
-
import useBaseUrl from '@docusaurus/useBaseUrl'
import { YouTube } from 'mdx-embed'
-This guide covers the steps needed to set up a Data-Only Hotspot using a WisLink RAK LPWAN
-concentrator module and a Raspberry Pi.
+This guide covers the steps needed to set up a Hotspot using a WisLink RAK LPWAN concentrator module
+and a Raspberry Pi.
## Requirements
@@ -40,9 +38,9 @@ with the SPI interface.
## Packet Forwarder Preparation
-To prepare the hardware to become a Helium Data-Only Hotspot, it first must be configured to handle
-LoRaWAN messages. To get started, install an operating system and set up the packet forwarder as
-outlined in one of the two options below.
+To prepare the hardware to become a Helium Hotspot, it first must be configured to handle LoRaWAN
+messages. To get started, install an operating system and set up the packet forwarder as outlined in
+one of the two options below.
LoRaWAN gateways are generally 'headless' computers. The
[Raspberry Pi Headless](https://www.raspberrypi.com/documentation/computers/configuration.html#setting-up-a-headless-raspberry-pi)
@@ -308,7 +306,7 @@ commands to test and monitor.
The region configuration for gateway-rs is a default. The on-chain asserted location of the Gateway
will override the definition in `settings.toml`. Updating the region in settings is optional as long
-as the Data-Only Hotspot location is asserted..
+as the Hotspot location is asserted.
## Verifying the Installation
@@ -321,9 +319,9 @@ following command:
sudo tail -f /var/log/syslog | grep helium_gateway
```
-### Getting some Information about the Data-Only Hotspot
+### Get Information About the Hotspot
-Use the following command to get the public key address and animal name of your Data-Only Hotspot:
+Use the following command to get the public key address and animal name of your Hotspot:
```
./helium_gateway -c ~/settings.toml key info
@@ -341,9 +339,9 @@ This command should give you an output like the following one:
#### Backup the gateway_key
-The `gateway_key.bin` file stores the information used to identify the Data-Only Hotspot on the
-Helium IoT Network. It's highly advised to backup this file, especially if you need to recover it
-later after the onboarding process.
+The `gateway_key.bin` file stores the information used to identify the Hotspot on the Helium IoT
+Network. It's highly advised to backup this file, especially if you need to recover it later after
+the onboarding process.
Using SCP could be an option to do the backup; that would be something like this:
@@ -354,10 +352,10 @@ scp pi@:/etc/helium_gateway/gateway_key.bin
If using Windows, a tool like [WinSCP](https://winscp.net/eng/index.php) will enable this
functionality.
-## Onboard the Data-Only Hotspot
+## Onboard the Hotspot
-Refer to the [Data-Only Hotspot Onboarding](/iot/data-only-hotspots-onboarding) section to complete
-the onboarding of the fully-configured Data-Only Hotspot.
+Refer to the [on-device onboarding guide](/iot/onboard-a-hotspot/on-device) section to complete the
+onboarding of the fully-configured Hotspot.
## Video Guide for Setup
diff --git a/docs/network-iot/gateway-fleet-onboarding/gateway-fleet-onboarding.mdx b/docs/network-iot/hotspots-iot/server-onboarding.mdx
similarity index 88%
rename from docs/network-iot/gateway-fleet-onboarding/gateway-fleet-onboarding.mdx
rename to docs/network-iot/hotspots-iot/server-onboarding.mdx
index bf5ff6016..027121d27 100644
--- a/docs/network-iot/gateway-fleet-onboarding/gateway-fleet-onboarding.mdx
+++ b/docs/network-iot/hotspots-iot/server-onboarding.mdx
@@ -1,13 +1,13 @@
---
-id: gateway-fleet-onboarding
-title: Gateway Fleet Onboarding
-pagination_label: Gateway Fleet Onboarding
-sidebar_label: Overview
+id: server-onboarding
+title: Server Onboarding
+pagination_label: Server Onboarding
+sidebar_label: On a Server (multi-gateway)
description: >-
Aggregate multiple LoRaWAN gateways behind a single multi-gateway server that manages keypairs and
- routes packets through the Helium network.
+ routes packets through the Helium network. Best for fleets.
image: https://docs.helium.com/img/link-image.png
-slug: /iot/gateway-fleet-onboarding
+slug: /iot/onboard-a-hotspot/server
---
import useBaseUrl from '@docusaurus/useBaseUrl'
@@ -20,6 +20,9 @@ multiple LoRaWAN gateways using the Semtech UDP (GWMP) protocol. It automaticall
keypair for each gateway on first connection and maintains a dedicated gRPC stream to the Helium
packet router per gateway. Each gateway appears as an independent Hotspot on the Helium network.
+Running multi-gateway on a server is how you onboard a fleet of Hotspots from one place. To set up a
+single Hotspot instead, see [on-device onboarding](/iot/onboard-a-hotspot/on-device).
+
This enables operators to manage fleets of Hotspots from a single server, with centralized key
management, monitoring, and a REST API for integration.
diff --git a/docs/network-iot/gateway-fleet-onboarding/setup-guide.mdx b/docs/network-iot/hotspots-iot/server-setup.mdx
similarity index 96%
rename from docs/network-iot/gateway-fleet-onboarding/setup-guide.mdx
rename to docs/network-iot/hotspots-iot/server-setup.mdx
index 7d75b7285..f53dca00e 100644
--- a/docs/network-iot/gateway-fleet-onboarding/setup-guide.mdx
+++ b/docs/network-iot/hotspots-iot/server-setup.mdx
@@ -1,13 +1,13 @@
---
-id: gateway-fleet-onboarding-setup
-title: Multi-Gateway Setup Guide
-pagination_label: Setup Guide
-sidebar_label: Setup Guide
+id: server-setup
+title: Multi-Gateway Server Setup
+pagination_label: Server Setup
+sidebar_label: Server Setup
description: >-
- Step-by-step guide to install, configure, and run the Helium multi-gateway aggregator server for
- LoRaWAN gateways.
+ Step-by-step guide to install, configure, and run the Helium multi-gateway server for LoRaWAN
+ gateways.
image: https://docs.helium.com/img/link-image.png
-slug: /iot/gateway-fleet-onboarding/setup
+slug: /iot/onboard-a-hotspot/server-setup
---
## Prerequisites
diff --git a/docs/network-iot/run-an-lns/common-issues.mdx b/docs/network-iot/run-an-lns/common-issues.mdx
index 5eec52d4b..03de346ac 100644
--- a/docs/network-iot/run-an-lns/common-issues.mdx
+++ b/docs/network-iot/run-an-lns/common-issues.mdx
@@ -51,7 +51,7 @@ As outlined in the [Understanding Max Copies](/iot/run-an-lns/advanced-configura
section, join performance can be improved with max copies setting.
If RSSI/SNR values continue to be low even after the max copies setting, it may be necessary to
-deploy additional coverage. Review the [data-only Hotspot](/iot/data-only-hotspots) guides for steps
+deploy additional coverage. Review the [Hotspot onboarding](/iot/onboard-a-hotspot) guides for steps
on adding Helium functionality to any existing LoRaWAN gateway.
## Device able to join but not uplink
diff --git a/redirects.json b/redirects.json
index 225ee6a50..dd2950b98 100644
--- a/redirects.json
+++ b/redirects.json
@@ -3,8 +3,16 @@
{ "from": "/tokens", "to": "/tokens/hnt-token" },
{ "from": "/wallets/ledger", "to": "/wallets/ledger-wallet" },
{ "from": "/wallets/app-wallet/transaction-failures", "to": "/wallets/helium-wallet-app" },
- { "from": "/hotspot-makers/iot/data-only-hotspots", "to": "/iot/data-only-hotspots" },
- { "from": "/mine-hnt/data-only-hotspots", "to": "/iot/data-only-hotspots" },
+ { "from": "/hotspot-makers/iot/data-only-hotspots", "to": "/iot/onboard-a-hotspot" },
+ { "from": "/mine-hnt/data-only-hotspots", "to": "/iot/onboard-a-hotspot" },
+ { "from": "/iot/data-only-hotspots", "to": "/iot/onboard-a-hotspot" },
+ { "from": "/iot/data-only-hotspots-onboarding", "to": "/iot/onboard-a-hotspot/on-device" },
+ { "from": "/iot/gateway-fleet-onboarding", "to": "/iot/onboard-a-hotspot/server" },
+ { "from": "/iot/gateway-fleet-onboarding/setup", "to": "/iot/onboard-a-hotspot/server-setup" },
+ { "from": "/iot/data-only/dragino-data-only-hotspot", "to": "/iot/packet-forwarders/dragino" },
+ { "from": "/iot/data-only/rak-concentrators", "to": "/iot/packet-forwarders/rak-concentrators" },
+ { "from": "/iot/data-only/balena-data-only-hotspot", "to": "/iot/packet-forwarders/balena" },
+ { "from": "/iot/data-only/kerlink-data-only-hotspot", "to": "/iot/packet-forwarders/kerlink" },
{ "from": "/data-credit", "to": "/tokens/data-credit" },
{ "from": "/data-credit-portal", "to": "/tokens/data-credit-portal" },
{ "from": "/helium-tokens/hnt", "to": "/tokens/hnt-token" },
@@ -34,7 +42,7 @@
{ "from": "/mobile/data-only-Cisco-WLC-5520", "to": "/mobile/helium-plus-Cisco-WLC-5520" },
{ "from": "/iot/coverage-mapping", "to": "/iot/lorawan-network-servers" },
{ "from": "/api/blockchain/introduction", "to": "/network-data/legacy-blockchain-data" },
- { "from": "/hotspot-makers", "to": "/iot/data-only-hotspots" },
+ { "from": "/hotspot-makers", "to": "/iot/onboard-a-hotspot" },
{ "from": "/troubleshooting/network-troubleshooting", "to": "https://hardware.hellohelium.com/" },
{ "from": "/troubleshooting/replace-sd-card", "to": "https://hardware.hellohelium.com/" },
{ "from": "/iot/denylist", "to": "/iot/lorawan-network-servers" },
diff --git a/sidebarsDocs.js b/sidebarsDocs.js
index dcc489c57..d1a07ee71 100644
--- a/sidebarsDocs.js
+++ b/sidebarsDocs.js
@@ -107,26 +107,28 @@ module.exports = {
{
type: 'category',
- label: 'Data-Only Hotspots',
- link: { type: 'doc', id: 'network-iot/hotspots-iot/data-only-hotspots' },
+ label: 'Onboard a Hotspot',
+ link: { type: 'doc', id: 'network-iot/hotspots-iot/onboard-a-hotspot' },
items: [
- 'network-iot/hotspots-iot/data-only-hotspots',
- 'network-iot/hotspots-iot/data-only-hotspots-onboarding',
- 'network-iot/hotspots-iot/data-only/balena-data-only-hotspot',
- 'network-iot/hotspots-iot/data-only/dragino-data-only-hotspot',
- 'network-iot/hotspots-iot/data-only/kerlink-data-only-hotspot',
- 'network-iot/hotspots-iot/data-only/rak-concentrators',
+ 'network-iot/hotspots-iot/on-device-onboarding',
+ {
+ type: 'category',
+ label: 'On a Server (multi-gateway)',
+ link: { type: 'doc', id: 'network-iot/hotspots-iot/server-onboarding' },
+ items: ['network-iot/hotspots-iot/server-setup'],
+ },
+ {
+ type: 'category',
+ label: 'Packet Forwarder Setup',
+ items: [
+ 'network-iot/hotspots-iot/packet-forwarders/dragino',
+ 'network-iot/hotspots-iot/packet-forwarders/rak-concentrators',
+ 'network-iot/hotspots-iot/packet-forwarders/balena',
+ 'network-iot/hotspots-iot/packet-forwarders/kerlink',
+ ],
+ },
],
},
- {
- type: 'category',
- label: 'Gateway Fleet Onboarding',
- link: {
- type: 'doc',
- id: 'network-iot/gateway-fleet-onboarding/gateway-fleet-onboarding',
- },
- items: ['network-iot/gateway-fleet-onboarding/gateway-fleet-onboarding-setup'],
- },
],
collapsed: true,
},
diff --git a/static/_redirects b/static/_redirects
index 2af7eab56..621dd26e4 100644
--- a/static/_redirects
+++ b/static/_redirects
@@ -15,103 +15,119 @@
# ---------------------------------------------------------------------------
# --- Exact redirects (listed in both slash forms) --------------------------
-/tokens /tokens/hnt-token 301
-/tokens/ /tokens/hnt-token 301
-/wallets/ledger /wallets/ledger-wallet 301
-/wallets/ledger/ /wallets/ledger-wallet 301
-/wallets/app-wallet/transaction-failures /wallets/helium-wallet-app 301
-/wallets/app-wallet/transaction-failures/ /wallets/helium-wallet-app 301
-/hotspot-makers/iot/data-only-hotspots /iot/data-only-hotspots 301
-/hotspot-makers/iot/data-only-hotspots/ /iot/data-only-hotspots 301
-/mine-hnt/data-only-hotspots /iot/data-only-hotspots 301
-/mine-hnt/data-only-hotspots/ /iot/data-only-hotspots 301
-/data-credit /tokens/data-credit 301
-/data-credit/ /tokens/data-credit 301
-/data-credit-portal /tokens/data-credit-portal 301
-/data-credit-portal/ /tokens/data-credit-portal 301
-/helium-tokens/hnt /tokens/hnt-token 301
-/helium-tokens/hnt/ /tokens/hnt-token 301
-/hnt-token /tokens/hnt-token 301
-/hnt-token/ /tokens/hnt-token 301
-/blockchain/helium-token /tokens/hnt-token 301
-/blockchain/helium-token/ /tokens/hnt-token 301
-/blockchain/hnt-token /tokens/hnt-token 301
-/blockchain/hnt-token/ /tokens/hnt-token 301
-/iot/run-a-lns /iot/run-an-lns 301
-/iot/run-a-lns/ /iot/run-an-lns 301
-/iot/buy-an-oui /iot/run-an-lns/buy-an-oui 301
-/iot/buy-an-oui/ /iot/run-an-lns/buy-an-oui 301
-/iot/open-lns /iot/lorawan-network-servers 301
-/iot/open-lns/ /iot/lorawan-network-servers 301
-/console/hosting-providers /iot/find-a-lns-provider 301
-/console/hosting-providers/ /iot/find-a-lns-provider 301
-/find-a-lns-provider /iot/find-a-lns-provider 301
-/find-a-lns-provider/ /iot/find-a-lns-provider 301
-/solana/migration/wallet-user /wallets/l1-migrate 301
-/solana/migration/wallet-user/ /wallets/l1-migrate 301
-/mobile/data-only-mobile /mobile/helium-plus-mobile 301
-/mobile/data-only-mobile/ /mobile/helium-plus-mobile 301
-/mobile/data-only-aruba /mobile/helium-plus-aruba 301
-/mobile/data-only-aruba/ /mobile/helium-plus-aruba 301
-/mobile/data-only-fortinet /mobile/helium-plus-fortinet 301
-/mobile/data-only-fortinet/ /mobile/helium-plus-fortinet 301
-/mobile/data-only-juniper-mist /mobile/helium-plus-juniper-mist 301
-/mobile/data-only-juniper-mist/ /mobile/helium-plus-juniper-mist 301
-/mobile/data-only-meraki /mobile/helium-plus-meraki 301
-/mobile/data-only-meraki/ /mobile/helium-plus-meraki 301
-/mobile/data-only-mikrotik /mobile/helium-plus-mikrotik 301
-/mobile/data-only-mikrotik/ /mobile/helium-plus-mikrotik 301
-/mobile/data-only-ruckus /mobile/helium-plus-ruckus 301
-/mobile/data-only-ruckus/ /mobile/helium-plus-ruckus 301
-/mobile/data-only-ubiquiti /mobile/helium-plus-ubiquiti 301
-/mobile/data-only-ubiquiti/ /mobile/helium-plus-ubiquiti 301
-/mobile/data-only-generic /mobile/helium-plus-generic 301
-/mobile/data-only-generic/ /mobile/helium-plus-generic 301
-/mobile/helium-plus-onboarding /mobile/wifi-conversion-onboarding 301
-/mobile/helium-plus-onboarding/ /mobile/wifi-conversion-onboarding 301
-/mobile/data-only-onboarding /mobile/wifi-conversion-onboarding 301
-/mobile/data-only-onboarding/ /mobile/wifi-conversion-onboarding 301
-/mobile/data-only-radsecproxy /mobile/helium-plus-radsecproxy 301
-/mobile/data-only-radsecproxy/ /mobile/helium-plus-radsecproxy 301
-/mobile/data-only-cambium-cnmaestro /mobile/helium-plus-cambium-cnmaestro 301
-/mobile/data-only-cambium-cnmaestro/ /mobile/helium-plus-cambium-cnmaestro 301
-/mobile/data-only-Cisco-WLC-9800 /mobile/helium-plus-Cisco-WLC-9800 301
-/mobile/data-only-Cisco-WLC-9800/ /mobile/helium-plus-Cisco-WLC-9800 301
-/mobile/data-only-Cisco-WLC-5520 /mobile/helium-plus-Cisco-WLC-5520 301
-/mobile/data-only-Cisco-WLC-5520/ /mobile/helium-plus-Cisco-WLC-5520 301
-/iot/coverage-mapping /iot/lorawan-network-servers 301
-/iot/coverage-mapping/ /iot/lorawan-network-servers 301
-/api/blockchain/introduction /network-data/legacy-blockchain-data 301
-/api/blockchain/introduction/ /network-data/legacy-blockchain-data 301
-/hotspot-makers /iot/data-only-hotspots 301
-/hotspot-makers/ /iot/data-only-hotspots 301
-/troubleshooting/network-troubleshooting https://hardware.hellohelium.com/ 301
-/troubleshooting/network-troubleshooting/ https://hardware.hellohelium.com/ 301
-/troubleshooting/replace-sd-card https://hardware.hellohelium.com/ 301
-/troubleshooting/replace-sd-card/ https://hardware.hellohelium.com/ 301
-/iot/denylist /iot/lorawan-network-servers 301
-/iot/denylist/ /iot/lorawan-network-servers 301
-/console/integrations/json-schema /iot/lorawan-network-servers 301
-/console/integrations/json-schema/ /iot/lorawan-network-servers 301
-/tokens/mobile-token /tokens/hnt-token 301
-/tokens/mobile-token/ /tokens/hnt-token 301
-/wallets/app-wallet/transfer-hotspot /wallets/helium-wallet-app 301
-/wallets/app-wallet/transfer-hotspot/ /wallets/helium-wallet-app 301
-/iot/lorawan-region-plans /iot/lorawan-network-servers 301
-/iot/lorawan-region-plans/ /iot/lorawan-network-servers 301
-/blockchain/mining /tokens/hnt-token 301
-/blockchain/mining/ /tokens/hnt-token 301
-/iot/lorawan-frequency-plans /iot/lorawan-network-servers 301
-/iot/lorawan-frequency-plans/ /iot/lorawan-network-servers 301
-/console /iot/lorawan-network-servers 301
-/console/ /iot/lorawan-network-servers 301
-/faq/helium-network / 301
-/faq/helium-network/ / 301
+/tokens /tokens/hnt-token 301
+/tokens/ /tokens/hnt-token 301
+/wallets/ledger /wallets/ledger-wallet 301
+/wallets/ledger/ /wallets/ledger-wallet 301
+/wallets/app-wallet/transaction-failures /wallets/helium-wallet-app 301
+/wallets/app-wallet/transaction-failures/ /wallets/helium-wallet-app 301
+/hotspot-makers/iot/data-only-hotspots /iot/onboard-a-hotspot 301
+/hotspot-makers/iot/data-only-hotspots/ /iot/onboard-a-hotspot 301
+/mine-hnt/data-only-hotspots /iot/onboard-a-hotspot 301
+/mine-hnt/data-only-hotspots/ /iot/onboard-a-hotspot 301
+/iot/data-only-hotspots /iot/onboard-a-hotspot 301
+/iot/data-only-hotspots/ /iot/onboard-a-hotspot 301
+/iot/data-only-hotspots-onboarding /iot/onboard-a-hotspot/on-device 301
+/iot/data-only-hotspots-onboarding/ /iot/onboard-a-hotspot/on-device 301
+/iot/gateway-fleet-onboarding /iot/onboard-a-hotspot/server 301
+/iot/gateway-fleet-onboarding/ /iot/onboard-a-hotspot/server 301
+/iot/gateway-fleet-onboarding/setup /iot/onboard-a-hotspot/server-setup 301
+/iot/gateway-fleet-onboarding/setup/ /iot/onboard-a-hotspot/server-setup 301
+/iot/data-only/dragino-data-only-hotspot /iot/packet-forwarders/dragino 301
+/iot/data-only/dragino-data-only-hotspot/ /iot/packet-forwarders/dragino 301
+/iot/data-only/rak-concentrators /iot/packet-forwarders/rak-concentrators 301
+/iot/data-only/rak-concentrators/ /iot/packet-forwarders/rak-concentrators 301
+/iot/data-only/balena-data-only-hotspot /iot/packet-forwarders/balena 301
+/iot/data-only/balena-data-only-hotspot/ /iot/packet-forwarders/balena 301
+/iot/data-only/kerlink-data-only-hotspot /iot/packet-forwarders/kerlink 301
+/iot/data-only/kerlink-data-only-hotspot/ /iot/packet-forwarders/kerlink 301
+/data-credit /tokens/data-credit 301
+/data-credit/ /tokens/data-credit 301
+/data-credit-portal /tokens/data-credit-portal 301
+/data-credit-portal/ /tokens/data-credit-portal 301
+/helium-tokens/hnt /tokens/hnt-token 301
+/helium-tokens/hnt/ /tokens/hnt-token 301
+/hnt-token /tokens/hnt-token 301
+/hnt-token/ /tokens/hnt-token 301
+/blockchain/helium-token /tokens/hnt-token 301
+/blockchain/helium-token/ /tokens/hnt-token 301
+/blockchain/hnt-token /tokens/hnt-token 301
+/blockchain/hnt-token/ /tokens/hnt-token 301
+/iot/run-a-lns /iot/run-an-lns 301
+/iot/run-a-lns/ /iot/run-an-lns 301
+/iot/buy-an-oui /iot/run-an-lns/buy-an-oui 301
+/iot/buy-an-oui/ /iot/run-an-lns/buy-an-oui 301
+/iot/open-lns /iot/lorawan-network-servers 301
+/iot/open-lns/ /iot/lorawan-network-servers 301
+/console/hosting-providers /iot/find-a-lns-provider 301
+/console/hosting-providers/ /iot/find-a-lns-provider 301
+/find-a-lns-provider /iot/find-a-lns-provider 301
+/find-a-lns-provider/ /iot/find-a-lns-provider 301
+/solana/migration/wallet-user /wallets/l1-migrate 301
+/solana/migration/wallet-user/ /wallets/l1-migrate 301
+/mobile/data-only-mobile /mobile/helium-plus-mobile 301
+/mobile/data-only-mobile/ /mobile/helium-plus-mobile 301
+/mobile/data-only-aruba /mobile/helium-plus-aruba 301
+/mobile/data-only-aruba/ /mobile/helium-plus-aruba 301
+/mobile/data-only-fortinet /mobile/helium-plus-fortinet 301
+/mobile/data-only-fortinet/ /mobile/helium-plus-fortinet 301
+/mobile/data-only-juniper-mist /mobile/helium-plus-juniper-mist 301
+/mobile/data-only-juniper-mist/ /mobile/helium-plus-juniper-mist 301
+/mobile/data-only-meraki /mobile/helium-plus-meraki 301
+/mobile/data-only-meraki/ /mobile/helium-plus-meraki 301
+/mobile/data-only-mikrotik /mobile/helium-plus-mikrotik 301
+/mobile/data-only-mikrotik/ /mobile/helium-plus-mikrotik 301
+/mobile/data-only-ruckus /mobile/helium-plus-ruckus 301
+/mobile/data-only-ruckus/ /mobile/helium-plus-ruckus 301
+/mobile/data-only-ubiquiti /mobile/helium-plus-ubiquiti 301
+/mobile/data-only-ubiquiti/ /mobile/helium-plus-ubiquiti 301
+/mobile/data-only-generic /mobile/helium-plus-generic 301
+/mobile/data-only-generic/ /mobile/helium-plus-generic 301
+/mobile/helium-plus-onboarding /mobile/wifi-conversion-onboarding 301
+/mobile/helium-plus-onboarding/ /mobile/wifi-conversion-onboarding 301
+/mobile/data-only-onboarding /mobile/wifi-conversion-onboarding 301
+/mobile/data-only-onboarding/ /mobile/wifi-conversion-onboarding 301
+/mobile/data-only-radsecproxy /mobile/helium-plus-radsecproxy 301
+/mobile/data-only-radsecproxy/ /mobile/helium-plus-radsecproxy 301
+/mobile/data-only-cambium-cnmaestro /mobile/helium-plus-cambium-cnmaestro 301
+/mobile/data-only-cambium-cnmaestro/ /mobile/helium-plus-cambium-cnmaestro 301
+/mobile/data-only-Cisco-WLC-9800 /mobile/helium-plus-Cisco-WLC-9800 301
+/mobile/data-only-Cisco-WLC-9800/ /mobile/helium-plus-Cisco-WLC-9800 301
+/mobile/data-only-Cisco-WLC-5520 /mobile/helium-plus-Cisco-WLC-5520 301
+/mobile/data-only-Cisco-WLC-5520/ /mobile/helium-plus-Cisco-WLC-5520 301
+/iot/coverage-mapping /iot/lorawan-network-servers 301
+/iot/coverage-mapping/ /iot/lorawan-network-servers 301
+/api/blockchain/introduction /network-data/legacy-blockchain-data 301
+/api/blockchain/introduction/ /network-data/legacy-blockchain-data 301
+/hotspot-makers /iot/onboard-a-hotspot 301
+/hotspot-makers/ /iot/onboard-a-hotspot 301
+/troubleshooting/network-troubleshooting https://hardware.hellohelium.com/ 301
+/troubleshooting/network-troubleshooting/ https://hardware.hellohelium.com/ 301
+/troubleshooting/replace-sd-card https://hardware.hellohelium.com/ 301
+/troubleshooting/replace-sd-card/ https://hardware.hellohelium.com/ 301
+/iot/denylist /iot/lorawan-network-servers 301
+/iot/denylist/ /iot/lorawan-network-servers 301
+/console/integrations/json-schema /iot/lorawan-network-servers 301
+/console/integrations/json-schema/ /iot/lorawan-network-servers 301
+/tokens/mobile-token /tokens/hnt-token 301
+/tokens/mobile-token/ /tokens/hnt-token 301
+/wallets/app-wallet/transfer-hotspot /wallets/helium-wallet-app 301
+/wallets/app-wallet/transfer-hotspot/ /wallets/helium-wallet-app 301
+/iot/lorawan-region-plans /iot/lorawan-network-servers 301
+/iot/lorawan-region-plans/ /iot/lorawan-network-servers 301
+/blockchain/mining /tokens/hnt-token 301
+/blockchain/mining/ /tokens/hnt-token 301
+/iot/lorawan-frequency-plans /iot/lorawan-network-servers 301
+/iot/lorawan-frequency-plans/ /iot/lorawan-network-servers 301
+/console /iot/lorawan-network-servers 301
+/console/ /iot/lorawan-network-servers 301
+/faq/helium-network / 301
+/faq/helium-network/ / 301
# --- Bare-path entries for the splat rules below ---------------------------
-/helium-tokens /tokens/hnt-token 301
-/devblog / 301
+/helium-tokens /tokens/hnt-token 301
+/devblog / 301
# --- Splat redirects (dynamic; must stay after the static rules) -----------
-/helium-tokens/* /tokens/hnt-token 301
-/devblog/* / 301
+/helium-tokens/* /tokens/hnt-token 301
+/devblog/* / 301
From 681f1b7de26a486a6dd2409297e2536bd74eefa4 Mon Sep 17 00:00:00 2001
From: Joey Hiller <1965053+jthiller@users.noreply.github.com>
Date: Sat, 6 Jun 2026 22:00:46 -0700
Subject: [PATCH 2/3] Update fee table and data references for IoT Hotspot
changes
Collapse the IoT onboarding fee to a single $0.50 add + $0.50 assert, and generalize Proof-of-Coverage mentions in the oracle and Solana data docs.
---
docs/network-data/oracle-data.mdx | 6 +++---
docs/network-data/solana-data.mdx | 2 +-
docs/network-data/solana/rewardable-entities.mdx | 3 ++-
docs/tokens/data-credit.mdx | 14 ++++++--------
4 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/docs/network-data/oracle-data.mdx b/docs/network-data/oracle-data.mdx
index 5f483b56a..f836628f0 100644
--- a/docs/network-data/oracle-data.mdx
+++ b/docs/network-data/oracle-data.mdx
@@ -10,9 +10,9 @@ image: https://docs.helium.com/img/link-image.png
slug: /network-data/oracle-data
---
-The Helium Network operates Oracles that perform various tasks backing Proof-of-Coverage and data
-transfer for the LoRaWAN (IOT), Mobile, and any future networks. These Oracles provide extensive
-logs for analysis of the Helium subnetworks.
+The Helium Network operates Oracles that perform various tasks backing data transfer and
+Proof-of-Coverage across the Helium subnetworks. These Oracles provide extensive logs for analysis
+of the Helium subnetworks.
The Helium Oracles handle all data about the network, except for transactions handled by the
[Helium Program Libraries](https://github.com/helium/helium-program-library) on Solana.
diff --git a/docs/network-data/solana-data.mdx b/docs/network-data/solana-data.mdx
index 241e9672f..db4d458e2 100644
--- a/docs/network-data/solana-data.mdx
+++ b/docs/network-data/solana-data.mdx
@@ -269,7 +269,7 @@ published March 20, 2023. The audit report is available from sec3 on their
- Program ID: `hdaoVTCqhfHHo75XdAMxBKdUqvq1i5bF23sisBqVgGR`
- Manages the DAO/subnetwork structure proposed in HIP-51, including the minting of tokens to
- subnetworks, HST holders, and the `lazy_distributor` for PoC earnings.
+ subnetworks, HST holders, and the `lazy_distributor` for reward earnings.
#### lazy_distributor
diff --git a/docs/network-data/solana/rewardable-entities.mdx b/docs/network-data/solana/rewardable-entities.mdx
index 6808ef61c..5f87bf67a 100644
--- a/docs/network-data/solana/rewardable-entities.mdx
+++ b/docs/network-data/solana/rewardable-entities.mdx
@@ -283,7 +283,8 @@ describe("onboarding server", () => {
## Claiming Rewards on Rewardable Entities
A system of oracles keeps track of the rewards owed to each Rewardable Entity. For example, in the
-IoT network there are oracles that keep track of the HNT tokens earned by each Hotspot for PoC.
+IoT network there are oracles that keep track of the HNT tokens earned by each Hotspot for
+transferring data.
These oracles are responsible ONLY for tracking the total lifetime rewards associated with a
Hotspot. This frees the oracles from any kind of dependence on the blockchain. They don't care about
diff --git a/docs/tokens/data-credit.mdx b/docs/tokens/data-credit.mdx
index 1f5f9b02d..0fbf5ae3f 100644
--- a/docs/tokens/data-credit.mdx
+++ b/docs/tokens/data-credit.mdx
@@ -115,14 +115,12 @@ import OperationCostEstimator from '@site/src/theme/DcCostEstimator'
In addition to network data transfer, DCs are also utilized for certain network-related fees.
-| Action | Fee |
-| --------------------------------------------------------- | ---------------------------------------------- |
-| Hotspot Onboarding | $10 |
-| Assert Location | $1 |
-| Hotspot Onboarding [(Data-Only)](/iot/data-only-hotspots) | $0.50 |
-| Assert Location [(Data-Only)](/iot/data-only-hotspots) | $0.50 |
-| OUI | $100 |
-| DevAddr Slab | \$100 ($12.50 × 8)([^1]) |
+| Action | Fee |
+| -------------------------------------------- | ---------------------------------------------- |
+| [Hotspot Onboarding](/iot/onboard-a-hotspot) | $0.50 |
+| [Assert Location](/iot/onboard-a-hotspot) | $0.50 |
+| OUI | $100 |
+| DevAddr Slab | \$100 ($12.50 × 8)([^1]) |
[^1]:
DevAddrs must be purchased in slabs of 8.
From 643afdf27109418cdfee74f2da881b356d4b596e Mon Sep 17 00:00:00 2001
From: Joey Hiller <1965053+jthiller@users.noreply.github.com>
Date: Sun, 7 Jun 2026 22:08:34 -0700
Subject: [PATCH 3/3] IoT onboarding: frame on-chain step as shared across
methods
Distinguish the two methods by where the gateway software and signing key run (gateway-rs on the device vs multi-gateway on a server). Present the CLI wallet add + assert as the universal on-chain onboarding on both pages.
---
.../hotspots-iot/on-device-onboarding.mdx | 8 ++++---
.../hotspots-iot/onboard-a-hotspot.mdx | 24 +++++++++++--------
.../hotspots-iot/server-onboarding.mdx | 13 ++++++----
3 files changed, 28 insertions(+), 17 deletions(-)
diff --git a/docs/network-iot/hotspots-iot/on-device-onboarding.mdx b/docs/network-iot/hotspots-iot/on-device-onboarding.mdx
index 78fd11251..352f45feb 100644
--- a/docs/network-iot/hotspots-iot/on-device-onboarding.mdx
+++ b/docs/network-iot/hotspots-iot/on-device-onboarding.mdx
@@ -16,9 +16,11 @@ import useBaseUrl from '@docusaurus/useBaseUrl'
-This guide onboards a single Hotspot by running gateway-rs directly on the gateway. It assumes the
-gateway already has the Semtech packet forwarder and gateway-rs installed. To onboard a fleet, see
-[server onboarding](/iot/onboard-a-hotspot/server).
+This guide covers onboarding with gateway-rs, where the client runs on the gateway itself and holds
+the key. It assumes the gateway already has the Semtech packet forwarder and gateway-rs installed.
+The add and assert-location steps below are the on-chain onboarding, and they are the same for every
+Hotspot — here the gateway-rs key on the device signs the add transaction. To run the software on a
+server for a fleet instead, see [Server Onboarding](/iot/onboard-a-hotspot/server).
## Prerequisites
diff --git a/docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx b/docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx
index 02d0e5725..6766aac08 100644
--- a/docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx
+++ b/docs/network-iot/hotspots-iot/onboard-a-hotspot.mdx
@@ -17,18 +17,20 @@ import useBaseUrl from '@docusaurus/useBaseUrl'
Any LoRaWAN gateway can join the Helium IoT Network as a Hotspot and earn HNT for the device data it
-carries. Onboarding is permissionless: link the gateway's key to a wallet and assert its location,
-and it starts earning for the traffic it relays.
+carries. Onboarding is permissionless and the same for every Hotspot: add it to a wallet and assert
+its location with the [CLI Wallet](/wallets/cli-wallet).
-## Two ways to onboard
+## Two ways to run a Hotspot
-Choose based on how many gateways you're bringing online.
+What differs between setups is where the Helium gateway software runs, and which client holds the
+key that signs the add transaction. Choose based on how many gateways you're bringing online.
-- **On-device with gateway-rs.** Run the lightweight gateway-rs client on the gateway itself, next
- to its packet forwarder. Best for a single Hotspot or a handful. See
+- **gateway-rs, on the gateway.** The client runs on the gateway itself, next to its packet
+ forwarder, and the key lives on the device. Best for a single Hotspot or a handful. See
[On-Device Onboarding](/iot/onboard-a-hotspot/on-device).
-- **On a server with multi-gateway.** Point many gateways at one server that provisions and manages
- a key per gateway. Best for fleets. See [Server Onboarding](/iot/onboard-a-hotspot/server).
+- **multi-gateway, on a server.** One server fronts many gateways and holds a key for each. The
+ gateways run a standard packet forwarder pointed at the server. Best for fleets. See
+ [Server Onboarding](/iot/onboard-a-hotspot/server).
## Architecture
@@ -58,8 +60,10 @@ packet and forwards it to the Helium Packet Router, which routes it to a LoRaWAN
## Packet forwarder setup
-Gateway-rs runs alongside a [Semtech packet forwarder](https://github.com/helium/packet_forwarder).
-If the hardware does not already have one, follow a hardware guide below.
+A Hotspot needs a [Semtech packet forwarder](https://github.com/helium/packet_forwarder) on the
+gateway. If the hardware does not already have one, follow a hardware guide below. These guides
+point the packet forwarder at gateway-rs on the same device; for the server method, point it at your
+multi-gateway server instead.
- [Dragino LPS8/DLOS8](/iot/packet-forwarders/dragino)
- [RAKwireless Concentrator (RAK2245/RAK2247/RAK2287) + Raspberry Pi](/iot/packet-forwarders/rak-concentrators)
diff --git a/docs/network-iot/hotspots-iot/server-onboarding.mdx b/docs/network-iot/hotspots-iot/server-onboarding.mdx
index 027121d27..d7c4396e6 100644
--- a/docs/network-iot/hotspots-iot/server-onboarding.mdx
+++ b/docs/network-iot/hotspots-iot/server-onboarding.mdx
@@ -20,11 +20,16 @@ multiple LoRaWAN gateways using the Semtech UDP (GWMP) protocol. It automaticall
keypair for each gateway on first connection and maintains a dedicated gRPC stream to the Helium
packet router per gateway. Each gateway appears as an independent Hotspot on the Helium network.
-Running multi-gateway on a server is how you onboard a fleet of Hotspots from one place. To set up a
-single Hotspot instead, see [on-device onboarding](/iot/onboard-a-hotspot/on-device).
+Running multi-gateway on a server lets operators manage a fleet of Hotspots from one place, with
+centralized key management, monitoring, and a REST API. To set up a single Hotspot instead, see
+[On-Device Onboarding](/iot/onboard-a-hotspot/on-device).
-This enables operators to manage fleets of Hotspots from a single server, with centralized key
-management, monitoring, and a REST API for integration.
+## Onboard each Hotspot
+
+Connecting a gateway provisions a key for it and starts forwarding data. To earn rewards, each
+Hotspot must also be onboarded on-chain — added to a wallet and its location asserted with the
+[CLI Wallet](/wallets/cli-wallet). This is the same on-chain onboarding as the
+[gateway-rs method](/iot/onboard-a-hotspot/on-device), except the server holds each gateway's key.
## Architecture