LINUX.ORG.RU

История изменений

Исправление Kroz, (текущая версия) :

У меня две гипотезы:
1. Оно засыпает и просыпается разными движками. Например, засыпает от uswsusp и просыпается по методу kernel. Проверить рекомендую вот так: разустановить uswsusp и hibernate , закомментировать строку SLEEP_MODULE=«uswsusp» в /etc/pm/config.d/00_sleep-module (закомментировать - перед ней поставить символ # ) и попробовать pm-hibernate. Если поведение то же, значит используется метод kernel . Если другое - значит uswsusp.

Нюанс. На самом деле я не знаю что делает пакет hibernate. Просто вот здесь (пост #10) у человека так заработало. Если после удаления этих двух пакетов ты не найдешь команды pm-hibernate - установи пакет hibernate .

Еще нюанс. Если после удаления uswsusp симптомы будут те же, то устанавливать uswsusp не нужно. Чем проще система тем меньше в ней мест, где могут быть ошибки.

2. Что-то неправильно подымается. Здесь есть 3 кандидата.
1) Как по мне, самый вероятный - все, что касается графического режима; судя по выводу твоего lsmod, это модули i915 (драйвер, обеспечивающий 2D/3D ускорение в иксах) и drm_kms_helper (обеспечивает KMS - установку граф. режима на этапе загрузки, для консоли).
2) Судя по твоему первому посту, есть проблема с устройствами PNP0C0D:00 (судя по логам ядра это Lid Switch, как я понял это драйвер подсветки экрана) и с usb 2-1.2 (не понятно что это, но использует модуль ehci_hcd, который жестко вкомпилен в ядро). На самом деле это хитрые устройства, и я очень надеюсь что проблема не здесь.
3) Из последнего syslog можно видеть проблемы с NetworkManager , pulseaudio (да и в lsmod у тебя с модулями звуковухи что-то происходит). Странно что wifi не ругается, обычно это частый гость в таких ситуациях. Если честно, я не верю, что это могло быть причиной зависания.

Метод лечения прост: максимально упрощаем систему, и, если заработает, пошагово возвращаем до исходного состояния.

Сначала я хотел бы у тебя уточнить, сможешь ли ты работать в чистой консоли, в частности подредактировать файл. Я вижу что ты вроде с grep работаешь... В общем убедись, что, если не будет граф. режима, ты сможешь как минимум отредактировать файл. Как по мне, у тебя должен стоять текстовый редактор (я люблю vim), желательно Midnight Commander, и ты умеешь с этим работать. Если нет - говори, подскажу ключевые вещи. На самом деле по идее это не понадобится, но я из тех, кто привык перестраховываться.

И еще: давай договоримся, что ты будешь использовать команду pm-hibernate.

1) Убираем графическую загрузку.
Цель: при загрузке по экрану должны бежать большие буквы (ты увидишь, что они большие - текстовый режим 80x25 символов на экран). (Иксы - графический интерфейс - после этого все-таки будут загружаться.)

Если я правильно понимаю, то это делается вот так:
В файле /etc/default/grub измени строчку GRUB_CMDLINE_LINUX_DEFAULT=«что-то» на GRUB_CMDLINE_LINUX_DEFAULT=«text» сохрани файл и выполни sudo update-grub . Перегружайся и смотри результат.
Обязательно запомни/запиши это «что-то», что было в GRUB_CMDLINE_LINUX_DEFAULT до изменения.. Я бы рекомендовал просто продублировать эту строку в файле и закомментировать ее, то есть чтобы было что-то типа такого:

GRUB_CMDLINE_LINUX_DEFAULT="text"
#GRUB_CMDLINE_LINUX_DEFAULT="что-то"
Если что-то пойдет не так, потом комментируешь строку с «text», раскомментируешь другую и повторяешь update-grub.

Возможный вариант того, что произойдет - да, будут бежать буквы, но не большие (строк 50-100 на экране). Это шаг вперед, но не совсем то, что нам нужно.

