It looks like the basicstation service is in a restarting loop. Could you please confirm the hardware that you are using? Could you also please share the Device Variables that you have defined?
I very much doubt the device is at /dev/ttyAMA0. How do you connect the module to the CM4? What carrier board are you using You can try set the DEVICE variable to AUTO and let the service try to find the device, it will probably be in /dev/ttyUSBx.
Ah, probably it’s because the USB2 interface is disabled by default on the CM4. You must add dtoverlay=dwc2,dr_mode=host to the config.txt file.
See Balena CM4 IO Board image: usb support - #6 by nmx
Can also be done from the dashboard under the device configuration option.
But then we are back to the initial problem. I still have the gateway re-starting and getting the error killing process ## as shown in the log files: pet-tracking_floral-fin-2024-05-09t16_43_24+02_00.txt (102.2 KB)
I’m currently trying to deploy a LoRaWAN gateway using a Raspberry Pi 4 and RAK5146L (SX1303, 433–435 MHz) concentrator. The setup is managed via Balena Cloud, and the gateway runs LoRa Basics™ Station (xoseperez/basicstation) in a Docker container.
Although the gateway appears as operational in the Balena dashboard, it appears disconnected from The Things Network (TTN)
Screenshots of the Balena dashboard and the TTN console are shown below. I need help and am quite green.
If you’re only seeing a single service called main in your BalenaCloud dashboard, that usually means your application is running from a single-container release, not a docker-compose.yml with multiple defined services.
For LoRa Basics™ Station on a RAK5146 using Balena, you should typically see at least one service named basicstation (or whatever you named it in your Compose file).
Here are a few things you can check:
Verify your project type — in BalenaCloud, your app should be of type “Multicontainer”. If it’s “Single-container,” Balena will ignore the docker-compose.yml and only run one default service (main).
Push the whole folder — make sure you deploy using:
balena push <appName>
from the same directory that contains your docker-compose.yml.
(If you push from inside a subfolder, Balena only uploads one container.)
Check the service name inside your docker-compose.yml. It should look like:
but I still get these errors from the balena cloud dashboard:
basicstation 2025-10-12 19:02:41.505 [AIO:ERRO] tc trust certificates rejected by MBedTLS
basicstation 2025-10-12 19:02:41.505 [TCE:INFO] INFOS reconnect backoff 20s (retry 2)
basicstation 2025-10-12 19:03:01.505 [any:ERRO] Parsing trust certificate: X509 - The CRT/CRL/CSR format is invalid, e.g. different type expected.
The gateway still remains disconnected on the TTN console.
I aslo have a dockerfile with this details: #Base image: the LoRa BasicStation from Xose Pérez
FROM xoseperez/basicstation:latest
#Copy your local config (cacert.pem etc.) into the container
Yes,
I have my Dockerfile and docker-compose.yml files in the directory “C:\Users\abdul-aziz.n-yo\Desktop\Thesis\balena\basicstation” and the cacert.pem file in this directory “C:\Users\abdul-aziz.n-yo\Desktop\Thesis\balena\basicstation\config”.