Não tenho certeza se há algo por aí que possa fazer isso para você ... No entanto, você poderia, com um pouco de script, pesquisar um script que:
- A cada 10 minutos, pings google com um tempo limite de 2 segundos e somente a partir da sua conexão "fixa" (não a 3G) (use o
-I
flag). - Se o ping for bem-sucedido e você estiver na conexão fixa, não faça nada.
- Se você estiver em 3G e o ping pela conexão fixa funcionar, desative o adaptador 3G.
- Se falhar, abra o adaptador 3G.
Aqui está minha tentativa rápida:
#! /bin/bash
CONNECTION=1
main()
{
if ping -q -c 1 -w 1 -I eth0 google.com > /dev/null ; then
echo "Connection is ok!"
if [ $CONNECTION -eq 0 ] ; then
# take the 3g connection down
ifconfig 3GADAPTERNAME down
CONNECTION=1
fi
else
echo "Connection is dead! Long live the connection!"
if [ $CONNECTION -eq 1 ] ; then
# turn the 3g connection on
ifconfig 3GADAPTERNAME up
CONNECTION=0
fi
fi
sleep 5
main
}
main
Obviamente, substitua 3GADAPTERNAME
pelo nome do seu adaptador. desligue eth0
se sua conexão principal for diferente. Certifique-se de que esteja configurado para se conectar automaticamente (assim, quando for permitido, isso acontece). O script precisará ser executado como root.