Comandos generales de mantenimiento de los servicios sobre Raspberry Pi

El servicio se puede llamar de cualquier forma, hemos usado indistintamente nombres como: 

  • AIS-catcher (finalmente no lo usamos)
  • rtl-ais.service (AIS)
  • autorx.service (radiosondas)
  • aprs-igate.service (APRS VHF)
  • ...


Dar permisos de escritura

Algunas veces los sericios que hemos instalados no arrancan si solo estan como (ro) y no como (rw)

modo escritura
  • rpi-rw 
modo lectura
  • rpi-ro                                     

Configurar un servicio tras crearlo con un editor como nano p.e. ais-rx.service en /usr/local/bin/
  • sudo systemctl daemon-reload

Servicios disponibles en una Raspberry Pi
  • systemctl list-unit-files --state=enabled --type=service --no-pager

Servicios que se arancan en un boot de una Raspberry Pi
  • systemd-analyze blame --no-pager

Habilitar un servicio
  • sudo systemctl enable ais-rx.service

Deshabilitar el servicio
  • sudo systemctl disable ais-rx.service

Arrancar un servicio (Comprobar que estan los servicios parados)
  • sudo systemctl start ais-rx.service
  • ...
  • sudo systemctl start  autorx.service  

Parar un servicio
  • sudo systemctl stop ais-rx.service
  • ...
  • sudo systemctl stop autorx.service  

Parar y arrancar
  • sudo systemctl restart autorx.service  

Ver como arranca el servicio
  • sudo systemctl status autorx.service --no-pager -l 
tambien
  • sudo journalctl -u autorx.service -n 20 --no-pager 

Borrar los ficheros creados para un servicio (limpieza)
  • sudo rm /usr/local/bin/ais-rx.service.sh
  • sudo systemctl daemon-reload

Matar todos los procesos asociados al servicio
  • sudo killall AIS-catcher 2>/dev/null
  • sudo killall -9 AIS-catcher rtl_fm
  • sudo killall -9 rtl_ais
  • sudo killall -9 rtl_433
  • sudo killall -9 rtl_fm
  • sudo killall -9 rtl_433 rtl_ais rtl_fm
  • rtl_433: no process found                                                       
  • rtl_ais: no process found                                                       
  • rtl_fm: no process found 

  • sudo rmmod dvb_usb_rtl28xxu rtl2832
  • sudo modprobe rtl2832
  • sudo modprobe dvb_usb_rtl28xxu
  • sudo modprobe -r dvb_usb_rtl28xxu rtl2832

Reiniciar la raspberry pi cuando nada va como queremos
  • sudo reboot

Quién usa un puerto determinado p.e. 8081
  • sudo netstat -tulpn | grep 8081

