linux wifi: ¿cómo detectar el estado de "conexión" de una interfaz?

0

En Linux, ¿hay una manera (de bajo nivel) de saber si una interfaz inalámbrica está actualmente molesto para conectarse a una red?

No pude encontrar algo útil a este respecto en /sys/class/net/<iface>/operstate y los hermanos, que en su mayoría parecen proporcionar estados estables o estadísticas.

Lo sé wpa_supplicant el registro dice exactamente lo que está pasando (y más), pero no veo ningún parámetro para consultar al demonio en tiempo real, y no quiero habilitar el registro y sondear el estado como estoy en una plataforma pequeña (simplificada Armbian 4.9.82-ti-r102, Octavo SIP).

Por la misma razón no usaré ningún administrador de red, por supuesto.

MoonCactus
fuente

Respuestas:

1

Puede hacer lo que hacen esos administradores de red y usar el socket wpa_supplicant interfaz de control (o su servicio equivalente de D-Bus) para recibir notificaciones en vivo.

Por ejemplo, documentos de interfaz de control Menciona los siguientes eventos:

  • CTRL-EVENT-EAP-STARTED: Autenticación EAP iniciada (Solicitud / Identidad EAP recibida)
  • CTRL-EVENT-EAP-SUCCESS: la autenticación EAP se completó con éxito
  • CTRL-EVENTO-CONECTADO: Indica la autenticación completada con éxito y que la conexión de datos ahora está habilitada
grawity
fuente
Sí, este parece ser el trato. Hasta el momento logré evitar cualquier cosa compilada y usar shell solamente, y esto parece requerir C y enlazar con su API. Pero no es un problema real de todos modos, así que gracias de nuevo por indicarme una solución válida.
MoonCactus
¿Qué API? El API libc socket? Eso va a estar presente en tu sistema. no importa qué .
grawity
0

No quiero habilitar el registro y sondear el estado ya que estoy en una plataforma pequeña

Utilizar wpa_supplicant con el -f Opción para crear un archivo de registro.

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

entonces usa grep verificar Si una interfaz inalámbrica está intentando conectarse a una red desde el archivo de registro. ver Mi respuesta en U & amp; L .

GAD3R
fuente
Gracias, pero eso es precisamente lo que no quería hacer (habilitar el registro y tener que hacer una encuesta);)
MoonCactus
No tienes que encuesta archivos, puedes usar inotify para seguirlos ...
grawity
seguro, pero sigue siendo un archivo de registro y el observador se activa en cada línea
MoonCactus