RAM을 일시 중지하는 동안 외부 USB 하드 드라이브가 회전하는 것을 방지합니다.

RAM을 일시 중지하는 동안 외부 USB 하드 드라이브가 회전하는 것을 방지합니다.

시스템(Linux 4.4.0-38-generic, Ubuntu 16.04)이 RAM을 일시 중단할 때마다 내 Western Digital 2TB 휴대용 USB 3.0 하드 드라이브(모델 WDBU6Y0020BBK)가 회전하고 무한정 계속 회전합니다. 드라이브가 절전/대기 모드로 전환되지 않는 이유는 무엇입니까?

드라이브의 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

이 문제를 밝히기 위해 커널 cmdline 옵션 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지정된 유휴 시간이 지나면 디스크를 관찰하고 절전 모드(즉, 스핀다운)로 설정합니다.

관련 정보