RAMの一時停止中に外部USBハードドライブが回転するのを防ぎます。

RAMの一時停止中に外部USBハードドライブが回転するのを防ぎます。

私のWestern Digital 2TBポータブルUSB 3.0ハードドライブ(モデルWDBU6Y0020BBK)は、システム(Linux 4.4.0-38-generic、Ubuntu 16.04)がRAMで一時停止し、無制限に回転するたびに回転します。ドライブがスリープ/スタンバイモードに切り替わらないのはなぜですか?

ドライブのLEDと判断すると、一時停止プロセスの終わりにドライブへのアクセス(ウェイクアップ)が発生します。わずかな遅延により、コンピュータが休止状態(つまり、一時停止が完了した後)でもドライブから回転音が聞こえます。音。

問題のストレージはバス3、ポート1(3-1)に接続されています。

$ lsusb | grep Western
Bus 003 Device 002: ID 1058:10b8 Western Digital Technologies, Inc. Elements Portable (WDBU6Y, WDBUZG)
$ lsusb -t | grep -A1 'Bus 03'
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M

問題を説明するためにカーネルコマンドラインオプションinitcall_debug no_console_suspend ignore_loglevel dyndbg="file suspend.c +p"とIntel分析が中断されました。dmesgおよびftrace出力を収集するためのデバッグツール。電子を見つけることができますここ後者はかなり長いですが(> 340M)、明らかなエラーはありません。

$ grep err=[^0] mem_ftrace.txt ; echo $?
1

また、問題はドライバモジュールに関連しているようではありません。その後、サスペンドリカバリプロセスsudo modprobe -r uas usb_storage(ドライブを回転させ、スリープモードに切り替える)を繰り返しても何の変化もなかったからです!それにもかかわらず、ドライブは回転しました。

次に何を探すか試すべきかについてのアドバイスはありますか?

注:私は監視ツールです(HDアイドル/proc/diskstats)は、指定されたアイドル時間の後にディスクを監視し、スリープモード(つまり回転を許可する)に切り替えます。

ベストアンサー1

おすすめ記事