Tecnología WiFi con Linux

[Visto: 9039 veces]

En Linux toda tarjeta de red inalámbrica puede tener teóricamente hasta 7 modos de operación:

Ad-hoc: El equipo actúa como parte de una red ad-hoc.
Managed: El equipo actúa como cliente de una red de infraestructura.
Master: El equipo actúa como un Access Point.
Repetear: El equipo solo reenvía los paquetes recibidos de otros nodos inalámbricos.
Secondary: El equipo actúa como un backup de un Master o Repetear.
Monitor: El equipo solo recibe paquetes en modo de monitoreo.
Auto: Configuración automática empezando por Ad-hoc y siguiendo en Managed.

Los drivers no necesariamente soportan todos los modos de trabajo, pero al menos deben dar soporte a los modos Ad-hoc y Managed, siendo el modo Master una opción interesante, sin embargo también está limitado al tipo de tarjeta inalámbrica que usemos. En particular la tarjeta inalámbrica que viene en las notebooks con procesador Intel Centrino no permiten este modo.

Para el desarrollo del presente artículo usaremos la tarjeta inalámbrica PCI D-Link modelo DWL-G520 el cual se basa en el chip de la empresa Atheros, así como la distribución Fedora 6.0, sin embargo básicamente haremos uso de comandos del sistema así que podemos tomarlo de referencia para otras distribuciones. El driver no es proporcionado por Fedora ni por la compañía D-Link pero existe un driver creado por el proyecto Madwifi que puede ser descargado de la página http://madwifi.org/

El driver madwifi es muy interesante, permite crear varias extensiones virtuales asociadas a la tarjeta inalámbrica y soporta los modos de trabajo Ad-hoc, Manager y Master, siendo éste último el que nos va a permitir crear un Access Point, una característica que no encuentro disponible en Windows y que una vez mas comprueba el poder de flexibilidad del software libre.
1. Instalación del driver madwifi

El driver puede ser descargado de la página http://www.atrpms.net/dist/fc6/madwifi para la última versión del kernel. Verificar la versión de su kernel con el comando uname –a, si su sistema tiene una versión antigua del kernel intente actualizarlo y reinicie el sistema.

Por ejemplo, para el kernel 2.6.18-1.2869 los paquetes madwifi asociados son:

madwifi-hal-kmdl-2.6.18-1.2869.fc6-0.9.3-31_r1865.fc6.at.i686.rpm
madwifi-kmdl-2.6.18-1.2869.fc6-0.9.3-31_r1865.fc6.at.i686.rpm
madwifi-0.9.2.1-2.fc6.i386.rpm

Además es posible que necesite de algunos paquetes adicionales como el kernel-devel.i686 y el gcc que se pueden instalar utilizando yum. Ubique los rpm en un directorio, ingrese a dicho directorio desde un terminal de consola como root e instalelos de la siguiente manera:

rpm –ivh madwifi*.rpm

Diversos módulos serán instalados en la ruta /lib/modules/$(uname –r)/updates/net siendo ath_pci el módulo principal. Reiniciamos el sistema y una vez iniciado este verificar que haya sido cargado los driver con el comando lsmod | grep ath_pci .

2. Configuración del Wi-Fi mediante comandos del sistema

Una vez instalados los drivers de la tarjeta, el principal comando de configuración es el iwconfig, que permite cambiar los parámetros específicos de las redes inalámbricas, por ejemplo:

essid: Identificador de celda
freq/channel : Frecuencia o canal
mode : Modo (Master, Managed, Ad-Hoc)
rate : velocidad
key/enc : clave de cifrado
txpower : potencia de transmisión

Con el comando ifconfig podemos configurar los parámetros normales de la red IP.

2.1. Configuración modo Ad-Hoc.

Detenemos el servicio de red:

service network stop
ifconfig ath0 down
ifconfig eth0 down

Desactivamos la interfase inalámbrica y extensiones: wlanconfig ath0 destroy

Creamos la extensión wifi0 de ath0 pero en modo Ad-Hoc:
wlanconfig ath0 create wlandev wifi0 wlanmode adhoc

Activamos la interface inalámbrica: ifconfig ath0 up

Podemos definir el modo de trabajo en a, b o g:
iwpriv ath0 mode 3 –> modo 802.11g

Escogemos un canal de trabajo, en éste caso el 6:
iwconfig ath0 channel 6

Averiguamos el número de canales disponibles:
iwlist channel

Nos enlazamos indicando el ESSID (por ejemplo miwifi):
iwconfig ath0 essid “miwifi”

Si no conoce el ESSID puede usar la opción automática:
iwconfig ath0 ap any

