linux wifi: como detectar o estado de “conexão” de uma interface?

0

No Linux, existe uma maneira (de baixo nível) de saber se uma interface sem fio está tentando conectar-se a uma rede?

Não consegui encontrar algo útil a este respeito em /sys/class/net/<iface>/operstate e irmãos, que parecem fornecer estados ou estatísticas estáveis.

Eu sei que wpa_supplicant log informa exatamente o que está acontecendo (e mais), mas não consigo ver nenhum parâmetro para consultar o daemon em tempo real, e não quero ativar o registro em log e consultar o estado como eu estou em uma plataforma pequena (despojado Armbian 4.9.82-ti-r102, Octavo SIP).

Pela mesma razão, não usarei nenhum gerenciador de rede, é claro.

    
por MoonCactus 27.04.2018 / 14:00

2 respostas

1

Você pode fazer o que esses gerentes de rede fazem e usar a interface de controle do soquete do wpa_supplicant (ou seu serviço D-Bus equivalente) para receber notificações ao vivo.

Por exemplo, os documentos da interface de controle mencionam os seguintes eventos:

  • CTRL-EVENT-EAP-STARTED: EAP authentication started (EAP-Request/Identity received)
  • CTRL-EVENT-EAP-SUCCESS: EAP authentication completed successfully
  • CTRL-EVENT-CONNECTED: Indicate successfully completed authentication and that the data connection is now enabled
    
por 28.04.2018 / 14:05
0

I do not want to enable logging and to poll the state as I am on a small platform

Use wpa_supplicant com a opção -f para criar um arquivo de log.

 -f output file
          Log  output  to  specified  file instead of stdout. 

use grep para verificar se uma interface sem fio está atualmente tentando se conectar a uma rede a partir do arquivo de log. veja minha resposta em U & L .

    
por 28.04.2018 / 14:46