Após anos de pedidos da comunidade — e sete revisões de patch — o Linux está prestes a ganhar um jeito padronizado e confiável de ler o número de série de dispositivos PCIe direto pelo sysfs. Em vez de depender de “gambiarras” para raspar texto do lspci, bastará um cat
para obter a informação. Parece pequeno? Para quem opera dezenas de máquinas talvez; para quem gerencia centenas ou milhares de servidores, é a diferença entre uma automação robusta e um castelo de cartas.
O fim da era do “parsing” de lspci
Quem nunca quebrou um script de inventário depois de uma atualização que mudou um espacinho no lspci? A saída desse comando é pensada para humanos — útil no dia a dia, mas frágil quando você precisa de estabilidade contratual para auditorias, RMA, rastreabilidade de peças e compliance. A nova interface serial_number
no sysfs entrega exatamente o oposto: uma API estável, legível por máquinas e feita para ser controlada por permissões de sistema (admin decide quem pode ler). Resultado: inventário mais confiável, menos “regexp” esquisita e menos páginas amarelas às 3 da manhã.
Como vai funcionar a nova interface
A proposta adiciona um atributo somente-leitura no caminho do dispositivo PCIe. Se o hardware suportar a PCIe Device Serial Number extended capability, o arquivo aparecerá; se não suportar, ele simplesmente não existe — nada de valores mágicos. O formato segue o mesmo do lspci (hexadecimal, 1 byte com traços), o que facilita a vida de quem já tem processos internos que esperam esse padrão. Além disso, por padrão o acesso é admin-only, permitindo que equipes de operações abram leitura para um app não-privilegiado apenas quando fizer sentido. (lore-kernel.gnuweeb.org)
# exemplo (caminho ilustrativo)
sudo cat /sys/bus/pci/devices/0000:ef:00.0/serial_number
00-80-ee-00-00-00-41-80
Como bônus, nada impede que você gere um mapeamento consistente entre slots físicos, números de série e o seu CMDB — sem depender de heurísticas frágeis ou de variações de firmware que bagunçam a saída de ferramentas de linha de comando. É o tipo de “pequena” melhoria que, na prática, corta horas de manutenção por mês.
por que isso importa (mesmo que você não note agora)
Pense em um data center onde um lote de adaptadores PCIe precisa ser substituído preventivamente. Identificar exatamente quais máquinas têm exatamente aqueles números de série pode ser a diferença entre um “rolling update” tranquilo e um mutirão caótico. Com o atributo de sysfs, você padroniza a coleta e integra direto no seu orquestrador — Ansible, Puppet, Fleet — o que preferir. Quem administra parque grande sabe: padronização e observabilidade são superpoderes.
o que vem a seguir no kernel
O patch é assinado por Matthew Wood e chegou à v7 com uma boa lista de Reviewed-by (incluindo nomes de peso da comunidade PCI). Keith Busch — mantenedor influente no subsistema — já pediu sinal verde e indicou que pretende encaminhar a mudança para a próxima janela de merge, alinhada com a documentação do patch que mira dezembro de 2025 (Linux 6.18). Em outras palavras: a novidade de Linux PCIe sysfs está praticamente no “túnel de acesso ao gramado”.
Em resumo: menos “cola quente” em scripts, mais previsibilidade para inventário, monitoramento e troca de peças. Uma linha no sysfs; um mundo de dor de cabeça a menos.