Em relato publicado em 15 de outubro de 2026, Christian Fredrik Kalager Schaller contou que usou o Claude Code em dois projetos de suporte a hardware no Linux: analisou a comunicação USB de um scanner Plustek para desenvolver um backend SANE e trabalhou em falhas na câmera de um ThinkPad. Schaller escolheu o que precisava ser feito e testou as mudanças nos aparelhos físicos. Leia o relato de Schaller.
Do tráfego USB a um backend SANE
O scanner era uma variante mais recente do Plustek OpticFilm 8200i, equipada com o controlador Genesys GL128 e identificador USB 07b3:1825. O modelo anterior com o mesmo nome usava o controlador GL845. Para investigar a versão mais nova, Schaller executou o driver do fabricante em uma máquina virtual com Windows e capturou o tráfego USB enquanto operava o scanner.
Com esses dados, ele desenvolveu um backend — o componente que conecta o scanner ao SANE, a estrutura de digitalização usada no Linux. Schaller relatou que obteve uma primeira digitalização reconhecível em poucas horas e, alguns dias depois, chegou a um driver que descreveu como quase perfeito, com suporte à digitalização por infravermelho.
O backend oferecia digitalização em cores, tons de cinza e infravermelho, além de modos que combinavam cor e infravermelho. Também permitia resoluções de 300 a 7.200 dpi, profundidade de 8 ou 16 bits por canal, remoção de poeira e riscos pelo canal infravermelho e ajuste de exposição para negativos densos.
A comparação de velocidade de Schaller envolveu uma unidade do scanner e um quadro. Os dois backends resolveram o mesmo detalhe fino a 3.600 dpi; na resolução máxima, o dele levou 34,6 segundos, contra 54,4 segundos para o backend upstream do SANE. São tempos dessa comparação específica, não uma medida geral de desempenho.
Schaller também relatou que o backend genesys do SANE upstream ganhou suporte à variante mais nova do OpticFilm 8200i em setembro de 2026, antes de ele descobrir essa atualização. Seu backend separado serviu, assim, como uma prova de conceito e uma comparação com o trabalho já incorporado ao SANE.
Ajustes na câmera do ThinkPad
O segundo projeto tratou a câmera do Lenovo ThinkPad X1 Carbon Gen 14 Aura Edition, com sensor Sony IMX471 conectado ao Intel IPU7. Antes das mudanças, Schaller descreveu imagens escuras, com vinhetas e um tom amarelo-esverdeado.
No driver do kernel, ele identificou problemas na seleção do recorte da imagem, na largura declarada de um registro do padrão de teste e no limite de ganho analógico, que reduzia a sensibilidade em cerca de 1,8 ponto de exposição. No processador de imagem por software (ISP) do libcamera, acrescentou correção de iluminação desigual da lente e corrigiu estatísticas de balanço de branco que misturavam a profundidade de bits nativa do sensor com um nível de preto de 8 bits.
No teste controlado em baixa luminosidade descrito por Schaller, a relação entre os canais vermelho e verde passou de 0,890 para 1,047; a relação entre azul e verde, de 0,672 para 0,823. Ele afirmou que o canal azul ainda ficava cerca de 17% abaixo em condições de pouca luz.
No relato de 15 de outubro, Schaller disse que havia enviado os patches do kernel a Kate Hsuan. Os patches do libcamera estavam sob revisão de Wim Taymans para envio ao projeto.
O trabalho humano e o hw-harness
Schaller afirmou que os projetos originais usaram scripts feitos para cada caso, não o hw-harness genérico que documentou depois. A proposta desse harness é registrar a atividade do driver do fabricante em uma máquina virtual com Windows, capturar o tráfego USB pelo Linux com o usbmon, repetir a operação com o driver Linux e comparar os rastros. Para dispositivos sem um barramento acessível, como câmeras MIPI internas, a proposta prevê inspeção pelo lado do Windows.
A pessoa continua escolhendo o que investigar e conferindo o resultado no hardware real; foi assim que Schaller descreveu o papel humano nos dois projetos.