Evite que el disco duro USB externo gire durante la suspensión en RAM

Evite que el disco duro USB externo gire durante la suspensión en RAM

Siempre que la máquina (Linux 4.4.0-38-generic, Ubuntu 16.04) se suspenda en la RAM, mi disco duro Western Digital 2TB Portable USB 3.0 (modelo WDBU6Y0020BBK) girará y continuará girando indefinidamente. ¿Por qué la unidad no se envía al modo de suspensión/espera?

A juzgar por el LED de la unidad, el acceso a la unidad (que la reactiva) ocurre muy tarde en el procedimiento de suspensión: debido a un pequeño retraso, la unidad gira de manera audible incluso después de que la máquina ya está en modo de suspensión (es decir, completó la suspensión).

El dispositivo de almacenamiento en cuestión está conectado al Bus 3, Puerto 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

Para arrojar luz sobre el asunto utilicé las opciones de línea de cmd del kernel initcall_debug no_console_suspend ignore_loglevel dyndbg="file suspend.c +p"y las de Intel.AnalizarSuspenderHerramienta de depuración para recopilar resultados de dmesg y ftrace. El primero se puede encontraraquíy este último es bastante largo (>340M), pero no contiene errores obvios:

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

Además, el problema no parece pertenecer a los módulos del controlador, ya que repetir el procedimiento de suspensión y reanudación después sudo modprobe -r uas usb_storage(que permite que la unidad gire y entre en suspensión) no produjo ningún cambio. El disco aceleró de todos modos.

¿Algún consejo sobre qué buscar y/o probar a continuación?

Para su información: utilizo una herramienta de seguimiento (hd-inactivo) que vigila /proc/diskstatsy pone el disco en suspensión (es decir, lo deja girar) después de un período de tiempo de inactividad específico.

información relacionada