同じ問題がありました。私の場合、Ubuntu 12.04を使用している間、SMARTは何年もデバイス上で適切に動作していましたが、Ubuntu 14.04の下では、まさにあなたが質問で語ったとおりになりました。
この問題は、Linux Kernel 3.15でuas
(USB Attached SCSI)と呼ばれる新しいカーネルモジュールに関連しています(リリース発表を参照)。
そのモジュールは現在、USB大容量記憶装置の管理を担当しています。カーネル3.15でUSBデバイスの障害が発生していると人々が不平を言うスレッドがありuas
ます。別の人は、それがSMART問題の原因かもしれないと言います。
幸いなことに、これらの問題は、私のデバイスが正しく検出されているため、カーネル3.19(私が使用している)でなくなっているようです。SMART問題のみが残ります。
修正するにuas
は、特定のデバイスのモジュールの使用を無効にする必要があります。
uas
再起動せずに無効にする
まず、使用している可能性のあるすべてのUSBデバイスを取り外します。次に、uas
およびusb-storage
モジュールを削除します。
sudo modprobe -r uas
sudo modprobe -r usb-storage
次に、特定のデバイスでusb-storage
使用しないように指示するパラメーターを使用uas
してモジュールをロードします。
sudo modprobe usb-storage quirks=VendorId:ProductId:u
VendorId
そして、ProductId
で得ることができるお使いのデバイスのベンダーと製品ID、によって置き換えられなければならないlsusb
コマンド(彼らは後の文字ですID
)。
たとえば、次のデバイスがあります。
Bus 002 Device 011: ID 0bc2:3320 Seagate RSS LLC SRD00F2 [Expansion Desktop Drive]
したがって、ベンダーIDは0bc2
です3320
。製品IDはです。私のコマンドは:
sudo modprobe usb-storage quirks=0bc2:3320:u
最後u
は、デバイスusb-storage
に対して無視するようuas
に指示します(ソースを参照)。
この時点で、USBデバイスを挿入でき、使用しないことがわかりuas
、SMARTが適切に機能するようになります。dmesg
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
変更を永続的にする
前の癖は、システムを再起動するまで続きます。これを永続化するには、ここで説明する手順に従う必要があります。これを以下にコピーします。
最初ignore_uas.conf
に、/etc/modprobe.d/
ディレクトリに次の内容の名前のファイルを作成します。
options usb-storage quirks=VendorId:ProductId:u
前と同様に、代替VendorId
とProductId
から取得したデバイスのベンダーと製品IDによるlsusb
。
次に、初期RAMディスクを再生成します。
mkinitcpio -p linux
または、新しいUbuntuバージョンの場合:
sudo update-initramfs -u
最後に、コンピューターを再起動します。
編集:問題の詳細な背景、およびuas(usb-storageよりもスループットが高い)を無効にせずに回避する別の方法は、https://www.smartmontools.org/ticket/971#comment:12にあります。
SAT ATA PASS-THROUGH
一部のデバイスでは、uasモードで実行すると、ファームウェアが壊れているため、カーネルがブラックリストに載っているようです。
だから、ブラックリストは、最終的に私は答えに言及する従来の方法を使用しますが、除去することによって、(ご自身の責任で)無効にすることができu
癖、すなわちから:
quirks=VendorId:ProductId:
ただし、このアプローチはテストしていません。