/me, computadora, informatica, planet

Como instalar la tarjeta wifi 802.11n DLink dwa-525 en GNU/Debian

Esta es una de esas piezas de hardware que son fáciles de encontrar pero difíciles de hacer funcionar, ya sea por que el chipset es muy nuevo o por que los drivers (de cualquier sistema que no sea windows) están perdidos en el espacio o no existen, afortunadamente logre encontrar como hacerlo funcionar:

El chipset debe dar esta respuesta en lspci

03:01.0 Network controller: RaLink Device 5360

Comencé buscando por el nombre del modelo de tarjeta, pero el que nos interesa es el chipset, ya que DLink parece estar vendiendo esta misma tarjeta con diferentes chipset (y por ende requieren drivers diferentes), primero parecía que este tutorial funcionaría con mi tarjeta:

https://steveswinsburg.wordpress.com/2011/03/12/how-to-install-a-d-link-dwa-525-wireless-network-card-in-ubuntu-10-04/

Y luego de seguir paso a paso todo lo que ahí decía no funciono ¬¬#, luego intente con otro de la comunidad ubuntu:

http://ubuntuforums.org/showthread.php?t=1559576

El mismo procedimiento, pero con otro driver… igual no funciono, luego me di cuenta que en todas esas publicaciones (y los que las copiaban) solo mencionaban los chipset  ralink 3060 (ese si funciona con los links anteriores) que aparece en lspci como:

Network Controller: Ralink Device 3060 0

Es completamente diferente al 5360 que yo tengo, entonces comence a buscar hasta en otros idiomas con el chipset como mi unica pista y llegue a este lugar también de la comunidad ubuntu (ESTA EN RUSO):

http://forum.ubuntu.ru/index.php?PHPSESSID=s17iic366u1v38f2cl4h60bua1&topic=190612.15

y gracias al traductor de google encontre mi respuesta:

-Primero necesitamos ESTE firmware de ralink

-Descargar la fuente de driver para compilar desde AQUI 

EDIT: Ya no se sigue este paso

-Extraer el archivo comprimido

-Editar con gedit, kate, vim o el editor de texto que tengan a la mano el siguiente archivo:

carpetaextraida/os/linux/config.mk

donde “carpetaextraida” es el directorio que se creó al extraer el driver, luego debemos buscar estas líneas:

HAS_WPA_SUPPLICANT=n 
y 
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT = n

Una ves encontradas cambiamos la “n” que esta después del “=” por “y” con esto le decimos al driver que habilite el soporte para WPA

Edit: paso nuevo:

Ahora abrimos el archivo

carpetaextraida/os/linux/pci_main_dev.c

Y buscamos el siguiente texto, donde agregamos la línea que dejo en rojo:

#ifdef RT5390
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5390_PCIe_DEVICE_ID)},
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC539F_PCIe_DEVICE_ID)},
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5392_PCIe_DEVICE_ID)},
	{PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5362_PCI_DEVICE_ID)},
        {PCI_DEVICE(NIC_PCI_VENDOR_ID, NIC5360_PCI_DEVICE_ID)},
#endif /* RT5390 */

-Ahora debemos compilarlo, necesitamos los headers de nuestro kernel y las herramientas para compilar, las instalamos asi:

aptitude install build-essential linux-headers-$(uname -r)

Ahora si a construir, entramos en la “carpetaextraida” y como root ejecutamos:

make && make install

Esperamos a que compile sin errores y se instale (es desinstalable con make uninstall desde ese mismo directorio), les recuerdo que como es una instalación manual en el caso que el kernel se actualice o cambien el kenel  deberán compilar de nuevo.

Ahora a comenzar la configuración para que no de problemas primero extraemos el firmware que descargamos al principio, dentro de el nos aparecerá el archivo rt2860.bin el cual debemos copiar (como root) a /lib/firmware/.

Luego debemos agregar un driver a blacklist,  ya que genera conflicto con el que acabamos de construir:

echo "blacklist rt2800pci" >> /etc/modprobe.d/blacklist

(si tienen kernel 3 de backports entonces blacklist ahora se llama blacklist.conf)
yo en modo paranoico agregue de la misma manera estos también:
blacklist rt2x00lib
blacklist rt2x00pci
blacklist rt2800lib

Ahora habilitemos el modulo del driver:

modprobe  rt5390sta

Y lo agregamos a /etc/modules para que se cargue al inicio

echo "rt5390sta" >> /etc/modules

Y ahora un truco que nos permitirá usar ese driver con nuestro dispositivo:

Abrimos como root el archivo /etc/rc.local y antes de la línea que dice “exit 0” agregamos lo siguiente:

echo "1814 5360" | tee /sys/bus/pci/drivers/rt2860/new_id

Que forzará al driver a funcionar con el chipset 5360 que es el que posee nuestra tarjeta, luego solo guardamos todo y reiniciamos la maquina, network manager, wicd o ifconfig ya deben mostrarnos el nuevo dispositivo “ra0” y podemos entonces conectarnos y disfrutar de nuestro wifi.

Espero que funcione para ustedes de la misma manera que ha funcionado para mi.

Fuente ultimo edit: Ubuntu forums post 2008849 gracias a un comentario de Medusetfil

Anuncios
Estándar