El 15 de octubre de 2026, Christian Fredrik Kalager Schaller explicó que Claude Code le ayudó a analizar el tráfico USB de un escáner y a abordar defectos de cámara en Linux. En ambos proyectos, Schaller eligió el trabajo y probó los cambios en el hardware real, según su relato.
Del tráfico USB a un backend SANE para el escáner
Schaller trabajó con una variante reciente del Plustek OpticFilm 8200i, equipada con el controlador Genesys GL128 y el identificador USB 07b3:1825. El modelo anterior con el mismo nombre lleva un GL845 y ya estaba gestionado por SANE, el sistema de Linux para acceder a escáneres.
Para estudiar la variante más reciente, ejecutó el controlador del fabricante en una máquina virtual de Windows y capturó el tráfico USB mientras manejaba el escáner. Según contó, obtuvo una primera imagen reconocible en unas horas y, algunos días después, un controlador casi perfecto con escaneado por infrarrojos.
El backend que desarrolló admite color, escala de grises, infrarrojos y color con infrarrojos; resoluciones de 300 a 7200 puntos por pulgada y profundidades de 8 o 16 bits por canal. También incorpora eliminación de polvo y arañazos mediante el canal infrarrojo y un ajuste de exposición para negativos densos.
Schaller dijo que SANE incorporó soporte para la variante más reciente en septiembre de 2026, antes de que él lo descubriera. Por eso, su backend independiente sirvió como prueba de concepto y comparación con el trabajo upstream.
En una prueba con un único escáner y un solo fotograma, ambos controladores resolvieron el mismo detalle fino a 3600 puntos por pulgada. El backend de Schaller tardó 34,6 segundos a resolución máxima; el de SANE, 54,4 segundos. Es el resultado de esa prueba concreta, no una medición general de rendimiento.
Correcciones para la cámara del ThinkPad
El segundo proyecto abordó la cámara de un Lenovo ThinkPad X1 Carbon Gen 14 Aura Edition, con sensor Sony IMX471 detrás del procesador de imagen Intel IPU7. Schaller describió imágenes oscuras, con viñeteado y un tono amarillo verdoso antes de los cambios.
En el controlador del núcleo de Linux corrigió un error al seleccionar el recorte, el ancho declarado de un registro del patrón de prueba y un límite de ganancia analógica que, según su cálculo, restaba alrededor de 1,8 pasos de sensibilidad. En el procesador de imagen por software de libcamera añadió corrección de sombreado de lente —que compensa el oscurecimiento de las esquinas— y ajustó las estadísticas del balance de blancos, que combinaban valores de distinta profundidad de bits.
En su prueba controlada con poca luz, Schaller comunicó que la relación entre rojo y verde pasó de 0,890 a 1,047, y la de azul y verde, de 0,672 a 0,823. Aun así, el canal azul seguía alrededor de un 17 % por debajo en esas condiciones.
En el relato publicado el 15 de octubre de 2026, Schaller indicó que había enviado los parches del núcleo a Kate Hsuan y que Wim Taymans revisaba los cambios de libcamera para su envío al proyecto.
El papel humano y el harness posterior
Los dos proyectos originales usaron código específico; Schaller documentó después el flujo genérico de hw-harness. Ese método propone registrar la actividad del controlador del fabricante en una máquina virtual de Windows, capturarla desde Linux con usbmon, repetir la operación con el controlador de Linux y comparar los registros. Para dispositivos sin un bus accesible, como las cámaras MIPI internas, contempla inspeccionar la actividad desde Windows.
Schaller describió el reparto de tareas de forma concreta: la persona decide qué construir y comprueba el resultado en el dispositivo físico.