Если это не получилось, дальше не имеет смысл двигаться.

Только это изменение сохранится после перезагрузки. Все остальные следует повторять каждый раз после загрузки системы.

2) Гасим иксы.
Переход в соседнюю консоль (Ctrl+Alt+F2), логинимся. Проверяем что иксы загружены. Вот как это выглядит у меня:

$ ps ax | grep X
 2555 tty7     Ss+   28:24 /usr/bin/X -br -novtswitch -quiet :0 vt7 -nolisten tcp -auth /var/run/xauth/A:0-1hMBjc
20069 pts/2    S+     0:00 grep --colour=auto X
Ключевой момент: /usr/bin/X

Теперь выключаем:

$ service gdm stop
Теперь должно быть что-то типа такого:
$ ps ax | grep X
20069 pts/2    S+     0:00 grep --colour=auto X
Ключевой момент: /usr/bin/X исчез.

3) Выгружаем модули граф. режима:
Проверяем что они загружены:

$ lsmod | grep -e ^i915 -e ^drm_kms_helper
i915                  432779  9 
drm_kms_helper         45609  1 i915
Ну, можешь по-другому проверить что в выводе lsmod есть i915 и drm_kms_helper
Выгружаем:
$ rmmod i915
$ rmmod drm_kms_helper
Проверяем что выгрузились.
$ lsmod | grep -e ^i915 -e ^drm_kms_helper
# Пусто

Давай пока тут остановимся. Попробуй pm-hibernate и нормально ли проснется компьютер после этого.

Итого:
0. Работает ли засыпание после удаления uswsusp (доходим ли мы до этапа «Loading from image...» после команды pm-hibernate)? Если да - не устанавливаем uswsusp.
00. Уверен ли ты что сможешь подредактировать файл если иксов (граф. редима) совсем не будет?
1. Получилось ли включить чистый граф. режим?
2. Получилось ли выключить иксы?
3. Получилось ли выгрузить модули?
4. Как после этого с засыпанием/просыпанием?

Исходная версия Kroz, :

У меня две гипотезы:
1. Оно засыпает и просыпается разными движками. Например, засыпает от uswsusp и просыпается по методу kernel. Проверить рекомендую вот так: разустановить uswsusp и hibernate , закомментировать строку SLEEP_MODULE=«uswsusp» в /etc/pm/config.d/00_sleep-module (закомментировать - перед ней поставить символ # ) и попробовать pm-hibernate. Если поведение то же, значит используется метод kernel . Если другое - значит uswsusp.

Нюанс. На самом деле я не знаю что делает пакет hibernate. Просто вот здесь (пост #10) у человека так заработало. Если после удаления этих двух пакетов ты не найдешь команды pm-hibernate - установи пакет hibernate .

Еще нюанс. Если после удаления uswsusp симптомы будут те же, то устанавливать uswsusp не нужно. Чем проще система тем меньше в ней мест, где могут быть ошибки.

2. Что-то неправильно подымается. Здесь есть 3 кандидата.
1) Как по мне, самый вероятный - все, что касается графического режима; судя по выводу твоего lsmod, это модули i915 (драйвер, обеспечивающий 2D/3D ускорение в иксах) и drm_kms_helper (обеспечивает KMS - установку граф. режима на этапе загрузки, для консоли).
2) Судя по твоему первому посту, есть проблема с устройствами PNP0C0D:00 (судя по логам ядра это Lid Switch, как я понял это драйвер подсветки экрана) и с usb 2-1.2 (не понятно что это, но использует модуль ehci_hcd, который жестко вкомпилен в ядро). На самом деле это хитрые устройства, и я очень надеюсь что проблема не здесь.
3) Из последнего syslog можно видеть проблемы с NetworkManager , pulseaudio (да и в lsmod у тебя с модулями звуковухи что-то происходит). Странно что wifi не ругается, обычно это частый гость в таких ситуациях. Если честно, я не верю, что это могло быть причиной зависания.

