Ubuntu Peronista@TTBP

Este es un espejo en el Tilde Blog Project del blog original Ubuntu Peronista. Se encuentra disponible en Tildeverso únicamente con fin histórico.



04 january 2022

¿Cómo uso el adaptador WiFi USB TP Link TL-WN8200ND en Ubuntu?

En su juventud, Juan Perón entrenó para atravesar las montañas en su especialidad. Hoy no sólo eso, sino que nos enseña cómo solventar el problema del adaptador Wifi USB TP-Link TL-WN8200ND en Ubuntu.

(...) En mis tiempos de cadete en el Liceo Militar, no dudé en establecer un régimen deportivo mas duro, entendiendo que para poder llegar a las más altas cotas militares se hacía necesario un riguroso estado físico.

En la montaña, el aire es menos denso, y eso hace que la roca parezca más dura. Coronar una cumbre es entonces más un trabajo de la ciencia y la mente, pero el cuerpo ha de estar preparado. Yo soy, ante todas las cosas, un montañista. Y el principio rector que rige al macizo puede aplicarse a otros órdenes de la vida.

Vean señores, si bien las redes Wifi proveen una gran comodidad, libertad y universalidad para la el armado por aire de una red hogareña, no por ello son siempre las herramientas más potentes ni las mas adecuadas. Un Justicialista ha de comprender cuándo es necesario ejercitar más duro, perforar material para pasar un cable. Allí donde necesistamos asegurar una conexión en un inmueble de muy grandes dimensiones, gruesas paredes, entre intrincada arquitectura, o entre varios entornos de trabajo alejados entre sí por acabados de mampostería o piedra, podríamos encontrarnos con que el hecho de contar con un simple router Wifi no alcanza.

Por otro lado, existen situaciones donde una red estableccida de antemano se ve superada por nuevos desafíos: mayor cantidad de dispositivos, un nuevo edificio con numerosos usuarios y sus respectivos routers, nuevas fuentes de interferencia, etc.

Sin embargo, en situaciones donde cablear no sea práctico o posible, habremos de aumentar la calidad de nuestro radioenlace telemático. En una Comunidad Organizada siempre es mejor preveer un router de mayor potencia, pero si únicamente es un equipo el que presenta problemas podremos recurrir a un nuevo adaptador USB inalábrico, que no requiera abrir un equipo, y que puede instalarse en uno portátil.

El adaptador USB TP-Link TL-WN8200ND es un receptor/emisor inalámbrico de alta potencia, lo que lo ha hecho acreedor al válido apodo de "el rompemuros". Se trata de una unidad munida de dos antenas orientables desprendibles, y provista de un conector mini USB. Esta se conecta a la PC a través de un cable USB de 1,5m de extensión, lo que permite disponer al receptor no en el equipo, sino ya en una posición donde mejor reciba la señal. Es muy efectivo y recomendable para recibir y enviar Wifi en condiciones de interferencia, de construcciones muy grandes o con muchas paredes intermedias en las cuales no es deseable utilizar cableado.

Si bien este dispositivo es excelente, cuenta con un inconveniente que podría dificultar su uso: si bien parece emplear el chipset Realtek RTL8192cu, no tendremos éxito con el controlador nativo, pues al compilar el mismo no se producirá con éxito el enlace con Linux (incluido Ubuntu 14.04LTS).

Sin embargo, el Justicialismo ha pensado en todo, y para todo tiene una solución. Una de los proyectos llamados "estratégicos" es NDISwrapper, una utilidad capaz de "envolver" parte del controlador original de los dispositivos de red inalámbrica escrito para Window$, y darle uso a través del kernel Linux como si de un módulo nativo se tratara. Esto significa que - de no mediar problemas - podríamos operar con controladores de WiFi escritos para Window$ XP x64 (específicamente, los archivos .inf) en Linux. En esto es en lo que habremos de concentrarnos para llegar a buen puerto.

Los alemanes suelen decir que la planificación es la mitad del camino hacia la victoria. Por ello, siguiendo este viejo adagio, nos encargaremos en primera instancia de establecer un enlace cableado provisional a internet.

Para ello todo justicialista que arme redes no teme utilizar los metros necesarios de cable par UTP provisto de fichas normalizadas RJ45. Esquivando puertas y saliendo por ventanas si fuese necesario. Este cable lo conectaremos entre el puerto de red de nuestro equipo cliente y una de las salidas LAN del router Wifi (si las tuviese), el módem o el dispositivo de acceso que utilicemos. Normalmente y si no hubiese problemas de conexión a internet, Ubuntu establecerá de forma automática el enlace cableado a la web.

Tendremos dos maneras para corregir el problemas a través de este incómodo enlace de circunstancias:

I. Compilar el controlador del chipset que corresponda, e instalarlo como un módulo, o II. usar el controlador de Windows en Ubuntu, con la aplicación ndiswapper.

