Verifique se você vê algum tráfego de entrada usando o tcpdump em wlan0:
tcpdump -i wlan0 -nl
Em seguida, instale arping e verifique se o seu roteador (ou qualquer coisa) do outro lado está respondendo (via IP ou MAC):
sudo arping -i wlan0 IP
sudo arping -i wlan0 MAC
Existe um truque no FreeBSD e no Mac (que não existe no Linux) para enviar a mensagem usando arping (ou arping2):
sudo arping -i wlan0 ff:ff:ff:ff:ff:ff
Este é um método adicional para verificar se algo do outro lado está respondendo.
Basicamente, se nada estiver respondendo, verifique sua chave WEP, se algo estiver respondendo, verifique se você está recebendo o pacote DHCP, se não, verifique seu servidor DHCP (talvez você tenha alguma restrição ACL baseada em endereços MAC).
Os outros comandos de diagnóstico que você pode executar são:
dmesg | tail
para ver se não há mensagens do kernel (por exemplo, erros de driver, etc.).
Verifique também se você tem uma ferramenta do Linux: iw
(man iw).
Poderia dar a você mais opções e possibilidades. Veja: link
Exemplo (para conectar-se a um AP que usa WEP):
iw wlan0 connect foo keys 0:abcde d:1:0011223344).
Depois de ter respondido pelo roteador, você pode verificar se está conectado à Internet.
Verifique o gateway primeiro, se estiver correto:
netstat -nr | head
Deve ser o primeiro endereço IP na coluna Gateway. Certifique-se de que ele esteja respondendo por pings padrão (ping IP).
Se não, você tem algum problema de configuração no roteador.
Se sim, tente fazer ping no DNS mais próximo:
ping 4.2.2.1
Se você tiver a resposta (isso significa que você tem acesso externo), você deve verificar sua configuração de DNS em /etc/resolv.conf (por exemplo, adicionando esta linha: nameserver 4.2.2.1
) ou verificar no roteador se ele foi atribuído a você os certos.