chema wrote: ↑Fri Jan 10, 2020 6:52 pm
hola
bueno pues tras iniciar una instalación limpia y desconectar estos días la cámara IP puedo confirmar que:
1. mientras la cámara está offline la RPi funciona sin ningún problema
2. cuando la cámara está online la RPi comienza a tener problemas de conectividad e incluso llega a quedarse fuera de línea tanto por wifi como por ethernet.
3. No hay conflictos de IP en modo DHCP
saludos.
Parece que has encontrado una relación causa-efecto pobada con respecto a tu problema y eso es un paso importante.
No obstante, tienes otro hilo reciente en el foro en que sigues insistiendo en que
clamav también provoca desconexiones a tu RPi, al que te contesté que
clamscan es un programa que no interacciona con la red y que sólo hace lecturas de disco y, a lo sumo, algún borrado de ficheros. O sea, que tiene pocas probabilidades de ser culpable de dejar desconectada de la red tu RPi.
¿Podría ser que la RPi funcionara adecuadamente y que haya algo en su entorno que te impide conectarte a ella durante algunos periodos?. Yo lo considero como una opción probable.
Dado que tu sistema es headless, no tienes posibilidad de acceder a él durante los cortes. No obstante, hay formas de lanzar comandos que ayuden al diagnóstico que corran en modo batch y que vuelquen sus resultados a un fichero y podamos verlos con posterioridad.
Lo primero un par de trucos:
1) Te recomiendo colocar tus scripts y programas en un directorio de nombre
bin creado desde el home de tu usuario de la RPi.
El directorio bin se añadirá automáticamente al PATH cada vez que inicies una shell y podrás llamar a tus programas y scritps desde cualquier directorio de tu usuario. Digamos que es como una extensión de los comandos/scripts de Raspbian con los tuyos propios.
2) Para lanzar un comando/script de larga duración en modo batch, desconectarte y más adelante volver a conectarte al mismo, puedes usar el programa
screen.
Para arrancar un comando/script en este modo simplemente anteponle
screen:
Code: Select all
screen myscript mis_parametros_aqui
Verás que muestra sus salidas de modo normal. Eso significa que estás unido (
attached) al comando. Para desconectarte del comando y que siga funcionando a su aire teclea Ctrl-a Ctrl-d (el comando pasa a un estado separado del comando
dettached).
Puedes ahora si lo deseas desconectarte de la RPi.
Más adelante podrías ver qué comandos están corriendo en modo batch que se hayan lanzado con
screen:
La respuesta te muestra si hay algún programa corriendo y si está dettached o attached a algún terminal. Si un comando está en modo attached, no se puede conectar a un segundo terminal. Sólo los dettached son susceptibles de reconexión.
Si sólo hay un comando corriendo, la reconexión es muy sencilla:
Si son varios los programas que corren bajo screen, hay que indicar el id apropiado tras la opción -r.
Puedes conectarte (screen -r) y desconectarte (Ctrl-a Ctrl-d) al script las veces de desees. Si el comando termina dejarás de verlo en la lista de
screen -ls.
Para abortar un script de duración infinita corriendo bajo
screen, conéctaté a él con el terminal (screen -r) y después teclea ctl-c.
Hasta aquí los preparativos.
Ahora te recomiendo un script para que lo dejes lanzado en la RPi y puedas ver qué se ve ahí dentro durante esos periodos en que no la ves conectada.
Edita un fichero de nombre prueba01.sh que deberá estar situado en el directorio bin:
Y ponle un contenido como éste:
Code: Select all
#!/bin/bash
while true; do
echo
date
echo
iwconfig wlan0
ifconfig eth0
ifconfig wlan0
ping -c2 1.1.1.1
echo
sleep 20
done
Lo siguiente es darle permiso de ejecución al script:
Te recomiendo lanzar tu script de este modo:
Code: Select all
screen prueba01.sh | tee > prueba01.txt
Con la redirección de la salida al comando
tee, verás la salida normal de los comandos del script y a la vez esas salidas se guardarán también en el fichero prueba01.txt. Cuando compruebas que funcionan todos los comandos del script correctamente, desconéctate de
screen con ctrl-a ctrl-d.
Si se produce una desconexión de la RPi de la red, encontrarás información de utilidad en el fichero prueba01.txt cuando consigas reconectarte. Como se ha incluído un comando
date en el script, verás en el ficgero de salidas la hora del comienzo de cada bucle.
Espero que este procedimiento te ayude a avanzar en la resolución de tus problemas.