Normalmente indicaría el método II, pero en ciertos casos la misma falla (no he podido determinar la causa, pues a mí me ha funcionado. Pero atento a los problemas, os indicaré ambas maneras:

I. Compilar el controlador del chipset que corresponda a nuestra versión del adaptador TL-WN8200ND, en Ubuntu:

a) Revisamos si estamos usando el controlador rtl8192cu defectuoso. En la terminal ingresamos:

lsmod | grep rtl8

...y si podemos ver una o más instancias del controlador rtl8192cu o rtl8192eu en la salida de la terminal, entonces significa que lo estamos utilizando. En tal caso procedemos al paso b.

b) Desconectamos nuestra conexión Wifi (desenchufamos el adaptador USB que contiene el puerto Realtek), y temporalmente nos conectamos a internet por medio de un cable Ethernet.

c) Instalamos las dependencias necesarias para compilar los controladores. Ingresamos en la terminal:

sudo apt-get install linux-headers-$(uname -r) build-essential dkms git

Al presionar Enter e ingresar a ciegas nuestra contreaseña de descargará la paquetería necesaria.

TP-Link TL-WN8200ND V1 La versión V1 del adaptador, usa el chipset Realtek RTL8192CU, y en Ubuntu se intenta implear el módulo "rtl8192cu" defectuoso. Para reemplazarlo con uno llamado "8192cu" que esté corregido, pegamos el siguiente bloque de comandos en la Terminal y presionamos Enter:

cd ~ ; git clone https://github.com/pvaret/rtl8192cu-fixes.git ;

sudo dkms add ./rtl8192cu-fixes ; cd ~/rtl8192cu-fixes/ ;

sudo dkms install 8192cu/1.11 ;

sudo depmod -a ;

sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/ ;

sudo cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/ ;

...y finalmente reiniciamos el equipo con el comando:

sudo reboot

El problema debería ahora estar resuelto. Desconectamos el cable Ethernet temporal, e insertamos nuevamente el dispositivo Wifi USB con chipset Realtek. Revisamos si tenemos el controlador correcto en nuestro sistema abriendo una terminal e ingresando el siguiente Comando de Organización:

lsmod | grep 8192

...el sistema debería devolvernos que el controlador nuevo 8192cu está activo. No deberían encontrarse ya menciones del viejo controlador rtl8192cu.

Podremos ocultar la carpeta del controlador con:

mv ~/rtl8192cu-fixes/ ~/.rtl8192cu-fixes/

