Verhindern Sie, dass die externe USB-Festplatte während des Suspend-to-RAM-Betriebs hochfährt.

Verhindern Sie, dass die externe USB-Festplatte während des Suspend-to-RAM-Betriebs hochfährt.

Wenn der Rechner (Linux 4.4.0-38-generic, Ubuntu 16.04) in den Ruhezustand wechselt und auf RAM umschaltet, läuft meine tragbare Western Digital 2TB USB 3.0-Festplatte (Modell WDBU6Y0020BBK) an und läuft unbegrenzt weiter. Warum wird die Festplatte nicht in den Ruhe-/Standbymodus versetzt?

Gemessen an der LED des Laufwerks erfolgt der Zugriff auf das Laufwerk (der es aufweckt) sehr spät im Suspend-Vorgang: Aufgrund einer kleinen Verzögerung dreht sich das Laufwerk hörbar hoch, selbst wenn die Maschine bereits im Ruhezustand ist (d. h. der Suspend-Vorgang abgeschlossen ist).

Das betreffende Speichergerät ist an Bus 3, Port 1 ( 3-1) angeschlossen:

$ 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

Um Licht in die Sache zu bringen, habe ich die Kernel-Befehlszeilenoptionen initcall_debug no_console_suspend ignore_loglevel dyndbg="file suspend.c +p"und IntelsAnalysierenAussetzenDebugging-Tool zum Sammeln von dmesg- und ftrace-Ausgaben. Ersteres finden SieHierund letzteres ist ziemlich lang (> 340 M), enthält aber keine offensichtlichen Fehler:

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

Darüber hinaus scheint das Problem nicht mit den Treibermodulen zusammenzuhängen, da die Wiederholung des Suspend-Resume-Vorgangs sudo modprobe -r uas usb_storage(der das Laufwerk herunterfährt und in den Ruhezustand versetzt) ​​keine Änderung brachte! Das Laufwerk fuhr trotzdem hoch.

Irgendwelche Hinweise, worauf ich als Nächstes achten und/oder was ich versuchen sollte?

Zu Ihrer Information: Ich verwende ein Überwachungstool (hd-leerlauf), das die Festplatte überwacht /proc/diskstatsund sie nach einer festgelegten Leerlaufzeit in den Ruhezustand versetzt (d. h. herunterfahren lässt).

verwandte Informationen