Archivo por meses: noviembre 2006

Configurando una Tarjeta Inalambrica, Broadcom 4318, Dell Wireless miniPCI1370

[Visto: 24389 veces]

Dado que tuve una tarea en la U, sobre este tema aproveche para publicarlo en el blog, espero les agrade y si tienen algun problema pueden contactarme.

Para configurar una tarjeta inalambrica es necerario asegurarnos que la tarjeta esta siendo reconocida por la interfaz, para eso utilizamos el comando iwconfig

isaac@isaac-laptop:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

eth1 IEEE 802.11b/g ESSID:”wifipucp” Nickname:”Broadcom 4318″
Mode:Managed Frequency=2.484 GHz Access Point: Invalid
Bit Rate=1 Mb/s Tx-Power=18 dBm
RTS thr:off Fragment thr: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.

isaac@isaac-laptop:

Como vemos en este host la interfaz eth1 ha sido reconocida como interfaz inalámbrica, en caso no fuera reconocida apareceria como
no wireless extensions como es el caso de las demas interfaces.

Sin embargo, la tarea de hacer reconocer una tarjeta inalámbrica no es tan sencilla, y para explicar esto encontre durante mi investigacion, una caricatura que representa el dolor de cabeza para muchos.

chiste_tarjeta_en_linux

El problema es que muchos fabricantes tienen convenios con windows y producen sus driver solo para este sistema operativo, por lo que existe algunos grupos de desarrolladores que programan drivers compatibles para linux.
Uno de las aplicaciones mas conocidas es el ndiswrapper, el cual es una herramienta que nos ayuda a reconocer varios tipos de tarjetas inalámbricas, haciendo uso del driver que es utilizado en windows.
Para el caso a ejemplificar es una tarjeta inalámbrica Dell Wireless MiniPCI 1370 con chipset Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02), para poder ver el tipo de chipset de nuestra tarjeta utilizamos el comando

$lspci

Ahora debemos la descargar e instar el ndiswrapper, si estamos usando Ubuntu podemos descargarlo de los repositorios utilizando el Synaptic o bien con el comando.

$sudo apt-get install ndiswrapper-utils

Si no pudiste instalarlo revisa tus repositorios, de ser correcta la instalacion pasamos a descargar los drivers de windows, se recomienda descargar el driver y no copiar y pegar el mismo que esta siendo utilizado por windows.

Debemos tener los archivos bcmwl5.inf, y bcmwl5.sys.
Bien luego de ello utilizamos el siguiente comando

$sudo ndiswrapper -i bcmwl5.inf

(ubicarse en la carpeta donde se encuentra el driver)

De ser correcto este procedimiento utilizamos el siguiente comando
$sudo ndiswrapper -l y nos deberia salir:

Installed ndis drivers:
bcmwl5 driver present, hardware present
Ahora debemos de levantar el modulo del ndiswrapper, eso lo hacemos con el comando.

$sudo modprobe ndiswrapper
$sudo ndiswrapper -m

Verificamos que se haya levantado correctamente con el comando

$lsmod | grep ndiswrapper

Ahora bien si todo esto ha sucedido con exito el LED indicador de la tarjeta inalámbrica deberia haberse encendido. Si queremos utilizar el ndiswrapper nos faltaria hacer la configuración de la tarjeta que detallare mas adelante.

Particularmente prefiero no utilizar el ndiswrapper ya que solamente nos proporciona el uso cotidiano de la tarjeta inalámbrica, pero ndiswrapper no soporta aplicaciones como aircrack. Por lo que preferi levantar mi tarjeta con el driver creado especialmente para las tarjetas inalámbricas del tipo bcm43xx.

Para ello mejor desintalamos el ndiswrapper desde el synaptic o bajamos el modulo.

$sudo rmmod ndiswrapper

Ahora debemos de descargar el paquete wl_apsta.o el cual contiente los drivers bcm4318 entre otros, desde http://drinus.net/airport/wl_apsta.o y el paquete bcm43xx-fwcutter eso lo podemos hacer con el comando:

$sudo apt-get install bcm43xx-fwcutter
Ahora corremos el paquete bcm43xx-fwcutter con el archivo descargado, ubucarno donde esta el archivo, y aplicar el siguiente comando
$sudo bcm43xx-fwcutter -w

$sudo bcm43xx-fwcutter -w wl_apsta.o

A continuacion levantamos el modulo asi como hicimos con el ndiswrapper
$sudo modprobe bcm43xx

ahora verificamos nuevamente con el iwconfig para ver con que alias esta la interfaces,(ver la respuesta a este comando antes mencionada).

Ahora pasamos a configurar la tarjeta.
Primero debemos de ver las redes disponibles, para nuestro caso la interfaz inalámbrica se encuentra bajo el alias de eth1

sudo iwlist eth1 scan

Debe salir una respuesta como la siguiente:

isaac@isaac-laptop:-$ sudo iwlist eth1 scan
eth1 Scan completed :
Cell 01 – Address: 00:90:4B:67:A9:F6
ESSID:”wifipucp”
Protocol:IEEE 802.11bg
Mode:Master
Channel:4
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=100/100 Signal level=-54 dBm
Extra: Last beacon: 268ms ago
Cell 02 – Address: 00:90:4B:1C:7B:E4
ESSID:”wifipucp”
Protocol:IEEE 802.11bg
Mode:Master
Channel:9
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Quality=100/100 Signal level=-67 dBm
Extra: Last beacon: 148ms ago
isaac@isaac-laptop:-$

Ahora por ejemplo si deseamos conectarnos a la red wifipucp, configuramos el tipo de red, el essid, una clave WEP.

Agregando el essid:

isaac@isaac-laptop:~$ sudo iwconfig eth1 essid ‘wifipucp’

Ponemos en modo Infraestructura:
isaac@isaac-laptop:~$ sudo iwconfig eth1 mode Managed

Agregamos la clave WEP: **********

isaac@isaac-laptop:~$ sudo iwconfig eth1 key restricted **********

Luego de hacer cambios en la interfaz para que hagan efecto debemos bajarla y levantarla nuevamente.

isaac@isaac-laptop:~$ sudo ifconfig eth1 down
isaac@isaac-laptop:~$ sudo ifconfig eth1 up

Y como esta red utiliza DHCP
utilizamos el siguiente comando para obtener la direccion IP, mascara, DNS.
isaac@isaac-laptop:~$ sudo dhclient eth1

isaac@isaac-laptop:-$ sudo dhclient eth1
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth1/00:14:a5:50:4b:81
Sending on LPF/eth1/00:14:a5:50:4b:81
Sending on Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 4
DHCPOFFER from 192.168.30.10
DHCPREQUEST on eth1 to 255.255.255.255 port 67
DHCPACK from 192.168.30.10
bound to 192.168.30.211 — renewal in 1417 seconds.
isaac@isaac-laptop:-$

Y listo nos hemos conectado a una red.

Ahora podemos editar el archivo interfaces para no configurar a cada momento

isaac@isaac-laptop:~$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp
wireless-essid wifipucp
wireless-key **********

Gracias, espero que les sirva 🙂

REFERENCIAS

https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Edgy
http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation
Sigue leyendo