É um bug do sistema operacional. Vejo: link
Estou tentando configurar o pppd para se conectar a uma rede 3G (neste caso, Sprint) e depois ficar conectado, reconectando-me automaticamente se a conexão remota for encerrada. Eu habilitei a opção persistir. Meu arquivo de configuração é o seguinte:
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/cellular"
debug
/dev/cell 921600
defaultroute
noipdefault
user " "
persist
maxfail 0
lcp-echo-failure 10
lcp-echo-interval 60
holdoff 5
No entanto, quando o peer desconecta a conexão, o pppd geralmente espera muito tempo (substancialmente mais do que minha espera) para reconectar o modem - se ele reconectar alguma vez!
Um log de exemplo mostrando isso:
May 23 05:17:24 00270e0a8888 pppd[2408]: rcvd [LCP TermReq id=0x26]
May 23 05:17:24 00270e0a8888 pppd[2408]: LCP terminated by peer
May 23 05:17:24 00270e0a8888 pppd[2408]: Connect time 60.1 minutes.
May 23 05:17:24 00270e0a8888 pppd[2408]: Sent 0 bytes, received 0 bytes.
May 23 05:17:24 00270e0a8888 pppd[2408]: Script /etc/ppp/ip-down started (pid 2456)
May 23 05:17:24 00270e0a8888 pppd[2408]: sent [LCP TermAck id=0x26]
May 23 05:17:24 00270e0a8888 pppd[2408]: Script /etc/ppp/ip-down finished (pid 2456), status = 0x0
May 23 05:17:24 00270e0a8888 pppd[2408]: Hangup (SIGHUP)
May 23 05:17:24 00270e0a8888 pppd[2408]: Modem hangup
May 23 05:17:24 00270e0a8888 pppd[2408]: Connection terminated.
May 23 05:17:24 00270e0a8888 pppd[2408]: Terminating on signal 15
May 23 05:17:24 00270e0a8888 pppd[2408]: Exit.
May 23 06:08:07 00270e0a8888 pppd[2500]: pppd 2.4.5 started by root, uid 0
May 23 06:08:10 00270e0a8888 pppd[2500]: Script /usr/sbin/chat -v -f /etc/chatscripts/cellular finished (pid 2530), status = 0x0
May 23 06:08:10 00270e0a8888 pppd[2500]: Serial connection established.
May 23 06:08:10 00270e0a8888 pppd[2500]: using channel 11
A desconexão a pedido do par ocorre às 5:17, mas a reconexão não aconteceu até 6:08. Eu tinha um amigo monitorando o servidor, então não tenho certeza se isso não era uma reconexão manual. De qualquer maneira, demorou quase uma hora para se reconectar ou nunca se reconectar.
O persist
+ holdoff 5
não deve ser reconectado automaticamente depois de 5 segundos do término do link?