Ho avuto lo stesso problema. Nel mio caso, SMART ha funzionato correttamente sul dispositivo per anni durante l'utilizzo di Ubuntu 12.04 , e quindi in Ubuntu 14.04 è successo esattamente ciò che dici nella domanda.
Il problema è legato a un nuovo modulo del kernel introdotto in Linux Kernel 3.15 chiamato uas(USB Attached SCSI ) (vedere l' annuncio di rilascio ).
Tale modulo è ora responsabile della gestione dei dispositivi di archiviazione di massa USB. C'è un thread in cui le persone si lamentano che uasnel kernel 3.15 sta causando il fallimento dei loro dispositivi USB. Un altro afferma che potrebbe essere la causa di problemi SMART.
Fortunatamente, questi problemi sembrano essere scomparsi nel kernel 3.19 (che sto usando), poiché il mio dispositivo viene rilevato correttamente. Rimane solo il problema SMART.
Per risolverlo, è necessario disabilitare l'uso del uasmodulo per il dispositivo specificato.
Disabilita uassenza riavviare
Innanzitutto, scollegare tutti i dispositivi USB che potrebbero utilizzarlo. Quindi, rimuovere i moduli uase usb-storage:
sudo modprobe -r uas
sudo modprobe -r usb-storage
Quindi, caricare il usb-storagemodulo con un parametro che gli dice di non utilizzare uasper un determinato dispositivo:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorIde ProductIddevono essere sostituiti dal fornitore del dispositivo e dall'ID del prodotto, che possono essere ottenuti con il lsusbcomando (sono i caratteri dopo ID).
Ad esempio, ho il seguente dispositivo:
Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
Quindi il mio ID fornitore è 0bc2e il mio ID prodotto lo è 3320. Il mio comando è:
sudo modprobe usb-storage quirks=0bc2:3320:u
L'ultimo udice usb-storagedi ignorare uasper il dispositivo (vedi sorgente ).
A questo punto, è possibile inserire il dispositivo USB e saprà di non utilizzarlo uas, facendo funzionare SMART in modo corretto. Vedrai linee come queste dmesgquando inserisci il dispositivo USB:
usb 2-2: UAS is blacklisted for this device, using usb-storage instead
usb-storage 2-2:1.0: USB Mass Storage device detected
usb-storage 2-2:1.0: Quirks match for vid 0bc2 pid 3320: 800000
scsi host12: usb-storage 2-2:1.0
Rendi permanente la modifica
Il quirk precedente durerà solo fino al riavvio del sistema. Per renderlo persistente, è necessario seguire i passaggi descritti qui , che copio di seguito:
Innanzitutto, crea un file denominato ignore_uas.confnella /etc/modprobe.d/directory con il seguente contenuto:
options usb-storage quirks=VendorId:ProductId:u
Come in precedenza, sostituire VendorIde ProductIddal fornitore del dispositivo e dall'ID prodotto ottenuto da lsusb.
Quindi, rigenera il tuo ramdisk iniziale:
mkinitcpio -p linux
oppure, nelle versioni più recenti di Ubuntu:
sudo update-initramfs -u
Infine, riavvia il computer.
Modifica: ulteriori informazioni sul problema e un altro modo per aggirare il problema senza disabilitare uas (che ha un throughput migliore rispetto allo storage USB) è disponibile qui: https://www.smartmontools.org/ticket/971#comment:12
Sembra che il kernel stia SAT ATA PASS-THROUGHinserendo una lista nera su alcuni dispositivi quando è in esecuzione in modalità utente, poiché hanno un firmware rotto.
Quindi, la lista nera può essere disabilitata (a proprio rischio) usando il metodo precedente che menziono nella risposta, ma rimuovendo il finale udalla stranezza, ovvero:
quirks=VendorId:ProductId:
Si noti, tuttavia, che non ho testato questo approccio.