Instalar controladores del adaptador inalámbrico TP-Link TL-WN822N en Linux
Durante mis vacaciones de verano he decidido aceptar una oferta de la compañía Orange y contratar la fibra óptica y el móvil con ellos. Había salido escopeteado de allí tras una mala experiencia con el ADSL en dirección a Jazztel, solo para descubrir, apenas un par de meses después del cambio, que la primera absorbía a la segunda. Luego, técnicamente, nunca había dejado de estar en Orange y, la verdad por delante, no tuve problema alguno con la conexión de 20 Mbps de bajada y 2’5 de subida que me proporcionaban. Se ve que el problema era el alquiler de las líneas de cobre a Movistar.
Con la adopción de su tarifa Canguro he pasado a disfrutar de fibra simétrica con 50 Mbps de subida y bajada que, de momento – cruzo los dedos – van de fábula. Me he beneficiado también de un aumento en la cobertura del móvil en zonas rurales – como en la que desarrollo mi actividad profesional, la Enfermería – que ha pasado de apenas poderse hablar a disponer de 4G en todo su esplendor. Hasta aquí el artículo parece un anuncio patrocinado por la compañía francesa, pero al igual que le di palos en su día justo es reconocer que actualmente funciona bien.
Descubrí que las nuevas velocidades traían nuevas dificultades. Mi obsoleto adaptador inalámbrico Conceptronic no era capaz de gestionar más allá de 30-35 Mbps, a unos escasos 5 metros del router Livebox y con un único muro de por medio. Os parecerá pedir demasiado, sobre todo a quienes por desgracia todavía no tienen acceso a conexiones de alta velocidad, pero la cuestión era que yo quería el 100% de la velocidad contratada. Aquí es donde entró en juego Amazon – otra compañía de la cual no tengo queja – y su web de compras. Tras leer comentarios a favor y en contra acerca de varios modelos y marcas, me decidí por adquirir un TP-Link TL-WN822N que llegó al día siguiente de pedirlo.
En Windows, como suele ocurrir, todo fue muy sencillo. Con solo conectar el aparato ya era reconocido y se instalaban los controladores correspondientes desde los servidores de Microsoft. A pesar de esto, procedí a instalar los que venían en la caja del adaptador, que además incluían una utilidad de conexión a la que, valga la redundancia, me cuesta hallarle la utilidad. Sin dramas ni investigaciones, ya tenía el adaptador andando en Windows con excelente desempeño: de las 3 redes escasas que detectaba el Conceptronic pasé a 15 ó más. Y con los 50 Mbps que entrega el router clavaditos. Ventajas, supongo, de un modelo que tiene 2 antenas de ganancia de las cuales dejo 1 paralela a la del router y la otra la coloco en perpendicular, como muestra la foto. El cable de extensión USB de metro y medio ayuda también, al permitir alejar el aparato de las interferencias del propio ordenador, los altavoces y el adaptador Bluetooth.
Pero en Linux – ay, amigo, qué me vas a contar – la película es otra bien distinta. Sabía que este modelo dispone de soporte por los comentarios de Amazon. En las propias especificaciones así lo detallan también. Acudí contento y feliz a la web del fabricante para descubrir que los controladores garantizaban su funcionamiento con un kernel de las ramas comprendidas entre la versión 2.6.18 y la 3.10.10. Para que os hagáis una idea, esto es soportar únicamente hasta el kernel que venía con Ubuntu 13.04 y pare usted de contar. Antiquísimo, lo cual es llamativo si se tiene en cuenta la fecha de publicación: marzo de este 2016 en curso. Mi primera reacción fue pensar que era un error fruto de la escasa actualización de la página. Me bastó descargar los controladores y tratar de compilarlos para darme cuenta de que estaba equivocado. Efectivamente, con kernels modernos esto no iba a funcionar.
Me costó unas cuantas horas de investigación encontrar un repositorio en github donde se daba solución a mi problema. Aunque se centraban en Debian y derivadas, para variar, y mi único Linux a día de hoy es el del Geeko. Como la cosa salió bien, he aquí un artículo-tutorial sobre los pasos necesarios para que el cacharro funcione igual de bien en openSUSE.
Antes de comenzar, una advertencia: existen 4 modelos diferentes del citado adaptador TP-Link. El mío es el último disponible, la cuarta versión. Al parecer, tanto éste como la versión anterior incorporan un chip Realtek al cual va dirigido el controlador que vamos a instalar. Las versiones 1 y 2 venían con un Atheros que, según he podido leer por la red, funcionaba con soporte directo del kernel, con lo que no se hacía necesario instalar ningún controlador adicional. En cristiano: si tienes las versiones 1 y 2, no se te ocurra seguir el tutorial. Sólo válido para versiones 3 y 4 del TL-WN822N.
Instalar las herramientas de compilación y desarrollo
A los que estamos habituados a la forma de proceder de las distribuciones basadas en Debian, lo primero que nos viene a la cabeza cuando hablamos de compilación es el paquete build-essential (en singular, que en muchos sitios lo he visto en plural y no es correcto). De modo que si vuestra distribución es Ubuntu, Linux Mint, Elementary o la propia Debian, es lo primero que deberéis hacer:
$ sudo apt install build-essential linux-headers-'uname -r'
El segundo de los paquetes instala las fuentes correspondientes a vuestro kernel actual, el cual se averigua con la orden incluida entre las comillas simples. Esto es necesario porque el controlador se ha de compilar necesariamente contra el kernel que se va a utilizar y no otro. Lo de “compilar contra” es un puro anglicismo que ruego me perdonen los Informáticos, pues no lo sé expresar de otra manera.
En openSUSE se debe hacer de un modo algo distinto. Dentro de Yast escogemos “Instalar/desinstalar software”. En la pestaña “Ver”, que se encuentra arriba a la izquierda, seleccionamos “Patrones” y marcamos “Desarrollo base” (ésta suele venir ya seleccionada) y “Desarrollo en C/C++”, que es el lenguaje de programación en que están escritos estos controladores. Aceptamos e instalamos los paquetes propuestos.
Nunca está de más, al terminar, lanzar por consola un:
$ sudo zypper inr
Para que se instalen las nuevas recomendaciones. Hecho esto solamente queda instalar algunas herramientas más:
$ sudo zypper in automake make linux-kernel-headers kernel-desktop-devel kernel-syms
Y tendremos nuestro ambiente de compilación y desarrollo listo para la tarea a acometer.
Clonando el repositorio de github e instalando los controladores
Para ello vamos a empezar con el paquete git:
$ sudo zypper in git
Y seguimos con la clonación del repositorio:
$ git clone https://github.com/jeremyb31/rtl8192eu-linux-driver
Entramos en el directorio:
$ cd rtl8192eu-linux-driver
Compilamos:
$ make
Instalamos:
$ sudo make install
Y solo nos quedará reiniciar. Si todo ha ido como debe, la lucecita verde de nuestro adaptador comenzará a parpadear poco después de iniciar el sistema para reafirmar nuestro rotundo éxito. Doy fe del mío propio con una captura de la velocidad medida en mi equipo con openSUSE Leap 42.1 edición KDE.
Espero que os sirva y os ahorre unas cuantas búsquedas por Internet.
¡Salud y Geeko!