ACPI events && resume

Здесь обсуждаются все вопросы, не попадающие под другие категории
Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

ACPI events && resume

Сообщение red f0x »

Ну ноуте Toshiba под управлением KUbuntu 7.04 (2.6.22) есть такая проблема: при саспенде в RAM, а точнее, после пробуждения (resume), и работе от аккумулятора наблюдается такая багофича - одно процессорное ядро (Core 2 Duo), работает на пониженной частоте, как и ожидалось, а другое почему-то начинает работать на полных оборотах.
Чтобы решить проблему, был слеплен следующий скрипт:

Код: Выделить всё

#!/bin/sh

SYS_DIR=/sys/devices/system/cpu
POLICY=powersave

# ondemand

for CPU in `ls $SYS_DIR`
do
    echo -n "$POLICY" > $SYS_DIR/$CPU/cpufreq/scaling_governor
done
Помещён он был в папку /etc/acpi/resume.d/ под именем 10-dualcore-setfreq.

Однако, фикс не подействовал. Не понятно почему, но создаётся впечатление, что при пробуждении вообще не генерится какое-либо событие по поводу resume. Кто-нибудь знает как побороть или хотя бы, в чём может быть дело?

cat /proc/omnibook/dmi:

Код: Выделить всё

BIOS Vendor:   Phoenix Technologies LTD
BIOS Version:  2.10   
BIOS Release:  10/23/2006
System Vendor: TOSHIBA
Product Name:  Satellite A100
Version:       PSAA8E-0YT02CPL
Serial Number: Y6294099Q
Board Vendor:  Intel Corporation
Board Name:    Not Applicable
Заранее благодарствую.
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

michael
Неотъемлемая часть форума
Сообщения: 434
Зарегистрирован: 12 апр 2004, 11:00
Откуда: г. Владивосток
Контактная информация:

Сообщение michael »

Не генерится, да и не надо этого. Добавляйте ваш код в suspend скрипт после собственно входа в suspend. Тогда он как раз выполниться при resume.

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

Спасибо большое за совет. На самом деле, только сейчас пришло просветление :lol: Дело в том, что у меня в принципе и suspend и resume обрабатываются через hal (именно тем образом, что вы и сказали - скриптом, который делает suspend), а не ACPI. И более того, hibernate.sh в ACPI, как выяснилось при более подробном рассмотрении, также сначала усыпляет систему, а при возобновлении просто продолжает выполнение, запуская всё то, что находится в директории resume.d. Всё встало на свои места. В ощем, сейчас всё работает. Ещё раз спасибо.
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Ответить