Configuración de la red inalámbrica en Debian

Inicio
Última actualización: 16 de diciembre, 2008

Tabla de Contenido

Introducción

La red local inalámbrica (Wireless LAN), a veces llamada Wi-Fi, es una tecnología basada en la norma IEEE 802.11. Las definiciones más comunes son las enmiendas b,a y g del protocolo original. Las normas 802.11b y 802.11g usan la banda de 2.4 GHz, por lo que pueden interferir con otros aparatos que usan la misma banda, como teléfonos inalámbricos. La norma 802.11a usa la banda de 5 GHz.

El uso del espectro de frecuencias de radio son fuertemente reguladas por los países. La mayoría de los dispositivos de tarjetas WLAN no pueden distribuirse como código abierto. La parte del dispositivo que define las frecuencias de las ondas de radio es normalmente distribuido como firmware, lo que lo hace en principio inmodificable.

Los pasos a seguir para configurar la red inalámbrica es primero determinar el chipset de la tarjeta, luego instalar el módulo del dispositivo en el núcleo de Linux y finalmente configurar el protocolo de autenticación, el que permite una comunicación segura entre emisor y receptor.

Ingresa a root, por ejemplo, corriendo un "Terminal de <Root>" en el menú "Aplicaciones/Accesorios" o, en el mismo menú, un "Terminal" y luego el comando su (super user).

Determinar el dispositivo WLAN

El comando lspci, que produce en la pantalla una lista de todos los dispositivo PCI del computador, puede ayudarte a determinar el dispositivo de la tarjeta WLAN. Busca las palabras "Ethernet controller" o "Network controller" y referencias a "Wireless" o la norma 802.11. El texto que sigue normalmente identifica el dispositivo que necesitas. Por ejemplo,

# lspci
02:03.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
00:09.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
03:00.0 Network controller: Broadcom Corporation Dell Wireless 1390 WLAN Mini-PCI Card (rev 02)

La primera columna arroja los números del bus PCI al cual la tarjeta está conectada con el formato <bus>:<slot>:<func> (por ejemplo, 02:04:0). Corre,

lspci -n -s <bus>:<slot>:<func>

para determinar el vendor y device ID de la tarjeta. Por ejemplo,

# lspci
02:03.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)

# lspci -n -s 02:03.0
02:03.0 0280: 8086:1043 (rev 04)

En éste caso el vendor y device ID de la tarjeta es 8086:1043.

Si el vendor ID de la tarjeta el 8086 entonces el chipset es de marca Intel. El dispositivo puede ser ipw2100 (Intel PRO/Wireless 2100), ipw2200 (Intel PRO/Wireless 2200/2915ABG) o ipw3945 (Intel PRO/Wireless 3945ABG), dependiendo del device ID que tengan.

Si el vendor ID de la tarjeta el 14e4 entonces el chipset es Broadcom Dell Wireless 1390.

Otros vendor ID pueden tener chipset madwifi (Atheros) o linux-wlan-ng (Prism/Atmel/Realtek). Busca en las listas que se proporcionan.  

Dispositivo Intel PRO/Wireless 2100/2200/3945

El vendor y device ID de estas tarjetas son:

  
device:vendor subsystem Tarjeta dispositivo
8086:1043    PRO/Wireless LAN 2100 3B Mini PCI Adapter ipw2100
   8086:2522 Samsung P30 integrated WLAN   ipw2100
   8086:2527 MIM2000/Centrino       ipw2100
   8086:2581 Toshiba Satellite M10     ipw2100
8086:4220    PRO/Wireless 2200BG Network Connection ipw2200
   8086:2581 Samsung P35 integrated WLAN   ipw2200
8086:4222    PRO/Wireless 3945ABG Network Connection ipw3945
   8086:1005 PRO/Wireless 3945BG Network Connection ipw3945
   8086:1034 PRO/Wireless 3945BG Network Connection ipw3945
   8086:1044 PRO/Wireless 3945BG Network Connection ipw3945
8086:4223    PRO/Wireless 2915ABG Network Connection ipw2200
   1351:103c Compaq NC6220   ipw2200