Quién usa el USB
  • sudo fuser -k /dev/bus/usb/001/*

Qué se arranca con un servicio
  • ps -ef | grep AIS-catcher
root     12452     1 52 16:46 ?        00:01:49 /usr/local/bin/AIS-catcher -v -d
pi-star  12887 12337  0 16:49 pts/0    00:00:00 grep --color=auto AIS-catcher
  • ps -ef | grep autorx                                     
pi-star   9287  1953  1 04:18 pts/0    00:00:00 grep --color=auto autorx


Comprobar un servidor web en local
  • curl -I http://127.0.0.1:8081
Radiosonde
  • curl -I http://127.0.0.1:5000 

Comprobar con navegador
  • http://[LA_IP_DE_TU_PI]:8081
Radiosonde
  • http://[LA_IP_DE_TU_PI]:5000
Con pi-star
  • http://pi-star.local:5000

Compatibilidad con otros servicios con los que se comparten recursos (p.e.SDR-USB)
  • APRS-igate tendrá: Conflicts=autorx.service rtl-ais.service
  • Autorx tendrá: Conflicts=aprs-igate.service rtl-ais.service
  • rtl-ais tendrá: Conflicts=aprs-igate.service autorx.service

Bloqueo en el arranque

Si fallara el arranque del servicio en un reboot podria la Raspberry no dar el control a través de Wi-Fi, en ese caso hay que proceder de la siguiente manera:
  • Conectarla con cable ethernet a nuestra red lcoal 8en logar de WiFi
  • Comprobar la IP asignada con un scan de IP (p.e. angry IP)
  • conectarse
  • Parar los servicios y dejarlos no disponibles
    • sudo systemctl stop rtl-ais.service
    • sudo systemctl disable rtl-ais.service
    • sudo systemctl stop autorx.service
    • sudo systemctl disable autorx.service
  • Mover los ficheros para que no intente el sistema rearrancarlos, ojo que se borran de temp igual mejor a otros sitio
    • sudo mv /etc/systemd/system/rtl-ais.service /tmp/
    • sudo mv /etc/systemd/system/autorx.service /tmp/
  • rearrancar
    • sudo reboot
COmprobación conexiones a RED
  • ifconfig
  • sudo wpa_cli reconfigure
    • Selected interface 'wlan0'                                                      
    • OK                         
ABRIR PUERTOS PARA CADA IP:PUERTO NUEVO

Conexión a un servidor externo
  • sudo iptables -A OUTPUT -p udp -d 195.201.71.220 --dport 6518 -j ACCEPT
  • sudo iptables -A INPUT -p udp -s 195.201.71.220 --sport 6518 -j ACCEPT
Para conexión web
  • sudo iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
  • sudo /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
  • sudo /sbin/iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
  • autorx.service 
    • sudo iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT
Comprobaciones
  • sudo iptables -L -n -v
  • sudo /sbin/iptables-save > /etc/iptables/rules.v4
  • rpi-rw
  • sudo nano /etc/rc.local

CAMBIO DE SERVICIOS

Para cambiar a AIS: sudo systemctl stop autorx.service && sudo systemctl start rtl-ais.service

Para cambiar a Sondas: sudo systemctl stop rtl-ais.service && sudo systemctl start autorx.service

Limpiar espacio si sytemctl se queja

sudo systemctl daemon-reload
Failed to reload daemon: Refusing to reload, not enough space available on /run/
systemd. Currently, 15.8M are free, but a safety buffer of 16.0M is enforced.   

# Limpiar logs de hace más de 1 minuto (libera espacio inmediato)
  • sudo journalctl --vacuum-time=1m

# Si eso no es suficiente, limpia archivos temporales de servicios que ya no corren
  • sudo rm -rf /run/systemd/generator/*
  • sudo rm -rf /var/log/*
  • sudo rm -rf /tmp/*

Apagado
  • sudo poweroff
  • sudo shutdown -h now
Comprobar que el RTL-USB esta fisicanebte OK
  • lsusb
Bus 001 Device 005: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T      
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wi
reless Adapter [Realtek RTL8188CUS]                                             
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC
9512/9514 Fast Ethernet Adapter                                                 
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9
514 Hub                                                                         
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Comprobar si alguien lo etá usando
  • fuser /dev/bus/usb/001/005
/dev/bus/usb/001/005:  1624m   
  • ps -p 1624 -o comm=
rtl_fm
  • sudo kill -9 1624 
Si lo tiene rtl_fm   
  • sudo killall rtl_fm              

Los 3 errores mas frecuentes
  • Se cuelga en el arranque la Raspberry Pi, cuando se conecta o aleatoriamente en el tiempo, normalmente sobre las 00:00 (Tareas programadas del sistema - Cron jobs, se puede ver con grep "CRON" /var/log/syslog | tail -n 20)
    • La fuente de alimentación no es suficiente para el consumo de la rasberry pi + RTL-SDR 
  • No arranca el servicio (error 3)
    • No tiene permisos de escrtitura, basta con darlos rpi-rw 
  • No se puede conectar al web del servicio
    • Estan los puertos cerrados y hay que abrirlos

Advertencia importante

Las modificaciones, configuraciones y procedimientos descritos en este sitio pueden implicar riesgos técnicos, legales o de seguridad. El autor no se responsabiliza del mal funcionamiento de los equipos, daños permanentes, pérdida de garantía ni de posibles infracciones legales derivadas del uso de esta información.
El lector asume plena responsabilidad por cualquier acción que decida realizar basándose en el contenido de este blog.

© 2026 EA5JTT. Queda prohibida la reproducción total o parcial sin autorización expresa del autor.

No hay comentarios:

Publicar un comentario

Mejorando la recepción: el coaxial

Para la recepción de las señales de las radiosondas use en un primer momento dos secciones de 3m de coaxial RG-174, sin embargo siendo consc...