La mayoría de las personas que necesitan un adaptador Wi-Fi USB gastan unos cinco dólares en internet y esperan uno o dos días a que llegue. El desarrollador de software Bái Yìbai decidió que tenía que existir una solución más interesante. En lugar de comprar un dongle Wi-Fi, dedicó todo un fin de semana festivo a escribir un firmware que transforma una Raspberry Pi Pico W de seis dólares en un adaptador Wi-Fi USB completamente libre de controladores específicos. El proyecto llamó recientemente la atención de Adafruit, que destacó el firmware y lo presentó a un público mucho más amplio.
A primera vista, eso suena como una enorme cantidad de trabajo para evitar gastar unos cuantos dólares, pero precisamente por eso este proyecto nos llamó la atención. No se trata de ahorrar dinero. Se trata de demostrar lo flexible que puede llegar a ser el estándar USB cuando alguien está dispuesto a pensar de una manera un poco diferente.
Normalmente, cuando conectas un adaptador Wi-Fi USB a una computadora, el sistema operativo espera comunicarse directamente con el hardware inalámbrico. Eso suele significar instalar controladores capaces de entender el chipset Wi-Fi específico que se encuentra dentro del adaptador. Cada fabricante utiliza su propia combinación de hardware, firmware y software, y por eso la instalación de controladores ha formado tradicionalmente parte del uso de un adaptador Wi-Fi USB.
La Raspberry Pi Pico W adopta un enfoque completamente distinto.
En lugar de presentarse como un adaptador Wi-Fi, le dice a la computadora que simplemente es un adaptador Ethernet por USB. Todos los sistemas operativos modernos ya saben cómo trabajar con dispositivos Ethernet por USB, por lo que no hay nada nuevo que instalar. Windows, macOS, Linux e incluso muchos sistemas operativos móviles ya incluyen la compatibilidad necesaria.
La parte ingeniosa ocurre dentro de la propia Pico. Mientras la computadora cree que está enviando tráfico Ethernet normal a través de USB, la Pico convierte discretamente ese tráfico en comunicaciones Wi-Fi utilizando su radio inalámbrica integrada. Para el sistema operativo no está ocurriendo nada extraño. Desde la perspectiva del usuario, la computadora adquiere de repente conectividad inalámbrica sin haber cargado nunca un controlador Wi-Fi dedicado.
Piensa en ello como contratar a un intérprete.
La computadora solo habla Ethernet. El router inalámbrico solo habla Wi-Fi. En lugar de enseñar a la computadora un idioma completamente nuevo, la Raspberry Pi Pico simplemente escucha un idioma y habla el otro. Cada lado continúa comunicándose exactamente como siempre lo ha hecho, mientras la Pico realiza la traducción en medio.
Esta idea ilustra una de las mayores fortalezas de USB. Los dispositivos USB no se definen por el hardware que contienen. Se definen por lo que afirman ser.
Un teclado se presenta como teclado. Un mouse se identifica como mouse. Una memoria USB se identifica como almacenamiento masivo. Una cámara web aparece como dispositivo de video. Al sistema operativo, por lo general, no le importa qué procesador hay dentro de la carcasa. Lo que le importa es cómo se identifica el dispositivo durante la enumeración USB.
Esa flexibilidad ha inspirado innumerables proyectos USB creativos a lo largo de los años. Investigadores de seguridad han construido dispositivos que se identifican como teclados para automatizar comandos. Pequeñas placas de desarrollo se han convertido en analizadores lógicos, osciloscopios, adaptadores seriales, controladores MIDI e interfaces de depuración simplemente cambiando el firmware que ejecutan. El hardware suele permanecer exactamente igual mientras la personalidad USB cambia por completo. Ya tratamos un concepto parecido en un artículo anterior donde explicábamos cómo cambiar la identidad de un dispositivo USB puede modificar la manera en que un sistema operativo interactúa con él.
El proyecto de la Raspberry Pi Pico W se suma a esa colección cada vez mayor de hacks USB ingeniosos. En lugar de fingir que es hardware inalámbrico, se presenta como algo que todos los sistemas operativos ya comprenden. Al elegir compatibilidad en lugar de complejidad, el desarrollador eliminó por completo la necesidad de controladores personalizados.
Quizá la parte más divertida de todo el proyecto sea la propia explicación del autor. Reconoce abiertamente que comprar un adaptador Wi-Fi USB de cinco dólares habría sido más rápido, más barato y considerablemente más sencillo. En cambio, dedicó dos días y aproximadamente un millón de tokens de programación con inteligencia artificial a desarrollar el firmware, simplemente porque quería comprobar si podía hacerse.
Puede que no haya sido la solución más económica, pero representa perfectamente el espíritu de la ingeniería. A veces el objetivo no es construir el dispositivo más barato. A veces se trata de demostrar que una idea poco convencional realmente funciona.
Proyectos como este nos recuerdan que USB es mucho más que un conector en el costado de una computadora. Detrás de ese conocido enchufe rectangular se encuentra un estándar de comunicación extraordinariamente flexible que sigue inspirando soluciones creativas casi tres décadas después de su introducción.
Lectura adicional: Adafruit publicó recientemente un artículo sobre el proyecto y atribuyó al desarrollador de software Bái Yìbai la creación del firmware de código abierto. Su artículo ofrece información adicional sobre el proyecto e incluye enlaces al código fuente. Puedes leer la cobertura de Adafruit aquí.
Nota editorial: Este artículo resume un proyecto de código abierto desarrollado por la comunidad y creado por el desarrollador de software Bái Yìbai. Los conceptos técnicos se han simplificado para ayudar a los lectores a comprender las ideas de ingeniería detrás del proyecto sin necesidad de contar con experiencia previa en sistemas embebidos.