Você pode nos mostrar a saída de 'ifconfig' assim que inicializar e depois da conexão cair? Além disso, pode executar 'route', ver o IP do seu gateway padrão e tentar fazer o ping dele? Por exemplo:
jmhal@pluto:~$ ifconfig
wlan0 Link encap:Ethernet Endereço de HW 00:22:43:44:a2:d3
inet end.: 192.168.0.2 Bcast:192.168.0.255 Masc:255.255.255.0
endereço inet6: fe80::222:43ff:fe44:a2d3/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:336542 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:169868 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
jmhal@pluto:~$ route
Tabela de Roteamento IP do Kernel
Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
link-local * 255.255.0.0 U 1000 0 0 wlan0
192.168.0.0 * 255.255.255.0 U 2 0 0 wlan0
jmhal@pluto:~$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=52.1 ms
Dessa forma, você terá certeza se a conexão ao roteador está ativada ou não.