Si dispone de un servidor DHCP configure el servicio de red:
dhclient ath0

Si configura manualmente la red utilice:
ifconfig ath0 netmask up
route add default gw

Verificar la configuración de la tarjeta con los comandos ifconfig y haciendo ping hacia otros equipos en la red. Con el comando iwconfig podemos observar los parámetros inalámbricos de la conexión así como el ESSID, niveles de ruido y la calidad de la señal.

2.2 Configuración modo Managed.

Detenemos el servicio de red:

service network stop
ifconfig ath0 down
ifconfig eth0 down

Desactivamos la interfase inalámbrica y extensiones:
wlanconfig ath0 destroy

Creamos la extensión wifi0 de ath0 pero en modo Managed:
wlanconfig ath0 create wlandev wifi0 wlanmode managed

Activamos la interface inalámbrica:
ifconfig ath0 up

Podemos definir el modo de trabajo en a, b o g:
iwpriv ath0 mode 0 –> modo automático
iwpriv ath0 mode 1 –> modo 802.11a
iwpriv ath0 mode 2 –> modo 802.11b
iwpriv ath0 mode 3 –> modo 802.11g

Averiguamos el número de canales disponibles:
iwlist channel
Escogemos un canal de trabajo, en éste caso el 6:
iwconfig ath0 channel 6

Averiguamos los ESSID disponibles:
iwlist scanning
Nos enlazamos a un AP indicando el ESSID (por ejemplo miwifi):
iwconfig ath0 essid “miwifi”

Si no conoce el ESSID puede usar la opción automática:
iwconfig ath0 ap any

Para activar el cifrado WEP indicamos la frase secreta de la siguiente forma:
iwconfig ath0 key “s:

Donde passphrase es la contraseña en modo ASCII, con 5 caracteres para cifrado de 40 bits y de 13 para 128 bits (en realidad de 104 bits). Si la contraseña se indica en modo hexadecimal no se debe indicar el “s:” inicial, se introduce directamente la clave con 5 o 13 caracteres especificado en hexadecimal.

Si dispone de un servidor DHCP configure el servicio de red:
dhclient ath0

Si configura manualmente la red utilice:
ifconfig ath0 netmask up
route add default gw

Verificar la configuración de la tarjeta con los comandos ifconfig y haciendo ping hacia otros equipos en la red. Con el comando iwconfig.

2.3 Configuración modo Master.

La tarjeta PCI D-Link modelo DWL-G520 y su driver madwifi en Linux permiten el modo de operación Master en el cual el equipo se comportará como un AP (Access Point).

La PC en modo Master debe crear un puente entre el puerto ethernet y el puerto inalámbrico, para ello debemos activar la funcionalidad bridge del kernel instalando el paquete bridge-utils con el comando yum install bridge-utils.

Los clientes de éste AP pueden obtener automáticamente una IP si existe un servidor DHCP hacia el puerto ethernet del AP.

Desactivamos el servicio de red:
service network stop

Creamos la interface inalámbrica en modo Access Point (ap):
wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode ap

Activamos la interface Ethernet y la inalámbrica, en este caso sin definir IP:
ifconfig ath0 0.0.0.0 up
ifconfig eth0 0.0.0.0 up

Escogemos el modo 802.11b (para una señal mas estable) y canal 6 de operación:
iwpriv ath0 mode 2
iwconfig ath0 essid cursowifi channel 6

Creamos el Puente:
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 ath0

Activamos el Puente, en este caso sin definir IP:
ifconfig br0 0.0.0.0 up

A partir de ahora la computadora se comporta como un puente inalámbrico o AP, sólo basta que desde otro equipo WiFi en modo Managed observemos el ESSID irradiado y nos conectemos al mismo para tener acceso a la red cableada. Si se quiere lograr mayor cobertura conviene el uso de una antena de mayor ganancia, D-Link ofrece diversidad de antenas en su página web

3. Configuración del Wi-Fi mediante archivos del sistema

Un problema con los rpm del driver de madwifi es que al momento de instalarse no configura adecuadamente el archivo de configuración /etc/sysconfig/network-scripts/ifcfg-ath0, para ello sugiero añadir las líneas siguientes:

DEVICE=ath0
ONBOOT=yes
TYPE=Wireless
MODE=Managed
EESID=mi_eesid
CHANNEL=canal
RATE=auto
TXPOWER=auto
BOOTPROTO=static
IPADDR=dirección_IP
BROADCAST=dirección_broadcast
NETMASK=máscara
NETWORK=dirección_red

Para el caso de cifrado WEP se puede añadir la entrada KEY=”s:passphrase”, sin embargo en el caso de Fedora y Red Hat se emplea el archivo adicional :

