Tôi đã từng gặp vấn đề tương tự. Trong trường hợp của tôi, SMART đã hoạt động bình thường trên thiết bị trong nhiều năm khi sử dụng Ubuntu 12.04 , và sau đó với Ubuntu 14.04, nó đã xảy ra chính xác những gì bạn nói trong câu hỏi.
Vấn đề liên quan đến một mô-đun hạt nhân mới đã được giới thiệu trong Linux Kernel 3.15 có tên uas(USB đính kèm SCSI ) (xem thông báo phát hành ).
Mô-đun đó hiện chịu trách nhiệm quản lý các thiết bị lưu trữ lớn USB. Có một chủ đề mà mọi người phàn nàn rằng uastrong kernel 3.15 đang khiến các thiết bị USB của họ bị lỗi. Một người khác nói rằng nó có thể là nguyên nhân của các vấn đề SMART.
May mắn thay, những vấn đề đó dường như không còn ở kernel 3.19 (mà tôi đang sử dụng), vì thiết bị của tôi đang được phát hiện chính xác. Chỉ có vấn đề SMART vẫn còn.
Để khắc phục, bạn cần phải vô hiệu hóa việc sử dụng uasmô-đun cho thiết bị đã cho.
Vô hiệu hóa uasmà không cần khởi động lại
Đầu tiên, rút phích cắm tất cả các thiết bị USB có thể đang sử dụng nó. Sau đó, loại bỏ các mô-đun uasvà usb-storage:
sudo modprobe -r uas
sudo modprobe -r usb-storage
Sau đó, tải usb-storagemô-đun với một tham số cho biết nó không sử dụng uascho một thiết bị nhất định:
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorIdvà ProductIdphải được thay thế bởi nhà cung cấp thiết bị và id sản phẩm của bạn, có thể nhận được bằng lsusblệnh (chúng là các ký tự sau ID).
Ví dụ: tôi có thiết bị sau:
Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
Vì vậy, id nhà cung cấp của tôi là 0bc2, và id sản phẩm của tôi là 3320. Lệnh của tôi là:
sudo modprobe usb-storage quirks=0bc2:3320:u
Câu unói cuối cùng usb-storagebỏ qua uascho thiết bị (xem nguồn ).
Tại thời điểm này, bạn có thể cắm thiết bị USB và thiết bị sẽ biết không sử dụng uas, giúp SMART hoạt động bình thường. Bạn sẽ thấy những dòng như thế này dmesgkhi cắm thiết bị 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
Làm cho sự thay đổi vĩnh viễn
Việc giải quyết trước đó sẽ chỉ kéo dài cho đến khi bạn khởi động lại hệ thống. Để làm cho nó bền bỉ, bạn cần làm theo các bước được mô tả ở đây , mà tôi sao chép dưới đây:
Đầu tiên, tạo một tệp có tên ignore_uas.conftrong /etc/modprobe.d/thư mục với nội dung sau:
options usb-storage quirks=VendorId:ProductId:u
Như trước, thay thế VendorIdvà ProductIdbởi nhà cung cấp thiết bị và id sản phẩm của bạn thu được từ lsusb.
Tiếp theo, tái tạo ramdisk bẩm sinh của bạn:
mkinitcpio -p linux
hoặc, trên các phiên bản Ubuntu mới hơn:
sudo update-initramfs -u
Cuối cùng, khởi động lại máy tính của bạn.
Chỉnh sửa: Có thêm thông tin về vấn đề này và một cách khác để khắc phục vấn đề mà không vô hiệu hóa uas (có thông lượng tốt hơn lưu trữ usb) có thể được tìm thấy tại đây: https://www.smartmontools.org/ticket/971#comment:12
Có vẻ như kernel đang nằm trong danh sách đen SAT ATA PASS-THROUGHtrên một số thiết bị khi chạy ở chế độ uas, vì chúng đã bị hỏng firmware.
Vì vậy, danh sách đen có thể bị vô hiệu hóa (có nguy cơ của riêng bạn) bằng cách sử dụng phương pháp trước đây tôi đã đề cập trong câu trả lời, nhưng loại bỏ cuối cùng ukhỏi quirk, tức là:
quirks=VendorId:ProductId:
Xin lưu ý, tuy nhiên, tôi chưa thử nghiệm phương pháp này.