J'ai eu le même problème. Dans mon cas, SMART fonctionnait correctement sur l'appareil depuis des années lors de l'utilisation d' Ubuntu 12.04 , puis sous Ubuntu 14.04, c'est exactement ce que vous dites dans la question.
Le problème est lié à un nouveau module de noyau introduit dans Linux Kernel 3.15 appelé uas
(USB Attached SCSI ) (voir l' annonce de la version ).
Ce module est désormais responsable de la gestion des périphériques de stockage de masse USB. Il y a un fil où les gens se plaignent que uas
dans le noyau 3.15, leurs périphériques USB tombent en panne. Un autre dit que cela pourrait être la cause de problèmes SMART.
Heureusement, ces problèmes semblent avoir disparu au niveau du noyau 3.19 (que j'utilise), car mon appareil est détecté correctement. Seul le problème SMART demeure.
Pour le corriger, vous devez désactiver l'utilisation du uas
module pour le périphérique donné.
Désactiver uas
sans redémarrer
Tout d'abord, débranchez tous les périphériques USB qui pourraient l'utiliser. Ensuite, supprimez les modules uas
et usb-storage
:
sudo modprobe -r uas
sudo modprobe -r usb-storage
Ensuite, chargez le usb-storage
module avec un paramètre qui lui dit de ne pas utiliser uas
pour un appareil donné:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorId
et ProductId
doit être remplacé par le fournisseur de votre appareil et l'ID du produit, qui peuvent être obtenus avec la lsusb
commande (ce sont les caractères après ID
).
Par exemple, j'ai l'appareil suivant:
Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
Donc, mon ID de fournisseur est 0bc2
, et mon ID de produit est 3320
. Ma commande est:
sudo modprobe usb-storage quirks=0bc2:3320:u
Le dernier u
dit usb-storage
d'ignorer uas
pour l'appareil (voir source ).
À ce stade, vous pouvez insérer le périphérique USB, et il saura ne pas l'utiliser uas
, ce qui fera fonctionner SMART correctement. Vous verrez des lignes comme celles-ci dmesg
lors de l'insertion du périphérique 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
Rendre le changement permanent
La bizarrerie précédente ne durera que jusqu'au redémarrage du système. Pour le rendre persistant, vous devez suivre les étapes décrites ici , que je copie ci-dessous:
Créez d'abord un fichier nommé ignore_uas.conf
dans le /etc/modprobe.d/
répertoire avec le contenu suivant:
options usb-storage quirks=VendorId:ProductId:u
Comme précédemment, remplacez VendorId
et ProductId
par le fournisseur de votre appareil et l'ID de produit obtenu auprès de lsusb
.
Ensuite, régénérez votre disque virtuel initial:
mkinitcpio -p linux
ou, sur les nouvelles versions d'Ubuntu:
sudo update-initramfs -u
Enfin, redémarrez votre ordinateur.
Edit: Plus d'informations sur le problème et une autre façon de le contourner sans désactiver les uas (qui ont un meilleur débit que le stockage USB) peuvent être trouvées ici: https://www.smartmontools.org/ticket/971#comment:12
Il semble que le noyau soit SAT ATA PASS-THROUGH
sur liste noire sur certains appareils lorsqu'ils s'exécutent en mode uas, car ils ont cassé le firmware.
Ainsi, la liste noire peut être désactivée (à vos risques et périls) en utilisant la méthode précédente que je mentionne dans la réponse, mais en supprimant la finale u
de la bizarrerie, c'est-à-dire:
quirks=VendorId:ProductId:
Veuillez noter, cependant, que je n'ai pas testé cette approche.