Автор Тема: [Решено] Не работает ждущий режим на Dell E6520  (Прочитано 5629 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ksander

Приветствую участников этого сообщества.
Недельку назад поставил Debian jessie себе на ноутбук + несколько пакетов из экспериментальной ветки.
И все это время доводил под себя рабочую машинку с xfce и gnome3 (никак не могу определиться что будет использоваться на постоянной основе. больше склоняюсь к xfce).
Так вот ... В итоге у меня осталось 2 проблемы не решенных (есть подозрение что они зависят между собой ). и ответа однозначного в интернете пока не нашел.
1. laptop-mode
sudo service laptop-mode restart
/usr/sbin/laptop_mode: 205: /usr/sbin/laptop_mode: arithmetic expression: expecting EOF: "CPUFREQ~_DEBUG"
[FAIL] Laptop mode disabled, not active ... failed!
/usr/sbin/laptop_mode: 205: /usr/sbin/laptop_mode: arithmetic expression: expecting EOF: "CPUFREQ~_DEBUG"
[FAIL] Laptop mode enabled, active ... failed!
2. Не выходит из ждущего режима (в ждущий уходит вроде нормально.  Спящий режим работает нормально засыпает/просыпается после увеличения области swap файлом. ), :
вырезки из /var/log/pm-suspend.log
Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
/usr/lib/pm-utils/sleep.d/99video suspend suspend: disabled.

Tue Jan 21 01:26:48 EET 2014: performing suspend
Allocated buffer at 0x11000 (base is 0x0)
ES: 0x1100 EBX: 0x0000
Function not supported?
halt_sys: file ^H, line 67108863
Real mode call failed
This kernel doesn't have KMS support.
Calling save_state
Calling get_mode
Calling do_post
Calling restore_state_from
Calling set_vbe_mode
Tue Jan 21 01:26:59 EET 2014: Awake.
Tue Jan 21 01:26:59 EET 2014: Running hooks for resume
Running hook /usr/lib/pm-utils/sleep.d/99video resume suspend:
/usr/lib/pm-utils/sleep.d/99video resume suspend: disabled.
и вот второй подозрительный момент - из-за чего и связываю с проблемой laptop-mode
Running hook /usr/lib/pm-utils/sleep.d/01laptop-mode resume suspend:
Laptop mode
enabled, active
/usr/sbin/laptop_mode: 205: /usr/sbin/laptop_mode: arithmetic expression: expecting EOF: "CPUFREQ~_DEBUG"
/usr/lib/pm-utils/sleep.d/01laptop-mode resume suspend: Returned exit code 2.

на всякий случай
$ lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller (rev 04)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM67 Express Chipset Family LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [NVS 4200M] (rev ff)
01:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev ff)
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)
0b:00.0 SD Host controller: O2 Micro, Inc. Integrated MMC/SD controller (rev 05)
0b:00.1 Mass storage controller: O2 Micro, Inc. O2 Flash Memory Card (rev 05)

В общем жду помощи, и если надо предоставлю  дополнительную информацию.  ???
« Последнее редактирование: 24 Января 2014, 06:22:34 от qupl »
Debian Jessie amd64
XFCE 4.12+Docky
 

Оффлайн Malaheenee

Re: Не работает ждущий режим на Dell E6520
« Ответ #1 : 21 Января 2014, 20:39:44 »
1) Проверяйте конфигурационные файлы /etc/laptop-mode на наличие параметра "CPUFREQ~_DEBUG", это опечатка - убирайте тильду.
А вообще, lmt не нужен при наличии pm-utils, они дублируют друг друга.
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн qupl

Re: Не работает ждущий режим на Dell E6520
« Ответ #2 : 21 Января 2014, 21:11:15 »
Вот даже место где может быть эта очЕпятка -
Цитировать
/usr/sbin/laptop_mode: 205


Сообщение объединено: 21 Января 2014, 21:11:51
Если это не бинарник, ессно.

