Hello guys!
I’m experimenting with Reticulum at the moment and I’ve setup a stationary node on a Raspberry Pi 4. So far, it works very well. Now, I ran into a problem with creating a systemd-service for the application nomadnet.
I’m logging in via SSH and user ‘admin’.
nomadnet has been installed via pipx install nomadnet and can be started with nomadnet, which seems to work very well too. The executable can be found under /home/admin/.local/bin/nomadnet
My goal is: I want the application to keep running, when I’m closing the SSH-connection.
Right now, I’m not very experienced with systemd, but I’ve asked AI for some help (probably not a good idea…?):
[Unit]
Description=Nomadnet Service
After=network.target
[Service]
Type=simple
ExecStart=/home/admin/.local/bin/nomadnet
Restart=on-failure
User=admin
Group=admin
[Install]
WantedBy=multi-user.target
The nomadnet.service is now running, but when I take a look at journalctl -u nomadnet there seems to be an error loop:
Dec 13 16:11:20 reticulum-base systemd[1]: nomadnet.service: Main process exited, code=exited, status=1/FAILURE
Dec 13 16:11:20 reticulum-base systemd[1]: nomadnet.service: Failed with result 'exit-code'.
Dec 13 16:11:21 reticulum-base systemd[1]: nomadnet.service: Scheduled restart job, restart counter is at 71.
Dec 13 16:11:21 reticulum-base systemd[1]: Started nomadnet.service - Nomadnet Service.
Dec 13 16:11:24 reticulum-base nomadnet[3380]: stty: 'standard input': Inappropriate ioctl for device
Dec 13 16:11:24 reticulum-base nomadnet[3383]: stty: 'standard input': Inappropriate ioctl for device
Dec 13 16:11:24 reticulum-base nomadnet[3365]: [2025-12-13 16:11:21] [Notice] Opening serial port /dev/ttyUSB0...
Dec 13 16:11:24 reticulum-base nomadnet[3365]: [2025-12-13 16:11:24] [Notice] RNodeInterface[RNode] is configured and powered up
Dec 13 16:11:24 reticulum-base nomadnet[3365]: [95B blob data]
Dec 13 16:11:24 reticulum-base nomadnet[3385]: stty: 'standard input': Inappropriate ioctl for device
Dec 13 16:11:24 reticulum-base systemd[1]: nomadnet.service: Main process exited, code=exited, status=1/FAILURE
Dec 13 16:11:24 reticulum-base systemd[1]: nomadnet.service: Failed with result 'exit-code'.
Dec 13 16:11:25 reticulum-base systemd[1]: nomadnet.service: Scheduled restart job, restart counter is at 72.
Dec 13 16:11:25 reticulum-base systemd[1]: Started nomadnet.service - Nomadnet Service.
Dec 13 16:11:28 reticulum-base nomadnet[3403]: stty: 'standard input': Inappropriate ioctl for device
Dec 13 16:11:28 reticulum-base nomadnet[3406]: stty: 'standard input': Inappropriate ioctl for device
Dec 13 16:11:28 reticulum-base nomadnet[3388]: [2025-12-13 16:11:25] [Notice] Opening serial port /dev/ttyUSB0...
Dec 13 16:11:28 reticulum-base nomadnet[3388]: [2025-12-13 16:11:28] [Notice] RNodeInterface[RNode] is configured and powered up
Dec 13 16:11:28 reticulum-base nomadnet[3388]: [95B blob data]
Dec 13 16:11:28 reticulum-base nomadnet[3408]: stty: 'standard input': Inappropriate ioctl for device
Dec 13 16:11:28 reticulum-base systemd[1]: nomadnet.service: Main process exited, code=exited, status=1/FAILURE
Dec 13 16:11:28 reticulum-base systemd[1]: nomadnet.service: Failed with result 'exit-code'.
Dec 13 16:11:29 reticulum-base systemd[1]: nomadnet.service: Scheduled restart job, restart counter is at 73.
I don’t have an idea, how to do it properly, but hopefully, someone can help me here :(.
~sp3ctre
stty: 'standard input': Inappropriate ioctl for devicemeans that nomadnet needs to be started in a terminal. You probably want to either add the--daemonflag of nomadnet if you just want to run it in the background (ExecStart=/home/admin/.local/bin/nomadnet --daemon), or run it undertmuxinstead of systemd to be able to access the interface.You’re my hero! It now works.
[Unit] Description=Nomadnet Service After=network.target [Service] Type=simple ExecStart=/home/admin/.local/bin/nomadnet --daemon Restart=on-failure User=admin Group=admin [Install] WantedBy=multi-user.targetSo, now the service runs as a daemon. Is it a problem to login via SSH and use the command
nomadnet(no daemon), while the daemon-service is running? Because it seems to be working when I try it?Not a clue, sorry. Ive never used nomadnet and dont know much about it.