Nota: Este controlador a pesar de estar corregido, presenta ciertos problemas, al menos en la versión 1.0 del adaptador. Para que el adaptador encuentre y se conecte rápido a la conexión, asegúrese de usar un nombre de red wifi (SSID) de una sola palabra, escrito en minúsculas (ej. "redperonista". Evite espacios en la contraseña del wifi. Evite caracteres especiales en el nombre de la red, pues lamentablemente no andan bien con este adaptador en particular.

Nota: Lamentablemente habremos de repetir este proceso toda vez que se actualice el núcleo del sistema operativo (Kernel). De manera que conviene dejar el directorio con el código fuente del controlador a mano.

TP-Link TL-WN8200 V2

Si contamos con la versión V2 del adaptador, debemos de saber que utiliza el chipset RTL8192EU. Por lo tanto debemos ingresar:

cd ~ ; git clone https://github.com/luckynzm/tlwn8200nddriver.git ; cd ~/tlwn8200nddriver ; nano Makefile

Se abrirá el editor GNU Nano con el archivo de configuración del controlador. Usaremos la función Buscar (Ctrl+w) para buscar la línea "CONFIG_POWER_SAVING". Esta opción significa "configurar ahorro de energía", y normalmente está activada con "y" de Yes, que significa "Si" en el idioma de Braden. Sin embargo, el TL-WN8200ND en Ubuntu causa problemas, al cortar la conexión de Wifi intermitentemente para ahorrar energía. Por lo tanto la modificamos, dejándola en "n".

Una vez realizada la modificación, guardamos el archivo con Ctrl+o y salimos del editor Nano con Ctrl+x, y continuamos con el procedimiento ingresando los siguientes comandos:

sudo dkms add . ; sudo dkms install rtl8192eu/1.0 ;

Con esto ya estará compilado el controlador. Para cargar el módulo durante el inicio de Ubuntu, debemos editar nuestro archivo de sistema /etc/modules, con:

sudo nano /etc/modules

...se abrirá nuevamente el editor Nano con dicho archivo. Debemos asegurandos de agregarle al final del archivo agregamos las siguientes líneas:

Módulo peronista compilado por mí mismo para que funcione el

Wifi USB TP-Link TL-WN8200ND V2 en Ubuntu.

8192eu

Guardamos el archivo con Ctrl+o y salimos del editor con Ctrl+x Y reiniciamos el sistema. Si queremos hacerlo desde la terminal podremos utilizar el comando:

sudo reboot

II. Usar el controlador del TP Link 8200 para Windows en Ubuntu, con Ndiswapper.

A través de este incómodo enlace de circunstancias - podremos sin embargo instalar en el equipo cliente la utilidad NDISwrapper y los programas necesarios, sin afrontar de momento el riesgo de un corte en una red inalámbrica de poca o inexistente señal. Presionamos Ctrl+Alt+T y al abrirse la ventana de la Terminal, ingresamos los siguientes Comandos de Organización:

sudo apt-get install linux-headers-$(uname -r|sed 's,[^-]-[^-]-,,') ndiswrapper-utils-1.9 wireless-tools ndisgtk unzip

Tras ingresar nuestra contraseña de Conductor, se descargará a través de la internet cableada la paquetería necesaria a nuestro equipo cliente. Conforme haya terminado, agregamos el módulo al archivo /etc/modules, de modo que se cargue toda vez que se inicie el sistema. Lo haremos con la órden:

sudo echo ndiswrapper >> /etc/modules

En tercer lugar, nos encargaremos de descargar el fichero controlador del TP-Link TL-WN8200ND para Windows XP x64 a nuestro sistema, desde la web del fabricante. En este punto debemos comprender que existen dos versiones diferentes del adaptador 8200ND, identificables por la inscripción en la etiqueta que se encuentra debajo del mismo. Lo más probable es que contemos con la versión más nueva, producida a partir del año 2013 y denominada v1 (versión 1). En caso contrario, debemos decargar un controlador de versión anterior. De acuerdo a la versión que tengamos, escogemos un procedimiento para seguir en la terminal:

Si uso el dispositivo TL-WN8200ND v1, debo descargar el controlador para este modelo desde la web del fabricante. Para ello utilizaré los siguientes Comandos de Organización:

cd ~/Descargas ;

wget http://www.tp-link.com/resources/software/TL-WN8200ND_V1_Driver.zip ;

unzip -a TL-WN8200ND_V1_Driver.zip ;

cd ~/Descargas/TL-WN8200ND\ Driver/Windows\ XP\ 64bit/ ;

En cambio, si dispongo de la extraña versión más antigua del adaptador TL-8200ND, debo descargar otra versión del controlador, empleando en su lugar estos comandos:

cd ~/Descargas ;

wget http://www.tp-link.com/Resources/software/TL-WN8200ND_V1_130108.zip ;

unzip -a TL-WN8200ND_V1_130108.zip ;

cd ~/Descargas/TL-WN8200ND_V1_Driver/Driver\ Files/Windows\ XP\ 64bit/ ;

Acto seguido, ya podremos desconectar el cable de internet y operar para hacer funcionar el controlador inalámbrico de Window$ bajo Linux. Para ello envolvemos el controlador con:

sudo ndiswrapper -i netrtwlanu.inf

Indudablemente, debemos verificar la instalación del driver. Para ello conectamos el adaptador TL-WN8200ND a uno de los puertos USB del equipo, y tipeamos:

sudo ndiswrapper -l

Si todo va bien, el sistema debería devolvernos algo como:

rtl81192cu: driver installed device TP-LINK 300Mbps High Power Wireless USB Adapter present

Ahora podremos evaluar si nuestro sistema acepta un nuevo dispositivo de conexión inalámbrica nomerada wlan. Ello lo haremos ingresando:

iwconfig

El sistema debería listar al menos un dispositivo adaptador wlan (red de área local inalámbrica). Si hasta aquí hemos tenido éxito, podremos proporcionar el módulo ya envuelto al kernel de nuestro sistema operativo, con el siguiente Comando de Organización:

sudo modprobe ndiswrapper

Habiendo ya envuelto el controlador e instalado el módulo para su ejecución, debemos probar establecer la conexión inalámbrica y evaluar que la misma sea confiable. Para ello primero reiniciaremos el sistema. Desde la terminal podremos utilizar:

sudo reboot

Una vez reiniciado el equipo y al conectar el adaotador TL-WN8200ND a un puerto USB, deberiamos poder conectarnos a nuestra red inalámrbrica utilizando el Gestor de Redes (seleccionando la red que corresponda y tipeando la contraseña requerida, si aplica). Nuestro WN8200ND debería aparecer listado entre los dispositivos inalámbricos como TP-Link 300kbps High Power Wireless USB adapter.

Iluminados por la suerte, debería poder establecerse una conexión inalámbrica ahora fiable, con mayor conexión y potencia de señal, menos corte y retraso, pues el dispositivo 8200ND capta y emite de manera mucho más eficiente. Indudablemente, para lograr los mejores resultados debemos orientar ahora el dispositivo de la mejor forma. Para ello podremos ayudarnos con una aplicación como wavemon.

Como corolario habrán de saber que algunos dispositivos portátiles cuentan con una función para habilitar o deshabilitar la conexión por Wifi: dependiendo el modelo, en algunos casos al desactivar el adaptador de red integrado en un equipo portátil lleva también a desactivar otros dispositivos inalámbricos adicionales (como el TL-WN8200ND).