Оффлайн Malaheenee

Re: Не работает ждущий режим на Dell E6520
« Ответ #3 : 21 Января 2014, 21:28:21 »
qupl, насколько мы помним это не бинарник, но ошибка очень смахивает на опцию. Потому как в бытность использования lmt такой ошибки не выскакивало :)
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн ksander

Re: Не работает ждущий режим на Dell E6520
« Ответ #4 : 22 Января 2014, 00:12:43 »
1) Проверяйте конфигурационные файлы /etc/laptop-mode на наличие параметра "CPUFREQ~_DEBUG", это опечатка - убирайте тильду.
А вообще, lmt не нужен при наличии pm-utils, они дублируют друг друга.

/etc/laptop-mode$ grep -r CPUFREQ .ничего не находит.

То есть можно lmt удалить вовсе ?
мне нужно чтоб нормально процессор срабатывал по изменениям частот и при закрытии крышки отправлять в ждущий режим.
Процессор работает как надо, правда я в  /etc/laptop-mode/conf.d/cpufreq.conf изменил  ondemand на вот такие значения:
BATT_CPU_GOVERNOR=powersave
LM_AC_CPU_GOVERNOR=powersave
NOLM_AC_CPU_GOVERNOR=performance
Так как для i7 параметр ondemand уже не используется,  а только powersave и performance остались.

Осталось только проблему со ждущим решить.

Попробовал только что удалить ltm , забекапив конфигурацию ...


предыдущих вырезок нету в логах теперь., теперь без ltm  из /var/log/pm-suspend.log
Tue Jan 21 22:52:40 EET 2014: performing suspend
Allocated buffer at 0x11000 (base is 0x0)
ES: 0x1100 EBX: 0x0000
и тут далее мноооого символов "@"
у меня 16Гб ОЗУ... в этом может быть проблема ?  jessie adm64
« Последнее редактирование: 22 Января 2014, 01:02:09 от ksander »
Debian Jessie amd64
XFCE 4.12+Docky
 

Оффлайн qupl

Re: Не работает ждущий режим на Dell E6520
« Ответ #5 : 22 Января 2014, 06:33:11 »
у меня 16Гб ОЗУ... в этом может быть проблема ?  jessie adm64
а размер swap какой?

/etc/laptop-mode$ grep -r CPUFREQ . ничего не находит.
/usr/sbin/laptop_mode - здесь нужно было поискать

Оффлайн Malaheenee

Re: Не работает ждущий режим на Dell E6520
« Ответ #6 : 22 Января 2014, 10:09:54 »
Мы удалили, заменив его на вот такой скрипт:
Код: (/etc/pm/power.d/f3sr-power) [Выделить]
# Параметры CPU
CTL_CPU="/sys/devices/system/cpu"
CPU_GOVERNOR="conservative"

# Параметры ядра
CTL_VM="/proc/sys/vm"
VM_DIRTY_WRITEBACK=$(cat $CTL_VM/dirty_writeback_centisecs)
VM_LAPTOP_MODE=$(cat $CTL_VM/laptop_mode)

# Регулировка яркости
CTL_BACKLIGHT="/sys/class/backlight/acpi_video0"
LCD_PREV_BRIGHTNESS=$(cat $CTL_BACKLIGHT/actual_brightness)

# Настройка энергосбережения для Radeon
CTL_VGA_DEVICE="/sys/class/drm/card0/device"
VGA_POWER_DPM_STATE=$(cat $CTL_VGA_DEVICE/power_dpm_state)

# Выгружаемые модули
MODULES="uvcvideo"
MODULE_COMMAND="--remove"

# Прочие переменные
CURRENT_MODE="ac"

# Установить переменные при работе от сети (false)
ac_power()
{
    CURRENT_MODE="ac_power"
    CPU_GOVERNOR="conservative"
    LCD_BRIGHTNESS=$(cat $CTL_BACKLIGHT/max_brightness)
    VM_LAPTOP_MODE=0
    VM_DIRTY_WRITEBACK=500
    VGA_POWER_DPM_STATE="balanced"
    MODULE_COMMAND=""
}

