martes, 25 de septiembre de 2007

Instalar Tarjeta inalambrica Atheros AR5BMB5 en linux

Desde que instale Feisty en la lap, mi gran sorpresa fue que me levanto automáticamente la tarjeta inalambrica de mi lap una Atheros AR5BMB5 (AR50005G), pero me percate que aun que estaba cerca de mi modem inalambrico la señal no pasaba de mas del 80 u 85% estando casi aladito del modem, asi que decidí instalar los drivers madwifi bien pues eso fue lo que paso:

Bien primero veremos que nuestra tarjeta este detectada por el sistema, escribimos en una terminal:

spike@spike-laptop:~$ lspci (este comando muestra los dispositivos PCI detectados)

Aparecera una lista y en ella buscaremos una linea que diga algo asi:
06:05.0 Ethernet controller: Atheros Communications, Inc. AR5005G 802.11abg NIC (rev 01)

Bien una vez que comprobamos que nuesta tarjeta la reconoce el sistema procedemos a dar de baja la interfaz y descargar los drivers:


spike@spike-laptop:~$ sudo ifconfig ath0 down ( detenemos la interfaz ath0 y wifi
spike@spike-laptop:~$ sudo ifconfig wifi0 down (que son las que feisty nos instala )
spike@spike-laptop:~$ rmmod wlan_wep ath_rate_sample ath_rate_onoe ath_pci wlan ath_hal ath_rate_amrr 2>/dev/null ( detenemos los servicios del driver de la tarjeta )

spike@spike-laptop:~$ svn checkout http://svn.madwifi.org/trunk/ madwifi-ng ( ahora descargamos el driver, cuando escrivimos esto, apareceran muchas lineas esto indica que esta descargando, al terminar nos generara un directorio llamado madwifi-ng ):

A madwifi-ng/regression

A madwifi-ng/regression/ccmp
A madwifi-ng/regression/ccmp/test_ccmp.c
A madwifi-ng/regression/tkip
A madwifi-ng/regression/tkip/test_tkip.c
BLA BLA BLA BLA BLA XD
A madwifi-ng/patch-kernel/Kconfig
A madwifi-ng/patch-kernel/Configure.help.patch
A madwifi-ng/patch-kernel/Config.in
A madwifi-ng/patch-kernel/README
A madwifi-ng/BuildCaps.inc
U madwifi-ng
Revisión obtenida: 2709
spike@spike-laptop:~/madwifi-ng$

Bien aki vemos que nos descargo la version 2709 y no dio ningun error, ahora vamos descargar y parchear estos drivers:

spike@spike-laptop:~$ wget http://patches.aircrack-ng.org/madwifi-ng-r2277.patch
--21:24:26-- http://patches.aircrack-ng.org/madwifi-ng-r2277.patch
=> `madwifi-ng-r2277.patch'
Resolviendo patches.aircrack-ng.org... 213.186.33.2
Conectando a patches.aircrack-ng.org|213.186.33.2|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 1,025 (1.0K) [text/x-diff]

100%[===============================>] 1,025 --.--K/s

21:24:27 (81.37 MB/s) - `madwifi-ng-r2277.patch' guardado [1025/1025]
spike@spike-laptop:~/madwifi-ng$

Ya lo tenemos descargado, ahora lo parcheamos:

spike@spike-laptop:~$ cd madwifi-ng/ ( entramos en la carpeta creada )
spike@spike-laptop:~/madwifi-ng$ patch -Np1 -i ../madwifi-ng-r2277.patch
patching file ath/if_ath.c
Hunk #1 succeeded at 2282 with fuzz 1 (offset -3 lines).
Hunk #2 succeeded at 2295 with fuzz 2 (offset -4 lines).
spike@spike-laptop:~/madwifi-ng$

Ok si no tenemos algun error ejecutamos un script para dar de baja los modulos del driver que esta corriendo actualmente:

spike@spike-laptop:~/madwifi-ng$ sudo ./scripts/madwifi-unload
Unloading "wlan_wep"
Unloading "ath_pci"
Unloading "wlan_scan_sta"
Unloading "ath_rate_sample"
Unloading "wlan"
Unloading "ath_hal"
spike@spike-laptop:~/madwifi-ng$

Bien pues ahora si procedemos a la compilacion del driver:

spike@spike-laptop:~/madwifi-ng$ make
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /lib/modules/2.6.20-16-generic/build SUBDIRS=/home/spike/madwifi-ng modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-16-generic'
CC [M] /home/spike/madwifi-ng/ath/if_ath.o
CC [M] /home/spike/madwifi-ng/ath/if_ath_pci.o
LD [M] /home/spike/madwifi-ng/ath/ath_pci.o
CC [M] /home/spike/madwifi-ng/ath_hal/ah_os.o
MAS BLA BLA BLA BLA JEJEJE
gcc -o athdebug -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal athdebug.c
gcc -o 80211debug -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal 80211debug.c
gcc -o wlanconfig -g -O2 -Wall -I. -I../hal -I.. -I../ath_hal wlanconfig.c
gcc -o ath_info -g -O2 -Wall ath_info.c
make[1]: Leaving directory `/home/spike/madwifi-ng/tools'

Bien una vez termiando y si no da ningun error ahora si instalamos el driver:

spike@spike-laptop:~/madwifi-ng$ sudo make install
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /lib/modules/2.6.20-16-generic/build SUBDIRS=/home/spike/madwifi-ng modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-16-generic'
Building modules, stage 2.
MAS LINEAS Y LINEAS Y LINEAS....
install -d /usr/local/bin
for i in athstats 80211stats athkey athchans athctrl athdebug 80211debug wlanconfig ath_info; do \
install $i /usr/local/bin/$i; \
strip /usr/local/bin/$i; \
done
install -d /usr/local/man/man8
install -m 0644 man/*.8 /usr/local/man/man8
install ../scripts/madwifi-unload /usr/local/bin/madwifi-unload
make[1]: Leaving directory `/home/spike/madwifi-ng/tools'
spike@spike-laptop:~/madwifi-ng$

Una vez que esto termino sin errores pues ahora si cargamos el modulo:

spike@spike-laptop:~/madwifi-ng$ sudo depmod -ae
spike@spike-laptop:~/madwifi-ng$ sudo modprobe ath_pci

si no da errores levantamos la interfaz

spike@spike-laptop:~$ sudo ifconfig ath0 up

una vez levandada, le asignamos una ip:

spike@spike-laptop:~$ sudo dhclient ath0

LISTOOO!!! jaja si no dio ningun error pues ya tenemos el modulo corriendo y activado para ver que realmente esta detectado y funcionando escribimos:

spike@spike-laptop:~$ cat /proc/modules |grep ath
ath_rate_sample 14976 1 - Live 0xf07da000
ath_pci 113704 0 - Live 0xf09ad000
wlan 210224 5 wlan_wep,wlan_scan_sta,ath_rate_sample,ath_pci, Live 0xf0b40000
ath_hal 233824 3 ath_rate_sample,ath_pci, Live 0xf0841000 (P)
spike@spike-laptop:~$


Pues bien asi con esos pasos tal cual, me funciono a mi :)

1 comentario:

  1. Hola.
    Estoy pensando en comprarme esta tarjeta minipci para mi laptop.
    En muchos sitios he leido que esta funciona muy bien en linux y que tiene muchisima potencia, pero en otros como aqui veo que hay que hacer cosas raras para que funcione...
    En las versiones nuevas de ubuntu sigue siendo necesario esto o ya se detecta automaticamente? Gracias

    ResponderEliminar