Wireless en Linux

En Octubre de 2005, Giovanni me mandó una tarjeta de red inalámbrica Belkin 54g [Part # F5D7011] para mi laptop, pero no la pude echar a andar en Linux porque el disco de instalación solo traía los controladores para windows.

Justamente hoy, logré configurarla por completo y los pasos que seguí realmente fueron muy sencillos, solo hacía falta leer en google, pensar un poco y dedicarle tiempo al asunto.

Los pasos que seguí para instalar mi tarjeta Belkin 54g en Linux SuSE 10.0 fueron los siguientes:

* Descargar e instalar el paquete rpm ndiswrapper-1.2-2.i586.rpm para suse 10.0

ndiswrapper es el proyecto que implementa la API del kernel de windows y la API NDIS (Network Driver Interface Specification) en el kernel de Linux.

Es totalmente recomendable (y por experiencia propia) desinstalar cualquier otra versión de ndiswrapper diferente a esta, de lo contrario no garantizo que funcione lo que se expone a continuación.

* También es necesario descargar los controladores de la tarjeta Belkin 54g que vienen en el disco de instalación y descomprimirlos en un directorio en Linux (podría ser en /tmp).

Una vez instalado el paquete ndiswrapper y con los controladores a la mano, solo hay que ejecutar un par de comandos.

* Como root y dentro del directorio en donde se descomprimieron los controladores de la tarjeta ejecutar lo siguiente:
ndiswrapper -i bcmwl5a.inf
Con lo cual se instalará el driver (*.sys) especificado por el archivo .inf

* Ahora, conecta la tarjeta Belkin al slot PCMCIA de tu computadora y luego carga el módulo al kernel de Linux ejecutando lo siguiente:
modprobe ndiswrapper

* Verifica que el indicador (led de color verde) en la tarjeta se enciende, si eso sucede, todo va bien, sino… deja de leer hasta aquí.

* Agrega ahora la tarjeta al sistema abriendo Yast2 y escogiendo Dispositivos de red > Tarjeta de red

* Añade un nuevo dispositivo dando clic en Añadir

* En la seccion Configuración de red elije Inalámbrico como tipo de dispositivo y luego marca la ultima casilla activando la opción PCMCIA y da click en Siguiente.

* Marca la opcion Configuración automática de direcciones (por DHCP)

* En la sección Configuración detallada > Nombre de ordenador y servidor de nombres activa la casilla Cambiar nombre de ordenador vía DHCP

* También activa la casilla Actualizar servidores de nombres y lista de búsqueda vía DHCP.

* Da clic en Siguiente

* En la sección Modo de operación elije la opción Gestionado

* En Identificador de red (ESSID) escribe el nombre del punto de acceso, por ejemplo (en mi caso) RED-ARNAIZ.

* En: Tipo de entrada de clave escribe la clave de cifrado (si es que se utiliza alguna) sino, deja en blanco el campo de texto.

* Da clic en el botón Claves WEP si es que el punto de acceso esta restringido por clave. (Aquí ya no es necesario que te indique que debes colocar la clave de acceso, ¿o si?

* Da clic en Siguiente para guardar los cambios, reiniciar la configuración de la red y finalizar

Hay varias aplicaciones KDE/GNOME que facilitan la gestión de conexiones de red, utiliza la que más prefieras para activar la conexión inalámbrica.

* Abre tu navegador y trata de acceder a la red, si todo va bien, felicidades… funcionó!!, sino… lo siento, tendrás que buscar más respuestas en google y dejar de leer esto ahora mismo.

Si ha funcionado y estas navegando con la tarjeta inalámbrica Belkin 54g, ahora sería deseable poder cargar el modulo al kernel de manera automática cada vez que se inicie el sistema, para eso, nada como un script de bash que aunque no es perfecto, funciona…

#!/bin/bash
#
### BEGIN INFO
# File: belkin.sh
# Abstract: Load the driver for the wireless Card Belkin 54g
# Require: ndiswrapper correctly installed in your system
# Developed by: Javier B. Camacho Martinez [vaLar]
# Date:  Fri Apr 21 16:25:52 CDT 2006
# Contact: valar.ainur:at:gmail.com
### END INFO
. /etc/rc.status
# First reset status of this service
rc_reset
#
# function to insert belkin module in linux kernel
#
load_module() {
 module_loaded=0
 echo -n "Loading module for Wireless Card Belkin"
 /sbin/modprobe ndiswrapper
 rc_status -v
 test $module_loaded -eq 0 && return 1
 return 0
}
#
# function to remove belkin module from linux kernel
#
unload_module() {
 if [ -d /proc/net/ndiswrapper/wlan0 ]; then
  echo -n "Shutting down belkin driver"
  lsmod | grep -E "^ndiswrapper" | while read m s; do
  /sbin/rmmod $m
  done
  rc_status -v
 fi
}
#
# function to show the status of belkin module
#
status_module() {
 if [ -d /proc/net/ndiswrapper/wlan0 ]; then
  echo -n "Belkin wireless driver loaded."
  rc_status -v
 else
  echo -n "Belkin wireless driver not loaded."
  rc_status -u
 fi
}
#
# Cases to call this script
#
case "$1" in
 start)
  load_module
 ;;
 stop)
  unload_module
 ;;
 status)
  status_module
 ;;
 *)
  echo "Script to load the wireless card Belkin module"
  echo "Developed by Javier B. Camacho Martinez [vaLar]"
  echo ""
  echo "To use type: $0 {start | stop | status}"
  exit 1
esac

Puedes ejecutarlo manualmente o colocarlo (con permisos 755) en /etc/rc.d/rc3.d/ para que se ejecute al arrancar el sistema

Anuncios

2 pensamientos en “Wireless en Linux

  1. fiajate tu…ahorita estoy tomando unos cursos de redes inalámbricas y hemos hecho las practicas con unas bonitas tarjetas USB de 3com que funcionan bién chido con Linux, estamo susando Slack ahorita y hoy tenemos una practica de ataque DoS a redes inalambricas…muuuuuuuuuuy buenos estos pinches cursos( a modo de chiste el profe dice que el mejor ataque DoS a una red inalambrica es poner un Horno de Microondas cerca del AP jajajaja).

    en fin…

  2. Y que tan cerca es “cerca” ??

    Porque aqui en la facultad hay un AP bastante bueno, pero curiosamente en ese laboratorio tienen un microondas y quizas no sepan que le estan causando algun daño a la señal.

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