Un último adiós a Larry Finger, una persona que ha estado lejos del foco de atención pero que es responsable del correcto funcionamiento de los controladores WiFi en Linux.
El código de GNU/Linux está creado por personas, que en muchos casos trabajan silenciosamente durante años enviando sus contribuciones con pasión y gran motivación. Larry Finger, fallecido hace unos días, era la prueba de cómo el trabajo de un solo individuo puede ser fundamental para un proyecto mastodóntico como Linux.
Se estima que Finger contribuyó a 94 lanzamientos del kernel de Linux, con un total de casi 1.500 confirmaciones, al menos desde el kernel 2.6.16 del 2006, es decir, desde que Linus Torvalds comenzó a usar git para rastrear los cambios aplicados en el “corazón” del sistema operativo libre y de código abierto. Considerando la naturaleza dinámica y “precaria” de las contribuciones enviadas al proyecto del kernel de Linux, el trabajo realizado por Finger es impresionante. Sobre todo por parte de una persona que no se consideraba un informático puro, sino más bien un científico.
La integración del soporte WiFi en Linux: el desafío épico ganado por Larry Finger
Hacer funcionar las tarjetas WiFi en un dispositivo Linux era algo descabellado. Al menos cuando Finger comenzó a contribuir para mejorar la situación. Las probabilidades de que el hardware fuera correctamente reconocido, habilitado y puesto en funcionamiento inmediatamente después de la instalación del sistema operativo, eran comparables a obtener una escalera real en el póker.

Si ningún desarrollador había creado aún un controlador compatible para el chipset inalámbrico presente en el sistema, Linux no podía reconocerlo y permitir su uso.
En estas circunstancias, los usuarios podían recurrir a NDISwrapper, una herramienta que permite utilizar los controladores de Windows para las tarjetas de red en un sistema Linux. El software permite a Linux “interactuar” con los controladores escritos para Windows, proporcionando una forma de hacer funcionar el chipset inalámbrico incluso en ausencia de un controlador nativo.
NDISwrapper a menudo se describe como una “herramienta kludge”, una solución improvisada y a menudo ineficiente o torpe para resolver un problema. Además, si el código de Linux está libremente disponible y es modificable, el uso de controladores de Windows, que a menudo son propietarios, contradice la filosofía del pingüino.
Finger tomó el toro por los cuernos y comenzó a trabajar en los controladores Broadcom BCM43XX. Broadcom no proporcionaba código para hacer funcionar su hardware, por lo que Finger se encargó de la ingeniería inversa realizando el volcado de los registros de hardware. Con su trabajo, Finger permitió agregar soporte para una gran cantidad de chipsets, incluidos los de la marca Realtek.
Muchos usuarios están descubriendo hoy que muchos de sus sistemas todavía utilizan grandes porciones de código desarrollado por Finger.
El legado de Finger
En la serie de artículos “Linux in a Windows Workstation Environment“, de 2005, Finger resumió sus antecedentes: programador Fortran en 1963, interfaces PDP-11 para instrumentos científicos en los años 70, VAX-11/780 a principios de los 80 y luego sistemas Unix/Linux, hasta su jubilación en 1999 (trabajaba en la Carnegie Institution for Science de Washington, DC).
Su compromiso con la cristalografía le hizo ganar un importante reconocimiento y el mineral llamado fingerita, un ejemplar extremadamente raro, fue bautizado en su honor.
Desde entonces, se dedicó a actualizar la infraestructura y la red de un club informático local, en Arizona. Primero quiso reemplazar las licencias de WinGate, un conocido software con funciones de servidor proxy desarrollado para proporcionar una solución de uso compartido de la conexión a Internet, firewall y administración de red, con una implementación totalmente basada en Linux. Posteriormente, pasó a agregar soporte WiFi en Linux, permitiendo así a los miembros del club acceder gratuitamente a la red.
El papel de mentor
Finger ha desempeñado el papel de mentor para muchas personas, a menudo manteniéndose alejado del foco de atención. En 2023, en respuesta a alguien que preguntaba si una persona sin “formación formal en informática” podía “contribuir sustancialmente” al desarrollo de Linux, Finger escribió: “Creo que sí”. Y enlazó las estadísticas del kernel 6.4, mostrando 172.346 líneas de código suyo, aproximadamente el 0,5% del total.
“Nunca he tomado cursos de informática; sin embargo, tengo mucha experiencia en codificación, gran parte de la cual ocurrió cuando las computadoras eran mucho menos potentes que hoy, y era fundamental escribir código que funcionara de manera eficiente”, agregó.
Con respecto al desarrollo de código para el kernel de Linux, Finger señaló que este tipo de actividad puede ser muy gratificante, pero al mismo tiempo también muy frustrante. Al recomendar aprender C, comenzando por ejemplo con el análisis de los controladores USB, Finger sugería tomarse el tiempo necesario para aprender la tecnología DMA (Acceso Directo a Memoria), que permite a los componentes de hardware acceder directamente a la memoria principal (RAM) del sistema, sin pasar por la CPU.
“No pierdan la esperanza“, escribió Finger. “Me tomó aproximadamente 2 años antes de poder hacer algo más que decirle a los expertos dónde mi sistema generaba un error“.
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.