Метод лечения прост: максимально упрощаем систему, и, если заработает, пошагово возвращаем до исходного состояния.

Сначала я хотел бы у тебя уточнить, сможешь ли ты работать в чистой консоли, в частности подредактировать файл. Я вижу что ты вроде с grep работаешь... В общем убедись, что, если не будет граф. режима, ты сможешь как минимум отредактировать файл. Как по мне, у тебя должен стоять текстовый редактор (я люблю vim), желательно Midnight Commander, и ты умеешь с этим работать. Если нет - говори, подскажу ключевые вещи. На самом деле по идее это не понадобится, но я из тех, кто привык перестраховываться.

И еще: давай договоримся, что ты будешь использовать команду pm-hibernate.

1) Убираем графическую загрузку.
Цель: при загрузке по экрану должны бежать большие буквы (ты увидишь, что они большие - текстовый режим 80x25 символов на экран). (Иксы - графический интерфейс - после этого все-таки будут загружаться.)

Если я правильно понимаю, то это делается вот так:
В файле /etc/default/grub измени строчку GRUB_CMDLINE_LINUX_DEFAULT=«что-то» на GRUB_CMDLINE_LINUX_DEFAULT=«text» сохрани файл и выполни sudo update-grub . Перегружайся и смотри результат.
Обязательно запомни/запиши это «что-то», что было в GRUB_CMDLINE_LINUX_DEFAULT до изменения.. Я бы рекомендовал просто продублировать эту строку в файле и закомментировать ее, то есть чтобы было что-то типа такого:

GRUB_CMDLINE_LINUX_DEFAULT="text"
#GRUB_CMDLINE_LINUX_DEFAULT="что-то"
Если что-то пойдет не так, потом комментируешь строку с «text», раскомментируешь другую и повторяешь update-grub.

Возможный вариант того, что произойдет - да, будут бежать буквы, но не большие (строк 50-100 на экране). Это шаг вперед, но не совсем то, что нам нужно.

Если это не получилось, дальше не имеет смысл двигаться.

Только это изменение сохранится после перезагрузки. Все остальные следует повторять каждый раз после загрузки системы.

2) Гасим иксы.
Переход в соседнюю консоль (Ctrl+Alt+F2), логинимся. Проверяем что иксы загружены. Вот как это выглядит у меня:

$ ps ax | grep X
 2555 tty7     Ss+   28:24 /usr/bin/X -br -novtswitch -quiet :0 vt7 -nolisten tcp -auth /var/run/xauth/A:0-1hMBjc
20069 pts/2    S+     0:00 grep --colour=auto X
Ключевой момент: /usr/bin/X

Теперь выключаем:

$ service gdm stop
Теперь должно быть что-то типа такого:
$ ps ax | grep X
20069 pts/2    S+     0:00 grep --colour=auto X
Ключевой момент: /usr/bin/X исчез.

3) Выгружаем модули граф. режима:
Проверяем что они загружены:

$ lsmod | grep -e ^i915 -e ^drm_kms_helper
i915                  432779  9 
drm_kms_helper         45609  1 i915
Ну, можешь по-другому проверить что в выводе lsmod есть i915 и drm_kms_helper
Выгружаем:
$ rmmod i915
$ rmmod drm_kms_helper
Проверяем что выгрузились.

Давай пока тут остановимся. Попробуй pm-hibernate и нормально ли проснется компьютер после этого.

Итого: 0. Работает ли засыпание после удаления uswsusp (доходим ли мы до этапа «Loading from image...» после команды pm-hibernate)? Если да - не устанавливаем uswsusp.
00. Уверен ли ты что сможешь подредактировать файл если иксов (граф. редима) совсем не будет?
1. Получилось ли включить чистый граф. режим?
2. Получилось ли выключить иксы?
3. Получилось ли выгрузить модули?
4. Как после этого с засыпанием/просыпанием?