8086:4224    PRO/Wireless 2915ABG Network Connection ipw2200
8086:4227    PRO/Wireless 3945ABG Network Connection ipw3945
   8086:1011 Thinkpad X60s, R60e model 0657   ipw3945
   8086:1014 PRO/Wireless 3945BG Network Connection ipw3945

Estos dispositivos no vienen en el núcleo de instalación, pero Debian distribuye tanto los módulos pre-compilados para el núcleo de instalación como las fuentes y requieren adicionalmente firmware.

Instalación del firmware

ipw2100/ipw2200

Anda a,

  http://ipw2200.sourceforge.net/firmware.php

y descarga el firmware versión 3.0.

Para ipw2100 anda a,

  http://ipw2100.sourceforge.net/firmware.php

y descarga el firmware versión 1.3.

Descomprime el archivo ipw2200-fw-3.0.tgz con,

# tar -zxvf ipw2200-fw-3.0.tgz

y mueve los archivos ipw2200*.fw al directorio /lib/firmware con,

# mv ipw2200*.fw /lib/firmware

ipw3945

Instala el paquete firmware-ipw3945,

# apt-get install firmware-ipw3945

Módulos para núcleo de instalación

Si tienes el núcleo de instalación, instala los módulos pre-compilados. Los módulos se instalan y configuran de forma muy similar. Usaremos ipw2200 como ejemplo. En todos los pasos puedes substituir ipw2200 por ipw2100 o ipw3945.

# apt-get install ipw2200-modules-`uname -r`

Carga el módulo en el núcleo con,

# modprobe ipw2200

Determina ahora la unidad del dispositivo.

Compilación del módulo

Si no usas el núcleo de instalación de Debian, compila el módulo a partir de la fuente del dispositivo.

Los módulos se complilan de forma muy similar. Usaremos ipw2200 como ejemplo. En todos los pasos puedes substituir ipw2200 por ipw2100 o ipw3945.

Instala la fuente del dispositivo,

# apt-get install ipw2200-source

Anda al directorio /usr/src con,

# cd /usr/src

y descomprime la fuente,

# tar -jxvf ipw2200.tar.bz2

Corre,

# module-assistant auto-install ipw2200

Esto compila e instala el módulo en el núcleo.

Determina ahora la unidad del dispositivo.  

Dispositivo MadWifi para chipset Atheros

El chipset Atheros es usado en tarjetas inalámbricas 3Com, Atheros, Belkin, D-Link y Linksys, entre otras. El vendor ID de estas tarjetas es 168c (Atheros) y device ID 0011, 0012, 0013, 001a, 001b y 0024. Consulta la lista de compatibilidad de MadWifi,

  http://madwifi.org/wiki/Compatibility

Instala los encabezados del núcleo de instalación,

# apt-get install linux-headers-`uname -r`

Instala la fuente del dispositivo madwifi,

# apt-get install madwifi-source

Instala también el paquete madwifi-tools.

Anda al directorio /usr/src con,

# cd /usr/src

y descomprime la fuente,

# tar -jxvf madwifi.tar.bz2

Compila e instala el módulo con,

# module-assistant auto-install madwifi

Carga el módulo en el núcleo,

# modprobe ath_pci

Determina ahora la unidad del dispositivo.  

Dispositivo Broadcom Dell Wireless 1390 con ndiswrapper

El vendor y device ID de esta tarjeta es 14e4:4311.

Instala ndiswrapper-source,

# apt-get install ndiswrapper-source

Compila e instala el módulo con,

# module-assistant auto-install ndiswrapper

Descarga en dispositivo Windows XP,

Windows XP broadcom driver o Windows XP 64 broadcom driver .

Advertencia: Estos dispositivos para Windows XP no parecen funcionar con WPA.

Instala cabextract,

# apt-get install cabextract

Desempaqueta el dispositivo,

# cabextract SP34167.exe

Instala el dispositivo,

# ndiswrapper -i bcmwl5.inf
installing bcmwl5 ...

Prueba la instalación,

# ndiswrapper -l
bcmwl5 : driver installed

Desinstala el módulo bcm43xx del núcleo,

# rmmod bcm43xx

