Para un proyecto de desarrollo reciente, necesito obtener las credenciales WIFi del usuario final y enviarlas a wpa_supplicant para iniciar la conectividad WiFI. Escribí una utilidad usando C++ que hace el trabajo pero no de la manera adecuada. Lo que hace mi utilidad es configurar e intentar iniciar la conexión utilizando las credenciales proporcionadas. Si tiene éxito, no hay problema. Si falla, elimino la configuración y espero credenciales válidas del usuario. Y como apoyo a este módulo, estoy verificando la conectividad a Internet a través de la interfaz respectiva en segundo plano, ya sea que esté activa o ahora.
Aunque este método funciona perfectamente bien, siento que no es la forma correcta de hacerlo. Revisé la configuración de wpa_supplicant (que es un documento bastante largo) pero no pude encontrar ninguna solución. Todo lo que quiero hacer es antes de configurar al solicitante sondear el AP y asegurarme de que las credenciales sean correctas. Sé que esto no es posible sin una conexión completa al AP, pero si hay una manera de verificarlo sin configurar el solicitante, es suficiente.
Mi configuración ejecutándose en Debian Stretch
Respuesta1
Todo lo que quiero hacer es antes de configurar al solicitante sondear el AP y asegurarme de que las credenciales sean correctas.
Utilice el siguiente comando para conectarse a un APsin escribir un archivo de configuración:
wpa_supplicant -i <Interface> -c(wpa_passphrase "Your-AP-here" Your-password-here)
Utilice -B
la opción para ejecutar el comando en segundo plano.
Úselo grep
para filtrar los resultados o simplemente ejecútelo dhclient
para asegurarse de que esté conectado correctamente.