Всем привет.
Столкнулся с проблемой (сразу честно признаюсь глубоко еще не изучал).
Возможно кто-то уже делал и подскажет.
Итак, есть видеосервер VDR (кстати, приятно поражен возможностями этого софта - как говорится "возможно все").
Он работает с старенькой DVB-S карточкой Budget TT. Для того что карточка корректно проснулась модули, которые
работают с этой карточкой помещены в файл:
/etc/pm/config.d/modules
SUSPEND_MODULES="saa7146 ttpci-eeprom dvb-core budget-core budget"
Модули корректно выгружаются перед сном и загружаются после сна если они свободны. Но если сервер запущен, и попробовать усыпить комп-
модули выгрузится не могут (в логах пишется о том что модуль занят и не может быть выгружен)
Для того чтоб обойти эту проблему родился простенький скрипт (гуру просьба не пинать - играю как умею)
/etc/pm/sleep.d/02stop_VDR
#!/bin/bash
case $1 in
hibernate)
echo "You didn't really call hibernate?"
;;
suspend)
echo "Stop the VDR service"
/etc/init.d/vdr stop;
;;
thaw)
echo "oh, suspend to disk is over, we are resuming..."
;;
resume)
echo "Start the VDR service again"
/etc/init.d/vdr start;
;;
*) echo "somebody is calling me totally wrong."
;;
esac
Теперь сервис VDR останавливается до того как выгружаются модули и с переходом в сон все хорошо.
Значительно хуже с выходом из сна. По всей видимости модули не успевают загрузится и сервис стартует некорректно.
То есть после сна надо вручную сделать рестарт сервиса - тогда все ок.
В данный момент я вообще выкинул строчку стартующую сервис из скрипта и просто ручками стартую...
Вобщем - как то это криво ...
Внимание вопрос! (тем кто дочитал до этого места :)
Каким образом можно запустить сервис скажем через 20 секунд после выхода компа из режима suspend ???
Я так понимаю, скрипт исправно отрабатывает..
Воткнуть перед стартом сервиса задержку да и все.
sleep 20
Думаю должно помочь.
:) Спасибо. Что то я заработался :) Да, действительно, все работает :)
Отправить комментарий