Para evitar que vuelva a cargarse, bloquéalo con,

# echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist

Instala el módulo ndiswrapper,

# modprobe ndiswrapper

Agrega ndiswrapper a la lista de módulos que se cargan al arranque,

# echo "ndiswrapper" >> /etc/modules

Determina ahora la unidad del dispositivo.  

Dispositivo linux-wlan-ng

Este dispositivo soporta una variedad de chipsets, como Prism2/2.5/3, Atmel, Realtek, entre otras, usados en una variedad de tarjetas inalámbricas PCMCIA, PCI y USB. Ve la lista de compatibilidad,

  http://www.linux-wlan.org/docs/wlan_adapters.html.gz

Instala los encabezados del núcleo de instalación,

# apt-get install linux-headers-`uname -r`

Instala la fuente del dispositivo linux-wlan-ng,

# apt-get install linux-wlan-ng-source

Anda al directorio /usr/src con,

# cd /usr/src

y descomprime la fuente,

# tar -jxvf linux-wlan-ng.tar.bz2

Compila e instala el módulo con,

# module-assistant auto-install linux-wlan-ng

Determina ahora la unidad del dispositivo.  

Unidad del dispositivo

Instala el paquete wireless-tools con,

# apt-get install wireless-tools

Corre iwconfig para determinar a qué unidad está ligado el dispositivo inalámbrico,

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

ath0      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: Not-Associated
          Bit Rate=54 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0
          Retry limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

sit0      no wireless extensions.

En este caso el dispositivo inalámbrico es ath0. Puede tener cualquier nombre. Lo importante es identificar el nombre del dispositivo con extensiones inalámbricas. Vamos a usar ath0 como ejemplo.

Corre 'iwlist ath0 scanning' para ver las redes inalámbricas que están transmitiendo a tu alrededor,

# iwlist ath0 scanning
ath0      Scan completed :
          Cell 01 - Address: 00:14:BF:39:0C:C5
                    ESSID:"miwifi"
                    Protocol:IEEE 802.11bg
                    Mode:Master
                    Channel:6
                    Encryption key:on
                    Bit Rate:54 Mb/s
                    Extra: Rates (Mb/s): 1 2 5.5 6 9 11 12 18 24 36 48 54
                    Signal level=-46 dBm
                    Extra:wpa_ie=dd180050f20101000050f20201000050f20201000050f2020000
                    Extra: Last beacon: 10ms ago
          Cell 02 - Address: 00:0F:24:AE:0D:43
                    ESSID:"publica"
                    Protocol:IEEE 802.11b
                    Mode:Master
                    Channel:4
                    Encryption key:off
                    Bit Rate:11 Mb/s
                    Extra: Rates (Mb/s): 1 2 5.5 11
                    Signal level=-78 dBm
                    Extra: Last beacon: 19ms ago

En este caso hay dos redes inalámbricas, una llamada "miwifi", que transmite en el canal 6 y que está protegida con una llave de encriptación (Encryption key:on) y otra llamada "publica" que transmite en el canal 4, sin llave de encriptación.

Ahora necesitas conectarte a la red inalámbrica. Puede ser una red abierta, con encriptación WEP (Wired Equivalent Privacy) o WPA (Wi-Fi Protected Access).  

Red inalámbrica abierta

Conectarse a una red inalámbrica abierta requiere solo definir el dispositivo en /etc/network/interfaces. Edita este archivo,

# nano /etc/network/interfaces

y agrega al final,

# public wireless network
auto ath0
iface ath0 inet dhcp

sustituyendo ath0 por el nombre del dispositivo inalámbrico.

Instala resolvconf para determinar automáticamente el DNS de la red,

# apt-get install resolvconf

Reinicia la red con,

# /etc/init.d/networking restart

o reinicia el computador.  

Red inalámbrica con WEP

Edita el archivo /etc/network/interfaces,

# nano /etc/network/interfaces

Define el dispositivo como si fuese un dispositivo normal, pero agregando declaraciones específicas para WEP. Por ejemplo,

