The application scope of LoRaWAN technology is becoming more and more extensive, and ChirpStack, as an excellent LoraWAN server favored by developers, supports a variety of operating systems and hardware platforms, and can be quickly deployed and used in different scenarios.

In this example, we will use the full-duplex LoRaWAN gateway E870-L470LG11 and the soc wireless module test kit E78-400TBL-02 to demonstrate how to configure LoraWan network communication. In addition, we will build a local simulated ChirpStack server, whose public network service principle is the same. We will use Debian operating system and Docker container technology to build ChirpStack server. (How to configure LoRaWAN gateway device to connect to ChirpStack server)

ChirpStack is an open source LoraWAN server that supports multiple protocol stacks and gateway devices. ChirpStack has a clear and modular architecture and can be flexibly configured and expanded according to actual needs. When using ChirpStack to build a LoraWAN server, we need to understand some common terms and concepts, such as application interfaces, gateway bridging, and device configuration. By deeply understanding the working principle and application scenarios of ChirpStack, we can better utilize its advantages and develop high-quality IoT applications.

In short, building a ChirpStack server requires attention to many aspects, including operating system configuration, software package dependencies, containerization technology, etc. Through reasonable configuration and management, we can improve the stability and security of the server and facilitate subsequent application development and management. At the same time, with an in-depth understanding of ChirpStack's working principles and application scenarios, you can better utilize its advantages and develop high-quality IoT applications.

1. Start the ssh service
Since the Debian 11 server disables SSH and root login by default, we need to enable SSH and the root account first. If you are using another system, you can skip the corresponding configuration process.

①. Install ssh
Enter the following command in the terminal: sudo apt install opens-server

Enter the password for the login account here
Install ssh

If the following error occurs during installation:
Install ssh

You can try to install it using the following command: sudo apt install openssh-server

After the installation is complete, the SSH service is enabled by default. To start manually, use the following command: systemctl start ssh .service

②. Open the root account
In Debian, the root account is disabled by default. You need to follow the following steps to open the root account:

a. Log in to the system as an administrator.

b. Open a terminal and enter the following command to switch to the root user: sudo su

c. Enter your administrator password.

d. Enter the following command to set the password for the root account: passwd root

e. Enter the root password you want to set and confirm.

f. Now that you have successfully opened the root account, you can use the following command to log in to the root account: su -

③. Allow root to log in via ssh
a. Install vim (requires root user): apt-get install vim

b. Use vim to open and modify the /etc/ssh/sshd_config file: vim /etc/ssh/sshd_config

In edit mode (click any a, i, o to enter edit mode), change the following content:

Will: #PermitRootLogin prohibit-password

Modify to: PermitRootLogin yes

Will: #PasswordAuthentication yes

Modify to: PasswordAuthentication yes

After completion, exit the editing mode (click the esc button), enter: wq to save and exit.

c. Restart the ssh server, enter: /etc/init .d/ssh restart

If using Debian 11, use the following command: sudo systemctl restart ssh After completing the above operations, you can use the root user to log in through SSH.

2. Install docker container
①. Install basic tools
First upgrade the system: udo apt update && sudo apt upgrade

If the following error message appears, it is because you cannot connect to the specified server.
Install docker container

You can run: sudo apt-get update

Run the command to update the package list, and then try sudo apt upgrade to upgrade. (sudo apt-get update and sudo apt update are both used to update the system's package list. Their functions are the same, but sudo apt is a new command introduced after the new version. It is more concise and easy to remember, and also supports Some new features, such as displaying more friendly progress bars, etc. Therefore, if your system version is relatively new, it is recommended to use the sudo apt update command. However, if you are using an older system, you may need to use the sudo apt-get update command. .)

After the installation is completed, an update notification for the apache2 software package will appear. Just exit and press the q key. Install curl: sudo apt install curl or sudo apt-get install curl

②. Automatically install Docker
Use the official installation script to automatically install Docker. The command is as follows:

curl-fsSL https://get .docker .com -o get-docker .sh && sudo sh get-docker .sh

Install Docker Compose

sudo curl -L "https://github .com/docker/compose/releases/download/v2 .2 .2/docker-co

mpose-$(uname -s)-$(uname -m)" -o

③. Successfully downloaded Docker Compose to the path. Next, /usr/local/bin/docker-compose needs to add executable permissions to the downloaded binary file. This can be done using the following command: sudo chmod +x /usr/local/bin/docker-compose

④. Use the docker-compose --version command to view the version installed by Docker Compose: docker-compose --version

3. Deploy ChirpStack
①. Clone the Github repository
Chirpstack officially provides a Github repository for rapid deployment of Chirpstack. Using the Docker Compose tool, you can quickly deploy the Chirpstack service.

Clone git https://github .com/chirpstack/chirpstack-docker .git

②. Start the service
cd chirpstack-docker

docker-compose up-d

③. Check docker running status
After waiting for Docker to start, enter directly on the command line without changing the system path: docker compose ls

The command line returns the status of compose startup:


chirpstack-docker running(6) /home/sage/chirpstack-

Then, check the running status of the container started by docker compose: docker compose ps

ChirpStack was installed successfully if the following is displayed:
Deploy ChirpStack

④. Access the Chirpstack service
Use a web browser to access the local port 8080 to see the ChirpStack service login page. Here, my server address is, so after I use the browser to directly access the "" port, it automatically goes to the ChirpStack login page.
Deploy ChirpStack

The default login username and password are admin/admin. After successfully logging in, you will be able to access ChirpStack’s dashboard page. The page is as shown below:
Deploy ChirpStack

Next, if you need to configure the gateway access server. In this example, we are using the E870-L470LG11 gateway, whose default gateway address is To avoid network conflicts, we change the server's IP address to another address.

In this example, we first briefly introduce the basic concepts of LoRaWAN technology, and the three main parts of a LoRaWAN network: end nodes, LORA gateways, and servers. Then, we explained in detail how to build the LoraWAN server-ChirpStack. In addition, we also discussed how to enable the SSH service and root account so that you can manage the server more conveniently. We introduced in detail how to generate an SSH key, how to use an SSH client to connect to the server, how to change the root account password, and other steps.

In short, we have shared a lot of practical technical knowledge and operation steps in this exchange, and we hope it will be helpful to you. Next, we will start using the LORAWAN gateway E870-L470LG11 to access the server. If you have additional questions or need further assistance, please feel free to ask me.