Tem um Seagate ST2000DM008 de 2TB travando no Linux? O kernel 6.19 resolveu com uma mudança simples

Kernel 6.19 desativa LPM em um modelo específico da Seagate para acabar com travamentos e desconexões no SATA.

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Se você tem um HD Seagate de 2 TB e, do nada, o sistema começa a travar, congelar I/O ou “perder” o disco (desconexões, resets de link SATA e erros no dmesg), existe uma boa chance de não ser culpa do seu Linux. No Linux 6.19, uma correção específica foi incorporada no libata para contornar um comportamento problemático do modelo ST2000DM008-2FR102 quando o recurso LPM (Link Power Management) está ativo.

O problema com o Seagate ST2000DM008

O ST2000DM008 é um Barracuda de 2 TB bastante comum em desktops. O bug acontece quando o kernel tenta economizar energia no link SATA usando LPM. A ideia do LPM é reduzir consumo colocando o link em estados de energia mais baixos quando o disco não está sendo acessado com frequência.

Aqui entra a analogia do “sono pesado”: o LPM é como um cochilo que o HD tira para economizar energia. O problema é que esse modelo específico da Seagate tem um “sono pesado”. Quando o Linux tenta “acordá-lo” e voltar o link para operação normal, o drive pode se confundir e acabar travando ou desconectando.

Como o Linux 6.19 resolve

No Linux 6.19-rc2, o kernel adicionou o modelo ST2000DM008-2FR102 à lista de quirks (exceções) do subsistema ATA. Na prática, isso força a flag ATA_QUIRK_NOLPM, desativando LPM somente para esse drive. O ajuste foi feito em drivers/ata/libata-core.c e foi incluído em um pull de correções ATA assinado por Damien Le Moal e mergeado por Linus Torvalds.

O resultado esperado é simples: o Linux deixa esse HD “tirar sonecas” no link SATA, priorizando estabilidade. O custo é um consumo de energia ligeiramente maior em situações de ociosidade, geralmente irrelevante em um desktop, mas suficiente para evitar travamentos e desconexões.

Como verificar se você tem esse modelo

No Linux, você pode confirmar o modelo reportado pelo dispositivo com:

lsblk -d -o NAME,MODEL,SERIAL
sudo smartctl -i /dev/sdX

Se aparecer ST2000DM008-2FR102 e você estiver enfrentando instabilidade sob carga ou após períodos de ociosidade, essa correção é diretamente relevante.

Compartilhe este artigo