# wireless network
auto ath0
iface ath0 inet dhcp
        wireless_essid miwifi
        wireless_channel 6
        wireless_mode managed
        wireless_keymode open
        wireless_key1 millavehexadecimal
        wireless_key2 s:millaveascii
        wireless_defaultkey 1

En este caso, el Access Point o Router inalámbrico está configurado para asignar números IP con DHCP (caso más común).

Si la red usa números IP estáticos,

# wireless network
auto ath0
iface ath0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        wireless_essid miwifi
        wireless_channel 6
        wireless_mode managed
        wireless_keymode open
        wireless_key1 millavehexadecimal
        wireless_defaultkey 1

Substituye el nombre del dispositivo (ath0), los números IP estáticos y todo los valores relacionados al Access Point o Router inalámbrico por los valores correctos. Consulta con el administrador de la red.

Instala resolvconf para determinar automáticamente el DNS de la red,

# apt-get install resolvconf

Reinicia la red con,

# invoke-rc.d networking restart

o reinicial el computador.  

Red inalámbrica con WPA

Instala el paquete wpasupplicant con,

# apt-get install wpasupplicant

Edita el archivo /etc/network/interfaces,

# nano /etc/network/interfaces

Define el dispositivo como si fuese un dispositivo normal, pero agregando declaraciones específicas para WPA. Por ejemplo,

# wireless network
auto eth1
iface eth1 inet dhcp
	wpa-driver wext
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

En este caso, el Access Point o Router inalámbrico está configurado para asignar números IP con DHCP (caso más común).

Si la red usa números IP estáticos,

# wireless network
auto eth1
iface eth1 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
	wpa-driver wext
	wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Substituye el nombre del dispositivo inalámbrico (eth1) y los números IP por los correctos. Substituye también el dispositivo WPA, en el instructivo wpa-driver, según la siguiente tabla:

Dispositivo Descripción
hostap Host AP driver (Intersil Prism2/2.5/3)
madwifi MADWIFI 802.11 support (Atheros, etc.)
atmel ATMEL AT76C5XXx (USB, PCMCIA)
wext Linux wireless extensions (generic)
ndiswrapper Linux ndiswrapper
ipw Intel ipw2100/2200 driver
wired wired Ethernet driver

Esta misma tabla la puedes encontrar en /usr/share/doc/wpasupplicant/README.modes.gz.

Los dispositivos inalámbricos ipw2100, ipw2200 y ipw3945 usan el dispositivo wext. Prueba con ipw y si no funciona vuelve a wext. Los mismo vale para madwifi.

Crea el archivo /etc/wpa_supplicant/wpa_supplicant.conf con un editor,

# nano /etc/wpa_supplicant/wpa_supplicant.conf

Inserta las siguientes líneas,

ctrl_interface=/var/run/wpa_supplicant

network={
        ssid="miwifi"
        scan_ssid=1
        proto=WPA
        key_mgmt=WPA-PSK
        psk=mifrasesecreta
}

Modifica el Service Set identifier (SSID) de la red y la frase secreta PSK. Consulta con el administrador de la red.

Si prefieres que la frase secreta no sea visible, corre,

# wpa_passphrase miwifi mifrasesecreta

para obtener una frase secreta PSK pre-computada,

# wpa_passphrase miwifi mifrasesecreta
network={
        ssid="miwifi"
        #psk="mifrasesecreta"
        psk=ebafa355d899e62a7f55bec8a08e26fc83e8cbeb98138ab26a030b400f3298fd
}

Edita /etc/wpa_supplicant/wpa_supplicant.conf nuevamente y substituye la frase secreta en ascii por la generada con wpa_passphrase,

ctrl_interface=/var/run/wpa_supplicant

network={
        ssid="miwifi"
        scan_ssid=1
        proto=WPA
        key_mgmt=WPA-PSK
        psk=ebafa355d899e62a7f55bec8a08e26fc83e8cbeb98138ab26a030b400f3298fd
}

Instala resolvconf para determinar automáticamente el DNS de la red,

# apt-get install resolvconf

Reinicia la red con,

# invoke-rc.d networking restart

o reinicia el computador.

Copyright © 2002-2008 Ricardo Yanez


This document was generated using AFT v5.096