Есть ноутбук с вин-7х64 и kubuntu 14.04 х64 на борту, с подключенной USB-3 док-станцией с внешним питанием. Когда работаю под виндой и отключаю ноут, то на док-станцию видимо идет какой то сигнал и она тоже отключается, точнее винчестер в ней культурно паркуется и перестает крутиться. Когда я отключаю ноут, находясь под кубунтой (да и под дебиан, когда она тоже стояла), то винчестер док-станции продолжает крутиться и когда отключаешь питание, то слышно как со свистом некрасиво паркуется винчестер. Очень не хочется чтобы винт в док-станции накрылся от таких парковок.
Диск в док-станции примонтируется автоматически при входе в систему. Даже если его отмонтировать перед отключением, то диск также продолжает крутится.
Как можно это исправить или данная проблема пока не разрешима?
Ничего им (дискам) не будет.
hdparm -S1 /dev/sdb
остановит и запаркует винт (/dev/sdb) через одну секунду.
Впишите в протокол отключения ноута и будет Вам счастье.
Спасибо, сейчас попробую.
Не получилось, вернее не совсем получилось. У меня на ноуте система на SSD, он видится как sda. Есть встроенный диск вместо DVDрома, он определяется как sdb. И есть внешний диск в док-станции, он определяется как sdс.
Когда я ввожу команду как выше, то отвечает: /dev/sdb:
setting standby to 1 (5 seconds)
То есть как я понимаю, команда прошла. А если ввожу sudo hdparm -S1 /dev/sdc
то отвечает
/dev/sdc:
setting standby to 1 (5 seconds)
HDIO_DRIVE_CMD(setidle) failed: Input/output error
Я не профи в линукс и как поступить дальше не знаю. Что за ошибка ввода-вывода не понимаю.
докстанция на юсб не пропускает данные команды, точнее не умеет обрабатывать их.
Я лично знаю только один девайс на юсб, который понимает эти команды, лежит в чехольчике как раз для целей смарттоолс и прочих ковыряний...
У меня касаемо всяческих боксов для винтов опыт по прохождению этих команд - 50/50. Все зависит на каком контроллере сделано.
Но,учитывая что ТС пишет:
то шансы у него есть.
Возможно, возможно, но в части систем снимают питание с юсб, после чего винт может быть запаркован.
Попробуйте поиграться с цифрой после S - Это время в секундах после которого винт запаркуется.
Если будет то-же самое - значит контроллер док станции некорректно доставляет команду винту.
Почитайте про возможности hdparm - там есть еще варианты запарковать винт:
hdparm -Y /dev/sdc (slep без таймаута)
hdparm -y /dev/sdc (standby без таймаута)
hdparm -s /dev/sdc (standby по питанию - небезопасно)
Спасибо за советы. Вечером когда до дома доберусь попробую, потом отпишусь.
К сожалению не помогло. На несколько секунд останавливала диск после введения команд, но при отключении все по старому. А насчет "поиграться с цифрами после S" ответ тот же- Input/output error
Если команда останавливает диск (кстати какая?) значит все нормально. На несколько секунд - потому что идет к нему обращение и он заводится. Для того чтоб работало при отключении надо сначала остановить все процессы, которые к винту обращаются, а потом уже его парковать.
Останавливают две команды
hdparm -Y /dev/sdc
и
hdparm -y /dev/sdc
Есть еще такой проект
Пишут, что работает там, где не работает hdparm.
Не пробовал. Если решите попробовать - отпишитесь что вышло.
Сходил по ссылке. У меня туго с вражеским языком, но как я понял там предлагают прогу для парковки через определенное время. Это не то что хочется, но может я просто неправильно понял.
Вобщем можно сказать решил проблему парковки. Перед самым выключением ноута дал команду в терминале
hdparm -y /dev/sdc
И пока диск стоял отключенный, тут же выключил ноут. Диск в док-станции включится не успел. Думаю может написать скрипт с этой командой, который будет срабатывать перед отключением. Есть знакомые программисты, которые надеюсь не откажут в помощи.
Попробуйте самостоятельно. Задача элементарная. Почитать немного про скрипты при отключении убунту и все получится. А когда получится - очень радостно становится :)
А почему бы и нет? Время будет, почитаю. Вроде дело нехитрое, если вдуматься немного.
И так решение, которое может пригодится другим. Я не программист, так что прошу особо не пинать.
Создал скрипт usb3.script командой:
sudo kate /etc/init.d/usb3.script
прописал там команду отключения своего внешнего винта:
#!/bin/bash
hdparm -y /dev/sdc
Сделал файл исполняемым:
sudo chmod +x /etc/init.d/usb3.script
Создал ссылку на него в разделе rc0.d :
sudo ln -s /etc/init.d/usb3.script /etc/rc0.d/S01usb3.script
Результат:
при выключении через меню пуск внешний винчестер выключился пять раз из пяти.
при выключении через кнопку питания один раз отключился, один раз нет.
насчет меню "Пуск" не понял ничего.
Ну типа К-меню…
Да К-меню правильнее будет наверно назвать. Я ее по привычке по виндовому называю, принцип тот же ведь. Тем более что под виндой я чаще сижу, чем под линухом.
На двух стульях не усидишь…
Отправить комментарий