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 uas
nel 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 uas
modulo per il dispositivo specificato.
Disabilita uas
senza riavviare
Innanzitutto, scollegare tutti i dispositivi USB che potrebbero utilizzarlo. Quindi, rimuovere i moduli uas
e usb-storage
:
sudo modprobe -r uas
sudo modprobe -r usb-storage
Quindi, caricare il usb-storage
modulo con un parametro che gli dice di non utilizzare uas
per un determinato dispositivo:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorId
e ProductId
devono essere sostituiti dal fornitore del dispositivo e dall'ID del prodotto, che possono essere ottenuti con il lsusb
comando (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 è 0bc2
e il mio ID prodotto lo è 3320
. Il mio comando è:
sudo modprobe usb-storage quirks=0bc2:3320:u
L'ultimo u
dice usb-storage
di ignorare uas
per 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 dmesg
quando 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.conf
nella /etc/modprobe.d/
directory con il seguente contenuto:
options usb-storage quirks=VendorId:ProductId:u
Come in precedenza, sostituire VendorId
e ProductId
dal 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-THROUGH
inserendo 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 u
dalla stranezza, ovvero:
quirks=VendorId:ProductId:
Si noti, tuttavia, che non ho testato questo approccio.