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 Netwok 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 Copr. 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)
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 :
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
Para ipw2200 ir a, http://ipw2200.sourceforge.net/firmware.php y descarga el firmware versión 3.0 o superior.
Para ipw2100 ir a, http://ipw2100.sourceforge.net/firmware.php y descarga el firmware versión 1.3 o superior.
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 com 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 compilan de forma muy similar. Usaremos ipw2200 como ejemplo. En todos los pasos puedes substituir ipw2200 por ipw2100 0 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. Ir 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 bcmw15.inf
installing bcmw15 …
Prueba la instalación,
:~# ndiswrapper -1
bcmw15 : 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
l0 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 escessive 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 : 10 ms 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 canla 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 dispositivio 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 manged
wireless_keymode open
wireless_key1 millavehexadecimal
wiresless_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 reinicia 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-drivers 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.confg
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 :
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, Lo 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,
crtl_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,
crtl_interface=/var/run/wpa_supplicant
network={
ssid=»miwifi»
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
psk=ebafa355d899e62a7f55bec8a08e26fc83e8cbeb98138ab26a030b400f3298fd
}
Instala resolvconf para determinar automáticamante el DNs de la red,
:~#apt-get install resolvconf
Reinicia la red con,
:~# invoke-rc.d networking restart
o reinicia el computador.