script para configurar interfaz wifi
Volviendo a calentar motores con Linux (hace varios meses que no tocaba!!!) hice un script para configurar y conectar la wifi.
Bueno, como descripción general:
- ocupo una función definida en el script para escribir en un log, son un par de lineas pero dejan información bastante útil.
- la condición $? revisa el número de salida del último comando ejecutado, si es 0, ha sido exitoso.
La lógica del script es:
- revisar si la interfaz tiene extensión Wireless.
- Si la tiene, configurarla con el essid, tipo de key y pass que hayamos configurado.
- Si se configura bien, intentar obtener IP por DHCP
El log tiene el siguiente formato:
dd/mm/aa hh:mm:ss: evento
# conectar mi wifi
# loguea información, y evalua si es correcta la interfaz,
# para buscar por DHCP una ip
# Jorge Mestre - LugSaJu
# archivo de log
archLog="/var/log/conexion_wifi.log"
# función para escribir en el log
escLog(){
local fecha=`date +%d/%m/%y\ %H:%M:%S` #fecha con formato: dd/mm/aa hh:mm:ss"
local texto="$1" # argumento con el que se llamo a la funcion, el texto que se quiere loguear
echo "$fecha: $texto" | tee -a $archLog # redirigido al log
} # fin funcion
#definimos información necesaria...
int="wlan0"
essid="WLAN_FB"
tipoKey="open"
pass="contraseña"
# $? equivale al número de error que deja el último comando ejecutado
# 0 es exitoso
/sbin/iwconfig $int 2>&1
if [ $? -ne 0 ];then
escLog "$int no tiene extensión Wireless, saliendo..."
exit
fi
/sbin/iwconfig $int essid $essid key $tipoKey $pass
if [ $? -ne 0 ];then
escLog "iwconfig no pudo configurar $int con essid $essid, saliendo..."
exit
fi
escLog "$int conectada a $essid, vamos a obtener IP"
/sbin/dhcpcd $int
if [ $? -ne 0 ];then
escLog "no se pudo obtener una IP mediante DHCP para $int con essid $essid..."
fi
escLog "fin del script"