Cómo verificar la conectividad del punto de acceso Wifi mediante el script Linux Ubuntu Server

Cómo verificar la conectividad del punto de acceso Wifi mediante el script Linux Ubuntu Server

Estoy escribiendo un script bash que configura el acceso a la red para mis dispositivos Linux.

El script debe ser utilizado por personas que no tengan conocimientos de Linux y que no tengan derechos administrativos en el dispositivo. Escribí la parte de configuración de las interfaces Ethernet y está bien. Ahora necesito escribirWifiparte de configuración.

El final del juego es escribir la configuración dentro de un archivo netplan configuration yaml file. Aquí el flujo de trabajo esperado del script:

  1. gestionar el sistema de menús interactivos recuperando los parámetros Wifi de alto nivel (SSID, contraseña, modo de autenticación, dhcp o configuración manual...)
  2. Verifique la conectividad con el punto de acceso seleccionado
  3. Guarde los datos en el archivo yaml de configuración de netplan
  4. Aplicar cambios

Los puntos 1, 3 and 4están bien... también está bien recuperar la lista de puntos de acceso disponibles.

Lo que no puedo lograr es el punto2 (Verifique la conectividad con el punto de acceso seleccionado). Me gustaría tener una experiencia de uso como la siguiente.

WIFI configuration parameters:
    SSID: My Network
    PSK:  password
Actions:
    - e: Edit
    - t: Test connectivity
    - s: Save
    - q: Quit
Select Action: t
....wait while testing connectivity
Test result: OK
Press a key to continue...

Lo intenté iwconfigpero no funciona con WPA, por lo que no se aplica a la mayoría de los casos.

Lo intenté wpa_supplicanty puedo hacer la prueba, pero no de la manera que estoy pensando... Es una prueba de primer plano que solo se puede detener ctrl-Cy es difícil de leer para los principiantes (mi etiqueta de usuario final).

Me gustaría

  1. iniciar la conexión Wifi en segundo plano
  2. Pruebe en segundo plano si la conexión al punto de acceso está bien o no.
  3. cierre la conexión Wifi en segundo plano (el objetivo final es configurar netplan)
  4. Devolver una respuesta OK/Falla al script de llamada

Por supuesto, es posible ejecutar wpa_supplicantla conexión, bgpero: ¿cómo comprobar la conectividad y detenerla siempre bg?

¿Cualquier sugerencia?

gracias sandro

información relacionada