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)는 지정된 유휴 시간 후에 디스크를 모니터링하고 절전 모드(즉, 회전하도록 허용)로 전환합니다.

관련 정보