Eu tenho um problema.
Hardware e software que estou usando: Raspberry pi, modem 3G - Huawei e1550, sakis3g e UMTSkeeper para lidar com conexão.
Também estou usando o link para o meu projeto, ele inicia automaticamente na inicialização com um atraso de 180 segundos para o modem 3g para se conectar à rede do que packet_forwarder enviar dados para o meu servidor.
Ele funciona bem até que o modem 3g perca sua conexão (2-3 horas após a inicialização funcionará do que se reconectar) e o UMTSkeeper recupera a comunicação. Depois disso, o packet_forwarder pára de enviar dados para o servidor. Parece-me que o packet_forwarder não sabe como monitorar o estado da conexão de rede e, se houver alguma queda, ele não se reconecta à rede.
Por favor me ajude, como fazer para se conectar quando a rede é restaurada?
Alguns registros e informações:
Aqui está um umtskeeper.log quando é reconectado:
----
2018-03-13 20:27:32 Testing connection...
2018-03-13 20:27:40 Success... we are online!
2018-03-13 22:11:39 Offline: Network device ppp0 not found or not connected. (n$
2018-03-13 22:11:43 Internet connection is DOWN. Calling Sakis3G connect...
Sakis3G cmdLine: nice /home/pi/3g/sakis3g connect --sudo --console USBINTERFA$
Sakis3G says...
E1550 connected to KYIVSTAR (25503).
Error: /tmp/sakis3gz.10107.sakis3g: line 3218: warning: command substitution:$
2018-03-13 22:12:11 Testing connection...
2018-03-13 22:12:20 Success... we are online!
Aqui está ifconfig para a interface do modem 3g:
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.151.60.124 netmask 255.255.255.255 destination 10.64.64.64
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 106 bytes 7905 (7.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 108 bytes 7617 (7.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Aqui está tcpdump -UUq port 3000 para a porta que envia dados para o servidor (e quando o modem 3g desconecta, a interface ppp0 desaparece da lista ifconfig):
listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
-----
-----
tcpdump: pcap_loop: The interface went down
3124 packets captured
3124 packets received by filter
0 packets dropped by kernel
Aqui está o script autostart para packet_forwarder:
#!/bin/bash
sleep 180
sleep 10
gpio mode 7 out
gpio write 7 1
sleep 0.5
gpio write 7 0
sleep 0.5
cd packet_forwarder/lora_pkt_fwd/
./lora_pkt_fwd
exit 0