/etc/sysconfig/network-scripts/keys-ath0

Cuyo contenido es KEY=”s:passphrase”

Para el campo MODE existen las opciones Managed, Ad-Hoc y Master.

La configuración correcta de los archivos del sistema permitirá que la funcionalidad gráfica neat reconozca la tarjeta inalámbrica.

Puntuación: 5.00 / Votos: 2

8 pensamientos en “Tecnología WiFi con Linux

  1. STUKA

    Hola profesor Gengis. Me gustaria que me de consejo acerca de como puedo reproducir mp3 en OS Linux distro Fedora 6, yo soy novato en la materia(hace dos semanas lo instale por primera vez )y quizas mi pregunta le parezca muy simple sin embargo instale el Amarok via repositorios, luego de eso no puede escuchar los mp3, estuve googlenado buen tiempo y encontre los siguientes comandos como el:
    # yum -y install xmms-mp3 xmms-faad2 gstreamer-plugins-ugly libmad libid3tag
    yum install xmms xmms-mp3
    antes coloque el sudo rpm -ivh http://rpm.livna.org/livna-
    para poder accesar al repositorio livna que imagino es como una base de datos con muchos softwars y drivers
    sin embargo aun no puedo reproducir mp3 ni con el amarok ni con otros programas, asi que no se que puede estar pasando. Gracias por su respuesta de antemano.

    Responder
  2. roberto

    Saludos queria saber si me puedes echar una mano, tengo una tarjeta bcm4318 en una lap presario v2000, ya logré hacerla prender bajofedora 6, pero por más que lo he intentado no me detecta niguna red,
    el indicador de encendido prendio despues de dar muchas vueltas y finalmene ejecutar el ifconfig eth1 up, y me detecta que tipo de tarjeta es y todo, pero al escanear en busca de redes no me arroja ningun resultado aunque practicamente me pare a un lado del ruteador.
    ¿que pueo hacer?
    soy nuevo en linux, y agradeceria mucho si pudieras ayudarme, mi correo es

    Rpta: Hola Roberto, tal vez te sirva este enlace:

    http://fedoranews.org/media

    Saludos

    Genghis

    Responder
  3. jose

    EXELENTE ARITULO PROFEROS
    PARTICULAR MENTE QUIERO HACERLE UNA PREGUNTA PUEDO PONER MI TARJETA D-Link DWL-G520 EM MODO Ad-hoc MASTES Y MONITOR EN MIS DOS S.O WINDOW Y LINUX UBUNTU
    Rpta: Alguien me comento que era posible hacer funcionar la tarjeta en modo master en el Windows pero con unos drivers especiales de D-Link que no vienen por defecto, esto realmente no lo he podido verificar y no he encontrado artículos al respecto en la web.

    Saludos

    Genghis

    Responder
  4. Endiku

    buenas grios, yo queria saber si le hace falta algun parche a este driver para poder reinyectar trafico, y si es asi cual?

    gracias, saludos

    Rpta: Hola, no entiendo bien a que te refieres con reinyectar, ¿te refieres a que el linux funcione como un repetidor?, si es así la verdad no he intentado este modo de operación pero creo que es mejor hacerlo funcionar como un puente con ayuda de los comandos del paquete "bridge-utils"

    Saludos

    Genghis

    Responder
  5. Maria Angelica

    Estoy tratando de configurar de configurar la tarjeta inalambrica como parte de un taller de mi universidad, tengo exactamente las mismas caracteristicas del manual, solo que configure los repositorios del yum con atrpms para configurar mejor los modulos, todo lo hago bien (aparentemente) pero al momento de ejecutar lsmod | grep ath_pci no me sale nada por lo que intuyo que el driver no ha sido cargado, que puedo hacer o cual es mi error ??? No se como solucionar este problema… De antemano agradezco la ayuda brindada

    Maria.

    Rpta: María, puedes forzar la instalación del módulo con el comando "modprobe ath_pci", pero si aún así no aparece nada con el lsmod es porque tal vez la tarjeta que usas no sea realmente una atheros o en el peor de los casos este dañada.

    Saludos

    Genghis

    Responder
  6. Alberto Segovia

    Que tal un saludo desde México y muy buen tuto, son nuevo en esto de linux no mas de 2 meses y tengo problemas con la tarjeta atheros ar5007eg segun windows de mi lap y quisiera saber de ser posible donde sacar un manual paso a paso de lo que debo hacer para instalarla porque llevo 4 dias y nada de nada
    Gracias

    Rpta: Hola Alberto, parece que esta tarjeta la levantas con el ndiswrapper, aqui te envío un link:

    http://www.angelux.net/2008

    Saludos

    Genghis

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *