Eu tenho um Raspberry Pi (rodando Raspbian) e um adaptador USB sem fio LB-LINK servindo como um ponto de acesso 802.11n com WPA2, rodando com hostapd e isc-dhcp-server. No Pi, eu tenho um script python que envia pacotes multicast de cerca de 50 bytes a uma taxa de 25Hz. Percebemos que quando um cliente sem fio fica fora do alcance (e às vezes quando volta ao intervalo) do AP, o AP começa a se comportar de maneira estranha. Especificamente, o comando socket.sendto () nos blocos de script python e os clientes sem fio desconectados não podem entrar na rede. Nos tablets Android, a rede aparece com 1 barra de intensidade de sinal, mesmo que estejam bem próximos da antena. Os clientes já conectados ao AP parecem permanecer conectados (a captura do Wireshark de um cliente que já estava conectado mostra que ele continua trocando pacotes com o roteador) e mostra uma barra cheia de intensidade do sinal. Observe que o cliente sem fio que sai do intervalo não precisa fazer parte do grupo de multicast (pelo menos, eu nunca defini explicitamente que seja, e não estamos enviando para o grupo de todos os hosts). O canal sem fio que estamos usando não é usado por outros pontos de acesso próximos. O hostapd não reporta nenhuma anormalidade, e pará-lo e iniciá-lo não corrige o problema. Nós não vimos isso com o tráfego UDP regular sendo enviado na mesma taxa.
Alguém sabe por que tirar um cliente sem fio fora do alcance do ponto de acesso conectado pode fazer com que o ponto de acesso "caia" se houver dados multicast sendo enviados pela rede? Infelizmente, não tenho muitos recursos para continuar com essa questão, por isso estou apenas pedindo para ver se o problema parece familiar a alguém e se eles foram capazes de resolvê-lo.
EDITAR: Acabei de reproduzir isso em hardware completamente diferente. Um NETGEAR WNR2000 com os pacotes multicast provenientes de um aplicativo Visual C ++ em execução em um dispositivo WinCE conectado via ethernet (ou seja, completamente diferente da configuração usada acima). Parece ser mais raro com essa configuração, mas eu definitivamente fiz isso acontecer.
sendto
? Se assim for, não deveria ser surpreendente que bloqueie.