Miałem ten sam problem. W moim przypadku SMART działał poprawnie na urządzeniu od lat podczas korzystania z Ubuntu 12.04 , a następnie pod Ubuntu 14.04 stało się dokładnie to, co mówisz w pytaniu.
Problem związany jest z nowym modułem jądra, który został wprowadzony w jądrze Linuksa 3.15 o nazwie uas
(USB Attached SCSI ) (patrz ogłoszenie o wydaniu ).
Ten moduł jest teraz odpowiedzialny za zarządzanie urządzeniami pamięci masowej USB. Istnieje wątek, w którym ludzie narzekają, że uas
w jądrze 3.15 powoduje awarię urządzeń USB. Inny mówi, że może to być przyczyną problemów SMART.
Na szczęście problemy te zniknęły w jądrze 3.19 (którego używam), ponieważ moje urządzenie jest wykrywane poprawnie. Pozostaje tylko problem SMART.
Aby to naprawić, musisz wyłączyć użycie uas
modułu dla danego urządzenia.
Wyłącz uas
bez ponownego uruchamiania
Najpierw odłącz wszystkie urządzenia USB, które mogą z niego korzystać. Następnie usuń moduły uas
i usb-storage
:
sudo modprobe -r uas
sudo modprobe -r usb-storage
Następnie załaduj usb-storage
moduł z parametrem, który mówi mu, aby nie używał uas
dla danego urządzenia:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorId
i ProductId
musi zostać zastąpiony przez dostawcę urządzenia i identyfikator produktu, które można uzyskać za pomocą lsusb
polecenia (są to znaki po ID
).
Na przykład mam następujące urządzenie:
Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
Więc mój identyfikator dostawcy to 0bc2
, a mój identyfikator produktu to 3320
. Moje polecenie to:
sudo modprobe usb-storage quirks=0bc2:3320:u
Ostatni u
nakazuje usb-storage
zignorować uas
urządzenie (patrz źródło ).
W tym momencie możesz podłączyć urządzenie USB i będzie wiedział, że nie należy go używać uas
, dzięki czemu SMART będzie działać poprawnie. dmesg
Podczas wkładania urządzenia USB zobaczysz takie linie :
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
Ustaw zmianę na stałe
Poprzednie dziwactwo potrwa tylko do ponownego uruchomienia systemu. Aby było trwałe, musisz wykonać kroki opisane tutaj , które kopiuję poniżej:
Najpierw utwórz plik o nazwie ignore_uas.conf
w /etc/modprobe.d/
katalogu o następującej treści:
options usb-storage quirks=VendorId:ProductId:u
Tak jak poprzednio, zamień VendorId
i ProductId
przez sprzedawcę urządzenia i identyfikator produktu uzyskany od lsusb
.
Następnie zregeneruj swój początkowy ramdysk:
mkinitcpio -p linux
lub w nowszych wersjach Ubuntu:
sudo update-initramfs -u
Na koniec uruchom ponownie komputer.
Edycja: Więcej informacji na temat problemu i inny sposób obejścia tego problemu bez wyłączania interfejsu użytkownika (który ma lepszą przepustowość niż pamięć USB) można znaleźć tutaj: https://www.smartmontools.org/ticket/971#comment:12
Wygląda na to, że jądro znajduje się SAT ATA PASS-THROUGH
na czarnej liście na niektórych urządzeniach, gdy działa w trybie uas, ponieważ mają zepsute oprogramowanie.
Tak więc czarną listę można wyłączyć (na własne ryzyko), używając poprzedniej metody, o której wspomniałem w odpowiedzi, ale usuwając finał u
z dziwactwa, tj .:
quirks=VendorId:ProductId:
Należy jednak pamiętać, że nie przetestowałem tego podejścia.