# Manual de Wireless con WPA (ndiswrapper & wpa_supplicant

## Josemilla

Creado a partir de la gran cantidad de información encontrada en estos foros, os pongo mi historia para configurar una red WiFi con WPA (según dicen, mejor que WEP). En principio, es para usar ndiswrapper con wpa, pero es fácilmente adaptable a tarjetas con soporte nativo saltándose el punto 2.

Manual de Wireless con WPA PSK(ndiswrapper & wpa_supplicant) 

1. Emergiendo las herramientas necesarias.

Vamos a "emerger" wireless-tools y wpa_supplicant, evidentemente si ya los teneís instalado, omitiremos este paso.

```
# emerge wireless-tools wpa_supplicant 
```

2. Configurar ndiswrapper.

```
# emerge ndiswrapper 
```

ndiswrapper proporciona un envoltorio en GNU/Linux para utilizar los drivers de Microsoft Windows. Mi tarjeta en particular, una PCMCIA Belkin 7010 con chipset de Broadcom, no tiene soporte nativo en Linux. Asi que cogí los drivers de Windows (tuve que volver a Windows y extraer los drivers del ejecutable con WinRAR): me encontre una carpeta llamada winxp, donde están los DOS archivos necesarios para ndiswrapper, .inf y .sys (bcmwl5.inf y bcmwl5.sys). 

Para otras tarjetas pasaros por aquí, tiene todas las tarjetas soportadas por ndiswrapper y enlaces a los drivers.

Copiamos estos dos archivos en /lib/windows, y los instalamos en ndiswrapper así: 

```
# ndiswrapper -i /lib/windows/bcmwl5.inf
```

Si todo funciona correctamente, el siguiente comando comprueba que va todo bien:

```
# ndiswrapper -l 

Installed ndis drivers: 

bcmwl5  driver present, hardware present
```

Para cargarlo automáticamente al inicio,  podemos añadir ndiswrapper en /etc/modules.autoload.d/kernel-2.x

3. Configuración para WPA-PSK (Pre-Shared Key).

Para poder conectar a una red inalámbrica con encriptación WPA-PSK, necesitamos wpa_supplicant, ya emergido en el primer paso. Modificamos el archivo /etc/conf.d/wpa_supplicant: 

```
# List of interfaces 

INTERFACES="wlan0" 

# Common arguments to all wpa_supplicant instances 

ARGS="-w" 

# Interface specific arguments 

ARGS_wlan0="-Dndiswrapper"
```

Y el archivo /etc/wpa_supplicant.conf lo dejamos asi: 

```
ctrl_interface=/var/run/wpa_supplicant 

ctrl_interface_group=0 

eapol_version=1 

ap_scan=1 

 

network={ 

        ssid="MiWiFi" #Aqui pones el SSID de tu red 

        proto=WPA 

        key_mgmt=WPA-PSK 

        pairwise=CCMP TKIP 

        group=CCMP TKIP WEP104 WEP40 

        psk="Aquí va tu clave" #Aqui tu clave 

        priority=2 

}
```

Arrancamos wpa_supplicant y lo añadimos al inicio del sistema:

```
# /etc/init.d/wpa_supplicant start 

# rc-update add wpa_supplicant default
```

Sólo queda configurar la dirección dirección IP de la tarjeta dependiendo de si es IP estática o dinámica. Tengo por ahí un script de inicio para configurar la tarjeta de red, pero es muy casero.

----------

## Yoshi Assim

Configuración de una tarjeta Asus WL-100g con chip Broadcom BCM4306 802.11b/g.

Esta tarjeta debe configurarse usando ndiswrapper y wpa_supplicant. Escribo esta nota porque desde una de las últimas actualizaciones de mi Gentoo me enpezó a aparecer este mensaje durante la inicialización de la red:

```
Warning: Driver for device wlan0 recommend version 18 of Wireless Extension, but has been compiled with version 17, therefore some driver features may not be available...
```

Después de haber re-emergido ndiswrapper ya haber recompilado el kernel sin éxito y de buscar por los Foros de Gentoo encontré un post donde se decía que ahora, despues de cambios en el baselayout era necesario crear el fichero /etc/conf.d/wireless (se adjunta /etc/wireless.example  com punto de partida).

