У мене підключений зовнішній жорсткий диск через USB. Звичайним методом встановлення часу повертання / очікування жорстких дисків, здається, є використання hdparm.
Так я біжу sudo hdparm -S 200 /dev/sdb
і дістаю
/dev/sdb: setting standby to 200 (16 minutes + 40 seconds)
SG_IO: bad/missing sense data, sb[]: f0 00 01 00 50 40 c8 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Пам’ятаю, я раніше це намагався, не отримуючи додаткового повідомлення з SG_IO. Тепер здається, що яке б значення я не встановив, привід відкручується приблизно через хвилину, коли холостувати. Він навіть крутиться вгору і вниз багато разів під час роботи, що вводить прикрими затримками, і я також думаю, що для здоров’я приводу буде краще продовжувати працювати.
Я не знайшов способу перевірити, чи дійсно встановлено значення, але я можу це зробити для рівня APM (Advanced Power Management):
sudo hdparm -B 196 /dev/sdb
/dev/sdb:
setting Advanced Power Management level to 0xc4 (196)
SG_IO: bad/missing sense data, sb[]: f0 00 01 00 50 40 c4 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
APM_level = 196
$ sudo hdparm -B /dev/sdb
/dev/sdb:
APM_level = 196
Система Arch Linux з ядром 3.17.6.
Чому привід все-таки крутиться вниз? Що можна зробити, щоб цього уникнути?
Оновлення
hdparm
має наступний варіант, але результат команд той самий:
--prefer-ata12 Під час використання протоколу SAT (переклад SCSI ATA) hdparm зазвичай вважає за краще використовувати 16-байтний формат команд, коли це можливо. Але деякі корпуси USB-накопичувача не працюють правильно з 16-байтовими командами. Ця опція може бути використана для примусового використання меншого 12-байтового формату команд з такими накопичувачами. hdparm все одно повернеться до 16-байтових команд для речей, які неможливо виконати з 12-байтовим форматом (наприклад, доступ до сектору понад 28-біт).
TOSHIBA External USB 3.0
.