В Пнд, 02/03/2009 в 06:06 +0300, George Shuklin пишет:
02.03.09, 02:02, Mishustin Alexey shum...@shumkar.ru:
Инструкция по отключению частой парковки головок харддиска на ноутбуке,
приведенная на http://forums.debian.net/viewtopic.php?t=32794 , не
работает. Я сделал все, что там написано, и даже больше (отключил
Laptop-mode, правил /etc/hdparm.conf и др.), но головки паркуются
по-прежнему, а hdparm -I /dev/sda | grep Advanced выдает:
Advanced power management level: 128
* Advanced Power Management feature set
Пробовал уже, от безысходности, класть в кронтаб ежеминутно скрипт
следующего содержания:
IFCLICK=`hdparm -I /dev/sda | grep Advanced Power | grep '*'`
if [ -n $IFCLICK ]; then
hdparm -B 255 /dev/sda
hdparm -S 0 /dev/sda
sudo -u shumkar -H /usr/bin/zenity --display=:0.0 --warning
--title=/usr/local/bin/hdparmer.sh --text='HDD\ hdparm\ options\ have\
been\ reset'
fi
Так этот скрит выводит сообщение при каждом своем запуске - каждую
минуту. И каждую минуту что-то упорно перенастраивает hdparm обратно на
128.
Только сли я делаю hdparm -B 255 /dev/sda и hdparm -S 0 /dev/sda
вручную, это остается до следующей перезагрузки/просыпания/
подключения/отключения от сети. Но мне неудобно выполнять эти команды
вручную постоянно.
Заменил уже все вхождения 'hdparm -B 128' на 'hdparm -B 255' в /etc/acpi
- не помогло. Все по-прежнему.
Описанная проблема имеет место быть в Lenny.
Опция -k у hdparm'а использовалась?
Применил опцию -k в /etc/hdparm.conf. Не помогло. После любого
acpi-события apm по-прежнему включается, hdparm выставляется в -B 128.
От батареи ли я работаю, от сети ли - без разницы.
Наверное, я где-то накосячил в конфигах, другого объяснения у меня пока
нет. Помогите, пожалуйста, разобраться!
Прикладываю листинги (в файле).
--
С уважением,
Алексей Мишустин
=== Листинг 1 ===
# cat /etc/hdparm.conf | sed -n '/[#]/!p' | sed -n '/.\+/p'
quiet
/dev/sda {
apm = 255
spindown_time = 0
dma = on
keep_settings_over_reset = on
}
=== Листинг 2 ===
# cat /etc/apm/event.d/20hdparm | sed -n '/[#]/!p' | sed -n '/.\+/p'
set -e
APMD_DRIVES=sda
APMD_SPINDOWN=18
HDPARM=/sbin/hdparm
[ -x ${HDPARM} ] || exit 0
[ -n ${APMD_DRIVES} ] || exit 0
for DRIVE in $APMD_DRIVES; do
[ -b ${DRIVE} ] || exit 0
done
[ ${APMD_SPINDOWN} -gt 0 ] || exit 0
power_conserve ()
{
for DRIVE in $APMD_DRIVES; do
${HDPARM} -q -S 0 -B 255 ${DRIVE} || true
done
}
power_performance ()
{
for DRIVE in $APMD_DRIVES; do
${HDPARM} -q -S 0 -B 255 ${DRIVE} || true
done
}
choose_power ()
{
if on_ac_power /dev/null
then
power_performance
else
power_conserve
fi
}
if [ ${1} = start ]; then
choose_power
elif [ ${1} = resume ] [ ${2} != standby ]; then
choose_power
elif [ ${1},${2} = change,power ]; then
choose_power
elif [ ${1} = stop ]; then
power_performance
fi
exit 0
=== Листинг 3 ===
# cat /etc/acpi/ac.d/90-hdparm.sh | sed -n '/[#]/!p' | sed -n '/.\+/p'
. /usr/share/acpi-support/power-funcs
DO_HDPARM=y
if [ -e /usr/sbin/laptop_mode ] ; then
LMT_CONTROL_HD_POWERMGMT=$(. /etc/laptop-mode/laptop-mode.conf echo
$CONTROL_HD_POWERMGMT)
if [ $LMT_CONTROL_HD_POWERMGMT != 0 ] ; then
DO_HDPARM=n
fi
fi
if [ $DO_HDPARM = y ] ; then
getState;
for dev in /dev/sd? /dev/hd? ; do
if [ -b $dev ] ; then
if hdparm -i $dev 2 /dev/null | grep -q 'AdvancedPM=yes' ; then
if [ $STATE = BATTERY ] ; then
hdparm -B 255 $dev
else
hdparm -B 255 $dev
fi
fi
fi
done
fi
=== Листинг 4 ===
# cat /etc/acpi/resume.d/90-hdparm.sh | sed -n '/[#]/!p' | sed -n '/.\+/p'
. /usr/share/acpi-support/power-funcs
DO_HDPARM=y
if [ -e /usr/sbin/laptop_mode ] ; then
LMT_CONTROL_HD_POWERMGMT=$(. /etc/laptop-mode/laptop-mode.conf echo
$CONTROL_HD_POWERMGMT)
if [ $LMT_CONTROL_HD_POWERMGMT != 0 ] ; then
DO_HDPARM=n
fi
fi
if [ $DO_HDPARM = y ] ; then
getState;
for dev in /dev/sd? /dev/hd? ; do
if [ -b $dev ] ; then
if hdparm -i $dev 2 /dev/null | grep -q 'AdvancedPM=yes' ; then
if [ $STATE = BATTERY ] ; then
hdparm -B 255 $dev
else
hdparm -B 255 $dev
fi
fi
fi
done
fi
=== Листинг 5 ===
# cat /etc/laptop-mode/laptop-mode.conf | sed -n '/[#]/!p' | sed -n '/.\+/p'
VERBOSE_OUTPUT=0
ENABLE_LAPTOP_MODE_ON_BATTERY=0
ENABLE_LAPTOP_MODE_ON_AC=0
ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0
MINIMUM_BATTERY_CHARGE_PERCENT=0
DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL=0
HD=/dev/[hs]d[abcdefgh]
PARTITIONS=auto /dev/mapper/*
ASSUME_SCSI_IS_SATA=1
LM_BATT_MAX_LOST_WORK_SECONDS=600
LM_AC_MAX_LOST_WORK_SECONDS=360
CONTROL_READAHEAD=1
LM_READAHEAD=3072
NOLM_READAHEAD=128
CONTROL_NOATIME=0
USE_RELATIME=1
CONTROL_HD_IDLE_TIMEOUT=0
LM_AC_HD_IDLE_TIMEOUT_SECONDS=0
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=0
NOLM_HD_IDLE_TIMEOUT_SECONDS=0