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 uasw 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 uasmodułu dla danego urządzenia.
Wyłącz uasbez ponownego uruchamiania
Najpierw odłącz wszystkie urządzenia USB, które mogą z niego korzystać. Następnie usuń moduły uasi usb-storage:
sudo modprobe -r uas
sudo modprobe -r usb-storage
Następnie załaduj usb-storagemoduł z parametrem, który mówi mu, aby nie używał uasdla danego urządzenia:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorIdi ProductIdmusi zostać zastąpiony przez dostawcę urządzenia i identyfikator produktu, które można uzyskać za pomocą lsusbpolecenia (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 unakazuje usb-storagezignorować uasurzą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. dmesgPodczas 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.confw /etc/modprobe.d/katalogu o następującej treści:
options usb-storage quirks=VendorId:ProductId:u
Tak jak poprzednio, zamień VendorIdi ProductIdprzez 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-THROUGHna 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ł uz dziwactwa, tj .:
quirks=VendorId:ProductId:
Należy jednak pamiętać, że nie przetestowałem tego podejścia.