Así lo hice y el "mensajito" seguía saliendo...  :Shocked:   antes salía una vez y ¡¡¡ahora cuatro veces!!!  :Shocked:   :Shocked:   :Shocked:   :Shocked: 

Antes de la "aparición" del mensaje todo funcionaba OK, después también... Pero era molesto porque indicaba que algo no estaba bien configurado...

Usaba la versión del driver para windows XP 3.60.7.0 (la última disponible par descarga desde la Web de Asus)...

Empecé a buscar información en los foros y encontré un artículo en el Wiki de Gentoo: 

http://gentoo-wiki.com/HOWTO_Wireless_Configuration_and_Startup

donde el redactor del artículo recomienda usar wpa_supplicant para configurar la red inalámbrica...

Además tenía las siguientes versiones de los paquetes en mi sistema:

net-wireless/ndiswrapper-1.2

net-wireless/wireless-tools-27-r1

net-wireless/wpa_supplicant-0.3.9-r1

El autor recomienda recompliar las wireless tools contra el kernel actual (yo uso ck-sources 2.6.12-ck6).

Suiguiendo las indicaciones del artículo hice los siguientes cambios:

Paso 1

Comprobé que el link /etc/init.d/net.wlan0 apuntara a /etc/init.d/net.lo y NO lo hiciera a /etc/initd./net.eth0

Paso2

Modifiqué convenientemente /etc/conf.d/net para reflejar mi configuración de red: tengo dos tarjetas PCCARD. Una Asus WL100g 802.11b/g y una Xircom Combo Card Fast Ethernet + Modem. Estos son las líneas que añadí:

```

...

# We can also specify a broadcast

#config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )

#config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )

config_eth0=( "192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255" ) # para la xircom

config_wlan0=( "192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255" ) # para la asus 

...

```

Añadí las Direcciones IP del Gateway para cada tarjeta de red...

```

routes_eth0=(

        "default via 192.168.0.254"   #para la xircom

)

routes_wlan0=(

        "default via 192.168.0.254"   #para la asus

)

```

Activé el módulo wpa_suppliant según indicación de este artículo.

```

modules=( "wpa_supplicant" )

wpa_supplicant_wlan0="-Dndiswrapper"

wpa_timeout_wlan0=60

```

Paso 3 Modifiqué /etc/wpa_supplicant.conf para adaptarlo a mi configuración de red: Router ADSL de Telefónica Prestige 650HW-31E con wireless. Creo que este router NO soporta WAP sólo WEP...

```

network={

        ssid="zyxel"                            # Este es el ESSID de mi red (que además está oculto)

        key_mgmt=NONE

        wep_key0="1234567890123"    # Pon aquí tu clave 1 (13 caracteres para encriptacion WEP de 128 bits)

        wep_key1="1234567890123"    # Pon aquí tu clave 2

        wep_key2="1234567890123"    # Pon aquí tu clave 3

        wep_key3="1234567890123"    # Pon aquí tu clave 4

        wep_tx_keyidx=0

        priority=5

}

```

Ahora ya no aparece este "mensajito de marras"  :Very Happy:   :Very Happy:   :Very Happy:   y además puedo cambiar la tarjeta wireless por la ethernet (recuerda son PCCARD) y se configuran automáticamente al insertarlas en cualquiera de los dos slots PCCARD (tengo instalado el daemon coldplug. :Very Happy: 

He escrito este pequeño post por si alguien tuviera el mismo problema ( o parecido ) y le pueda servir de ayuda, guía u orientación para solucionar el suyo. Esta configuración es para obtener dirección IP fija pero si leeís el fichero /etc/conf.d/net, que está muy bien comentado, vereís que hay un montón de ejemplos para otras configuraciones: DHCP, bonding, tunelling, etc...

Captura de la Pantalla de Configuración Wireless del Router Zyxel Prestige 650HW-31E

 *Quote:*   

> 
> 
>                           Menu 3.5- Wireless LAN Setup
> 
>                     ESSID= zyxel
> ...

 

----------

## chamics

Sabeis si el Asus WL-100g sirve para linux?

----------

