Problemas con el acceso wifi en un EeePC 901

6 11 2008

Recientemente he adquirido un EeePC, lo primero que he hecho ha sido sustituir el S.O. por Ubuntu 8.04.

Tras unas horas peleándome con la máquina conseguí que “aparentemente” todo funcionara.


Me alegró ver en la barra superior el indicador de conexión wifi y mi conexión entre las disponibles, así que, mediante unos sencillos pasos, definí los parámetros de mi conexión (empleo clave WPA-PSK con TKIP y servidor DHCP desactivado) y el indicador de señal se puso azul. Todo apuntaba a que ya estaba configurado pero por desgracia no conseguía acceso al exterior así que, decidí pasar de los interfaces gráficos y recurrir al modesto pero infalible terminal.

Por si alguien está interesado en los pasos que di adjunto un script que resume todo y, que es el que empleo cuando quiero conectarme. Está sin pulir pero cumple.

NOTA: No requiere de la instalación de ningún paquete adicional y por el contrario se puede eliminar los de “network-manager”.

Ficheros requeridos:

/etc/wpa_supplicant/wpa_supplicant.conf

/etc/resolv.conf

/etc/resolv2.conf

/usr/local/bin/wifi.sh

 

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant


network={
ssid=“identificador_de_la_red”
key_mgmt=WPA-PSK
pairwise=TKIP
psk=“clave_de_acceso”
}

/etc/resolv.conf


nameserver X.X.X.X
nameserver X.X.X.X

/etc/resolv2.conf

Este fichero, sobreescribe a resolv.conf en uno de los bloques del siguiente script, para garantizar su correcta configuración, ya que por algún extraño motivo, el paquete network-manager no respeta su contenido ni aun cuando estos mismos datos se añaden mediante su asistente. Finalmente, me decante por desinstalar el paquete en cuestión. En ese caso, no sería necesario el empleo de este fichero ni del correspondiente bloque en el siguiente script.


nameserver X.X.X.X
nameserver X.X.X.X

/usr/local/bin/wifi.sh


#!/bin/sh


# Declaración de variables conexión
PA=“identificador_de_la_red”
INT_ETH=“eth0”
INT_WIFI=“ra0”
IP_INT_WIFI=“192.168.X.X”
MASK_INT_WIFI=“255.255.255.0”
IP_GATEWAY=“192.168.X.X”


# Mensaje para los casos de error
MSJ_FIN_ERROR=”>> ¡¡Fin del proceso por error!! :: ”


# Dirección empleada para verificar la existencia de conexión
DIR_PING_VERIFICA=”www.debian.org”


RUN_PATH=“/var/run”
WPA_PATH=“/etc/wpa_supplicant/wpa_supplicant.conf”

clear


# Limpieza de ficheros empleados durante el proceso
# de conexión
limpieza_ficheros(){
if [ -f “$RUN_PATH/wifi.sh.wpa_supplicant.pid” ]; then
sudo rm “$RUN_PATH/wifi.sh.wpa_supplicant.pid”
fi

if [ -w “$RUN_PATH/wpa_supplicant” ]; then
sudo rm -r “$RUN_PATH/wpa_supplicant”
fi
}


# Mensaje de inicio de script
echo “##############################################”
echo “# CONFIGURACIÓN DE ACCESO WIFI”
echo “# —————————————- ”
echo “# 3eq11 2008 ”
echo “##############################################”
echo
echo “>> PA = $PA”

limpieza_ficheros


# Bloqueo del interface eth
if sudo ifconfig $INT_ETH up; then
echo “>> Interface $INT_ETH bloqueado”
IT1_OK=1
else
echo -n $FIN_ERROR
echo “Ha sido imposible bloquear el interface $INT_ETH”
exit
fi


# Reinicio del interface wifi
if sudo ifconfig $INT_WIFI down; then
if sudo ifconfig $INT_WIFI up; then
echo “>> Interface $INT_WIFI reiniciado”
else
echo -n $MSJ_FIN_ERROR
echo “Ha sido imposible reiniciar el interface $INT_WIFI”
exit
fi
else
echo -n $MSJ_FIN_ERROR
echo “Ha sido imposible reiniciar el interface $INT_WIFI”
exit
fi

echo


# Asignación de ip al interface wifi
if sudo ifconfig $INT_WIFI $IP_INT_WIFI; then
echo “>> ip = $IP_INT_WIFI”
else
echo -n $MSJ_FIN_ERROR
echo “Ha sido imposible asignar la dirección ip [$IP_INT_WIFI]”
exit
fi


# Asignación de la máscara al interface wifi
if sudo ifconfig $INT_WIFI netmask $MASK_INT_WIFI; then
echo “>> mask = $MASK_INT_WIFI”
else
echo -n $MSJ_FIN_ERROR
echo “Ha sido imposible asignar la mascara [$MASK_INT_WIFI]”
exit
fi


# Asignación de la ruta de gateway por defecto
if sudo route add default gw $IP_GATEWAY; then
echo “>> gateway = $IP_GATEWAY”
else
echo -n $MSJ_FIN_ERROR
echo “Ha sido imposible asignar la ruta del gateway [$IP_GATEWAY]”
exit
fi

echo


# Asignación de servidores dns
#
# La asignación en un fichero resolv2.conf se debe a que
# el paquete Network-manager por algún motivo sobreescribe
# el originaly pierdo la configuración DNS.
# Finalmente me decanté por desinstalar este paquete,
# por lo que no sería necesario emplear el siguiente bloque.
#
if sudo cp /etc/resolv2.conf /etc/resolv.conf; then
echo “>> Asignación servidores DNS”
else
echo -n $MSJ_FIN_ERROR
echo “Ha sido imposible asignar los servidores DNS”
exit
fi


echo “>> Iniciado proceso de negociación de clave WPA …”
echo


# Negociación de clave wpa
sudo wpa_supplicant -i $INT_WIFI -c $WPA_PATH &
echo $! > “$RUN_PATH/wifi.sh.wpa_supplicant”
PID_WPA=$!
echo “>> PID de wpa_supplicant = $PID_WPA”
echo


# Verificación de existencia de conexión
if ping -q -c1 “$DIR_PING_VERIFICA” > null; then
echo
echo “>> OK — Conexión establecida –”
else
echo
echo -n $MSJ_FIN_ERROR
echo “Ha sido imposible establecer la conexión”
echo
#limpieza_ficheros
#echo “Limpiando ficheros …”
sudo kill $PID_WPA
echo “Matando proceso WPA …”
exit
fi


# Mensaje de fin de script
echo
echo “##############################################”


Add to Technorati Favorites

Anuncios

Acciones

Information

One response

18 12 2008
Anonimo

Muchas Grax por la información, estoy seguro q algún dia la necesitare.

Saludos!!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: