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.

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

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 .


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.