Acessando SMART em Leitor de HDD Externo

Problema com leitores de HDD Externo ocorre desde 2017 e não há solução oficial; porém há uma solução alternativa disponível!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

O Kernel Linux é poderoso e dinâmico, permitindo que você acesse o interior de várias partes do hardware do seu computador. Uma dessas partes é o SMART dos HDDs e SSDs para verificar suas respectivas saúdes!

Para quem utiliza sistemas Ubuntu devem estar familiarizados com o GNOME Disk Utility, ou apenas Disks.

A tela é simples e permite acesso a detalhes das mídias de armazenamento com suporte a SMART em seu computador:

Outra forma de ver os dados SMART é com o comando skdump após instalar o pacote libatasmart-bin – no repositório de sua distro. Com o comando:

$ sudo skdump /dev/sda

Você também tem acesso aos dados SMART do referido dispositivo de armazenamento:

Até aí, tudo certo!

2. O problema

O assunto desta publicação ocorre quando os usuários tentam acessar um disco Externo como estes:

Cabo Adaptador Conversor Usb 3.0 Para Hd Ssd Sata 2,5 Note

Case Hd Externo Notebook Gaveta 2,5 Sata Usb 3.0 Transparent INFOKIT HD /  SSD R4SHOP

E vê esse tipo de problema:

O GNOME Disk Utility não exibe a guia Dados do SMART e Autotestes; e mesmo se você utilizar o skdump pelo terminal, a saída será um erro de que o dispositivo não é suportado.

Se você tentou ler o status SMART de algum HDD Externo e se deparou com esse problema, eis o porquê!

3. Explicação

O Linux na maioria das distros utiliza um controlador de USB-SATA que se chama UAS. Ele é fantástico, resolve o problema 99% das vezes. Mas aquele 1%…. É quando o controlador, que não são raros no mercado, é fabricado pela Seagate sob o ID 0bc2. – O problema é mais comum na marca Seagate, mas nada impede que também ocorra em outras marcas.

Em meados de 2017 o Kernel recebeu um patch (detalhes aqui) onde justificaram que o controlador UAS possui muitos problemas quando lida com dispositivos Seagate e por isso não funcionaria mais o acesso ao SMART nem os autotestes. Ele reconhece a mídia porém com limitações.

Isso é no mínimo intrigante porque no Windows 10 o UAS e seu respectivo acesso USB-SATA funcionam normalmente.

Conclusão: Usuários Linux que querem ler os dados SMART de um dispositivo de armazenamento externo da marca Seagate ou que possuem um controlador fabricado pela Seagate, estão convidados a trocar de adaptador; ou mesmo a comprar um HDD Externo de outras marcas! – Absurdo.

4. Resolução

Diante de tal situação no mínimo estranha, trago á luz uma solução que funciona para 99% dos casos em que o dispositivo externo não permitir que o SMART seja acessível… E ainda haverão aqueles 1% em que nada poderá ser feito para tal! – Portanto é um método paliativo que não resolve plenamente o problema e não há garantias de que sempre dará certo.

Basta plugar o HDD Externo á porta USB, seja ela 2.0 ou 3.0, dê o comando:

$ lsusb

E anote a ID do dispositivo. No meu exemplo foi:

Bus 001 Device 020: ID 0bc2:231a Seagate RSS LLC Expansion Portable

Copie o código e cole-o, adaptando neste comando:

$ echo “0bc2:231a:u” | sudo tee /sys/module/usb_storage/parameters/quirks

Observe a presença do :u após o código!

Após isso, basta desconectar o dispositivo e reconectá-lo. Ele será reconhecido pelo outro controlador de dispositivos, chamado usb-storage, mais limitado em recursos porém funcional.

Assim, basta abrir o GNOME Disk Utility ou o comando skdump que você terá acesso ao SMART do dispositivo!

Lembrando que isso não é plena garantia. Nos meus testes, de 3 adaptadores SATA-USB externos que possuo, 2 não funcionaram com esse método, porém 1 foi bem sucedido. Inclusive não necessariamente funciona apenas com Seagate, a mesma lógica e comandos valem para problema semelhante em outras marcas e modelos de adaptadores SATA externos!

5. Conclusão

Por mais que o Kernel Linux tenha evoluído seja bem completo com poucos problemas de compatibilidade de hardwares reportados, ainda há casos como este em que inexplicavelmente algo relativamente simples não foi resolvido de uma forma definitiva a anos.

Obviamente o acesso a dados SMART não é algo prioritário e muitos usuários/estudantes de Linux não sentirão falta disso; mas é um empecilho que pessoalmente me rendeu dores de cabeça e que muitos por aí podem ter tido o mesmo problema!

#UrbanCompassPony

Fontes:
smartmontools
github

2 comentários em “Acessando SMART em Leitor de HDD Externo”

Deixe um comentário