# Установить переменные при работе от батареи (true)
battery_power() {
    CURRENT_MODE="battery"
    CPU_GOVERNOR="powersave"
    LCD_BRIGHTNESS=$(expr 30 \* $LCD_PREV_BRIGHTNESS / 100)
    VM_LAPTOP_MODE=5
    VM_DIRTY_WRITEBACK=60000
    VGA_POWER_DPM_STATE="battery"
    MODULE_COMMAND="--remove"
}

# Применить настройки
apply_settings() {
    echo -n "Setting user-specific parameters for $CURRENT_MODE... "

    echo $LCD_BRIGHTNESS > $CTL_BACKLIGHT/brightness
   
    for CPU in $CTL_CPU/* ; do
      if [ -e $CPU/cpufreq ] ; then
        echo $CPU_GOVERNOR > $CPU/cpufreq/scaling_governor
      fi
    done
   
    echo $VGA_POWER_DPM_STATE > $CTL_VGA_DEVICE/power_dpm_state

    echo $VM_LAPTOP_MODE > $CTL_VM/laptop_mode
    echo $VM_DIRTY_WRITEBACK > $CTL_VM/dirty_writeback_centisecs
   
    for i in $MODULES ; do
      modprobe $MODULE_COMMAND $i
    done

    [ "$?" -eq 0 ] && echo Done. || echo Failed.
}

# Запуск в pm-utils
case "$1" in
  false)
    ac_power
    apply_settings
  ;;
  true)
    battery_power
    apply_settings
  ;;
  *)
    exit $NA
  ;;
esac
(как он называется - неважно, главное путь в /etc/pm/power.d). Все Вам не нужное можно безболезненно выкинуть.
Все остальное делают уже существующие скрипты pm-utils в /usr/lib/pm-utils, настроенные при помощи:
Код: (/etc/pm/config.d/f3sr-settings) [Выделить]
INTEL_AUDIO_POWERSAVE=true
SATA_ALPM_ENABLE=true
HOOK_BLACKLIST="laptop-mode xfs_buffer pcie_aspm"
SLEEP_MODULE="kernel"
SUSPEND_MODULES=""
Аналогичный скрипт можно написать и для режима засыпания (/etc/pm/sleep.d).

Этот скрипт - результат разборок. Он не претендует на оригинальность и какое-то суперкодирование, его еще улучшать и улучшать, но свою функцию он выполняет отлично.
« Последнее редактирование: 22 Января 2014, 10:43:30 от Malaheenee »
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн ksander

Re: Не работает ждущий режим на Dell E6520
« Ответ #7 : 22 Января 2014, 13:45:06 »
у меня 16Гб ОЗУ... в этом может быть проблема ?  jessie adm64
а размер swap какой?
физический 2 Гб, но для спящего  режима я еще файлом добавил 16Гб.  Повторюсь - спящий режим работает нормально (но он меня не устраивает по длительности отключения и включения.). Проблема только со ждущим.
free -h
             total       used       free     shared    buffers     cached
Mem:           15G       3,6G        12G        20M       298M       1,5G
-/+ buffers/cache:       1,8G        13G
Swap:          18G         0B        18G


Сообщение объединено: [time]22 Январь 2014, 14:05:55[/time]
Этот скрипт - результат разборок. Он не претендует на оригинальность и какое-то суперкодирование, его еще улучшать и улучшать, но свою функцию он выполняет отлично.
Попробовал поставить
на процесс выхода из ждущего режима не повлияло. но ошибок вроде нет при переходе в ждущий. лог прилагаю.
куда еще можно посмотреть что происходит при выходе из ждущего режима ?

Сообщение объединено: [time]22 Январь 2014, 14:21:26[/time]
почистил сессии xfce сейчас.
 при выходе из ждущего пробует загрузиться и просто моргать(бело-черным) экран начинает и все на этом.
Может ли на это влиять как-то bumblebee+nvidia ?

Сообщение объединено: [time]22 Январь 2014, 15:07:50[/time]
/etc/laptop-mode$ grep -r CPUFREQ . ничего не находит.
/usr/sbin/laptop_mode - здесь нужно было поискать

в 205- строке вот такое:
enableDebug ()
{
        # Check if debug is enabled
        if [ x$(($(basename $1 | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG)) = x1 ]; then
                set -vx
        fi
}

Сообщение объединено: 23 Января 2014, 00:05:28
Значит так  ... ждущий режим заработал !  :)
вернул laptop_mode + тот скрипт для pm-utils, что советовали выше.
виной оказались дополнительные параметры ядра в /etc/default/grub
bumblebee+nvidia тоже изначально работать не хотело из коробки, то когда настраивал их и добавлял параметры согласно разным советам...
# GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor nouveau.blacklist=1 rdblacklist=nouveau rcutree.rcu_idle_gp_delay=1 quiet nomodeset"
сейчас вернул в начальное состояние
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
И ждущий режим заработал и bumblebee+nvidia тоже работают ... значит эти параметры загрузки ядра не влияли ни на что, а повлияли изменения в файлах конфигурации.

Если кому интересно то еще можем разобраться с этим
$ sudo service laptop-mode restart
/usr/sbin/laptop_mode: 205: /usr/sbin/laptop_mode: arithmetic expression: expecting EOF: "CPUFREQ~_DEBUG"
[FAIL] Laptop mode disabled, not active ... failed!
/usr/sbin/laptop_mode: 205: /usr/sbin/laptop_mode: arithmetic expression: expecting EOF: "CPUFREQ~_DEBUG"
[FAIL] Laptop mode enabled, not active ... failed!
пробовал ставить Laptop mode из стабильной ветки - скрипт выдает то же самое.

Если нет то тему можно закрывать.
« Последнее редактирование: 23 Января 2014, 00:05:28 от ksander »
Debian Jessie amd64
XFCE 4.12+Docky
 

Оффлайн qupl

Re: Не работает ждущий режим на Dell E6520
« Ответ #8 : 23 Января 2014, 19:52:03 »
cat /usr/sbin/laptop_mode | grep CPUFREQ

Оффлайн ksander

Re: Не работает ждущий режим на Dell E6520
« Ответ #9 : 23 Января 2014, 20:54:16 »
cat /usr/sbin/laptop_mode | grep CPUFREQ
писал же  ...
в 205- строке вот такое:
enableDebug ()
{
        # Check if debug is enabled
        if [ x$(($(basename $1 | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG)) = x1 ]; then
                set -vx
        fi
}

  if [ x$(($(basename $1 | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG)) = x1 ]; then - это и есть 205-я строка.
Debian Jessie amd64
XFCE 4.12+Docky
 

Оффлайн qupl

Re: Не работает ждущий режим на Dell E6520
« Ответ #10 : 23 Января 2014, 21:46:47 »
ksander, да, не заметил, что написали уже.
Ошибка  в ней и происходит. Где-то в параметрах все-таки передается CPUFREQ~. Если не лень поищите в /etc.


Сообщение объединено: 23 Января 2014, 21:47:59
Кстати, регистр букв может быть другим.

Оффлайн Malaheenee

Re: Не работает ждущий режим на Dell E6520
« Ответ #11 : 23 Января 2014, 21:55:02 »
Если не лень поищите в /etc.
В частности, здесь:
/etc/laptop-mode/conf.d/cpufreq.conf
/etc/laptop-mode/laptop-mode.conf

И да, наш скрипт просто дублирует функции lmt. так что лучше определиться, что же использовать :)
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн qupl

Re: Не работает ждущий режим на Dell E6520
« Ответ #12 : 23 Января 2014, 21:59:40 »
!!!не делайте так!!!
[ot]Еще можно топорным неправильным методом закомментировать эту проверку на DEBUG, чтобы не было ошибки, а скрипт работал дальше.[/ot]

Оффлайн ksander

Re: Не работает ждущий режим на Dell E6520
« Ответ #13 : 24 Января 2014, 02:26:30 »
/etc$ grep -ri CPUFREQ~ .ничего такого нету :(
значит, больше похоже на баг склейки в самом скрипте.  Пробовал даже ставить из стабильной ветки - то же самое.

Сообщение объединено: [time]24 Январь 2014, 03:23:37[/time]
И да, наш скрипт просто дублирует функции lmt. так что лучше определиться, что же использовать :)
В общем снес laptop-mode - вроде все работает и без него как надо.
Еще заметил что частота процессора часто 3Ггц и при этом ничего особо не делается - загрузка 1%. Это было и с ltm тоже. хотя стоит режим powersave.

Сообщение объединено: 24 Января 2014, 04:02:38
Решил этот вопрос параметром ядра в общем intel_pstate=disable. Тем самим запустив старый режим управления частотой acpi-cpufreq, теперь частота ядра больше 2.2Ггц не поднимается и если нет необходимости то 800 МГц. Для экеномии энергии вот такие параметры у меня сейчас:
GRUB_CMDLINE_LINUX_DEFAULT="i915.i915_enable_rc6=1 intel_pstate=disable quiet splash"i915.i915_enable_rc6=1 - это для экеномии энергии интегрированой видео - по умолчанию этот параметр выключен наткнулся случайно ...
Для моих потребностей этого достаточно, а отсутствие шума вентиляторов всегда радует :).
« Последнее редактирование: 24 Января 2014, 04:02:38 от ksander »
Debian Jessie amd64
XFCE 4.12+Docky
 

Оффлайн Malaheenee

Re: [Решено] Не работает ждущий режим на Dell E6520
« Ответ #14 : 25 Января 2014, 14:45:35 »
Решил этот вопрос параметром ядра в общем intel_pstate=disable
А вот это Вы, батенька, зря. Гугление дает очень много интересной информации. Есть у нас второй ноутбук с SandyBridge, так там можно поставить принудительно регулятор powersave и система всегда будет занижать частоты (правда, они будут скакать как зайцы от охотника).
Кроме того, по пути в /sys/devices/system/cpu/intel_pstate/{max,min}_perf_pct можно указать значения нагрузки, при которых частоты будут повышаться и понижаться.

Сообщение объединено: 25 Января 2014, 14:55:33
Хотя... Мы его тоже отключим, наверное. Понятно, что процессор рассчитан на такое, но все же такие скачки частоты противны.
« Последнее редактирование: 25 Января 2014, 14:55:33 от Malaheenee »
Все мы где-то, когда-то и в чем-то были новичками.
 

Теги:
     

    [Решено]Отваливается сеть

    Автор ogost

    Ответов: 7
    Просмотров: 3588
    Последний ответ 26 Декабря 2012, 06:18:47
    от ogost
    [РЕШЕНО] Разрешение для монитора 1980х1080

    Автор Angel_ok

    Ответов: 20
    Просмотров: 11317
    Последний ответ 14 Августа 2014, 19:19:32
    от Angel_ok
    asus_p5b Некорректная работа [РЕШЕНО]

    Автор dsdsda

    Ответов: 4
    Просмотров: 408
    Последний ответ 28 Февраля 2021, 18:05:10
    от ogost
    [РЕШЕНО] Частота процессора

    Автор polzovatel

    Ответов: 0
    Просмотров: 1838
    Последний ответ 29 Марта 2011, 12:59:00
    от polzovatel
    Сканер отпечатков пальцев Lenovo E440 [РЕШЕНО]

    Автор Angel_ok

    Ответов: 6
    Просмотров: 4398
    Последний ответ 27 Апреля 2016, 16:36:20
    от Angel_ok