LINUX.ORG.RU

Ноутбук не выходит из спящего, иногда и из ждущего режима

 , , ,


2

1

Иногда при выходе из ждущего на экране выходит:

dpm_run_callback(): acpi_device_resume+0x0/0x27 returns -19
PM: Device PNP0C0D:00 failed to resume: error -19
И ноутбук зависает полностью.

А из спящего вообще не выходит. В hibernate.log ничего интересного, последний suspend из которого не вышел компьютер, а просто включился как-бы заново:

Starting suspend at Вс. июля 29 14:43:36 KGT 2012
hibernate: [01] Executing CheckLastResume ... 
hibernate: [01] Executing CheckRunlevel ... 
hibernate: [01] Executing LockFileGet ... 
hibernate: [01] Executing NewKernelFileCheck ... 
hibernate: [10] Executing EnsureUSuspendCapable ... 
hibernate: [11] Executing XHacksSuspendHook1 ... 
hibernate: [59] Executing RemountXFSBootRO ... 
hibernate: [89] Executing SaveKernelModprobe ... 
hibernate: [91] Executing ModulesUnloadBlacklist ... 
hibernate: [95] Executing XHacksSuspendHook2 ... 
hibernate: [98] Executing CheckRunlevel ... 
hibernate: [99] Executing DoUSuspend ... 
hibernate: Running /usr/sbin/s2disk ...

Swap: 4384764 кб Оболочка: kde



Последнее исправление: Nikita_b (всего исправлений: 2)

Давай сначала с hibernate разберемся.
Сначала:
- по возможности сбрось BIOS в дефолтные значения, если можешь; выставь только то, что нужно.
- по возможности выйми все USB и PCMCIA девайсы;
- сделай `cat /dev/null > /var/log/messages ` (непосредственно перед перезагрузкой)
- перегрузись
a) Дай `free -m ` (непосредственно перед hibernate)
b) Сделай hibernate, включи (я так понял, что будет заново загружаться) и дай ПОЛНЫЕ /var/log/messages и hibernate.log .
c) Дай текущий конфиг ядра
d) Параметры ядра в загрузчике
e) Дай вывод `fdisk -l /dev/sda ` (у тебя ж система на sda?)

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

- Bios сбосил, кроме FAN Control - Normal - Была подключена только мышь беспроводная, выдернул - Файл /var/log/messages был пустой, но был /var/log/messages.1 - его я и очистил - перезагрузился А) $ free -m

 
                                 total       used       free     shared    buffers     cached
Mem:                        3833       1574      2258          0         80        611
-/+ buffers/cache:                    882       2950
Swap:                       4281          0       4281
 
b) /var/log/messages и /var/log/messages.1 - ПУСТЫ. hibernate.log:

Starting suspend at Вс. июля 29 12:43:14 KGT 2012
hibernate: [01] Executing CheckLastResume ... 
hibernate: [01] Executing CheckRunlevel ... 
hibernate: [01] Executing LockFileGet ... 
hibernate: [01] Executing NewKernelFileCheck ... 
hibernate: [10] Executing EnsureUSuspendCapable ... 
hibernate: [11] Executing XHacksSuspendHook1 ... 
hibernate: [59] Executing RemountXFSBootRO ... 
hibernate: [89] Executing SaveKernelModprobe ... 
hibernate: [91] Executing ModulesUnloadBlacklist ... 
hibernate: [95] Executing XHacksSuspendHook2 ... 
hibernate: [98] Executing CheckRunlevel ... 
hibernate: [99] Executing DoUSuspend ... 
hibernate: Running /usr/sbin/s2disk ...
Starting suspend at Вс. июля 29 14:38:30 KGT 2012
hibernate: [01] Executing CheckLastResume ... 
hibernate: [01] Executing CheckRunlevel ... 
hibernate: [01] Executing LockFileGet ... 
hibernate: [01] Executing NewKernelFileCheck ... 
hibernate: [10] Executing EnsureUSuspendCapable ... 
hibernate: [11] Executing XHacksSuspendHook1 ... 
hibernate: [59] Executing RemountXFSBootRO ... 
hibernate: [89] Executing SaveKernelModprobe ... 
hibernate: [91] Executing ModulesUnloadBlacklist ... 
hibernate: [95] Executing XHacksSuspendHook2 ... 
hibernate: [98] Executing CheckRunlevel ... 
hibernate: [99] Executing DoUSuspend ... 
hibernate: Running /usr/sbin/s2disk ...
hibernate: [90] Executing ModulesLoad ... 
hibernate: [89] Executing RestoreKernelModprobe ... 
hibernate: [85] Executing XHacksResumeHook2 ... 
hibernate: [70] Executing ClockRestore ... 
hibernate: [59] Executing RemountXFSBootRW ... 
hibernate: [11] Executing XHacksResumeHook1 ... 
hibernate: [01] Executing NoteLastResume ... 
hibernate: [01] Executing LockFilePut ... 
Resumed at Вс. июля 29 14:38:52 KGT 2012
Starting suspend at Вс. июля 29 14:43:36 KGT 2012
hibernate: [01] Executing CheckLastResume ... 
hibernate: [01] Executing CheckRunlevel ... 
hibernate: [01] Executing LockFileGet ... 
hibernate: [01] Executing NewKernelFileCheck ... 
hibernate: [10] Executing EnsureUSuspendCapable ... 
hibernate: [11] Executing XHacksSuspendHook1 ... 
hibernate: [59] Executing RemountXFSBootRO ... 
hibernate: [89] Executing SaveKernelModprobe ... 
hibernate: [91] Executing ModulesUnloadBlacklist ... 
hibernate: [95] Executing XHacksSuspendHook2 ... 
hibernate: [98] Executing CheckRunlevel ... 
hibernate: [99] Executing DoUSuspend ... 
hibernate: Running /usr/sbin/s2disk ...
Starting suspend at Пн. июля 30 15:06:38 KGT 2012
hibernate: [01] Executing CheckLastResume ... 
hibernate: [01] Executing CheckRunlevel ... 
hibernate: [01] Executing LockFileGet ... 
hibernate: [01] Executing NewKernelFileCheck ... 
hibernate: [10] Executing EnsureUSuspendCapable ... 
hibernate: [11] Executing XHacksSuspendHook1 ... 
hibernate: [59] Executing RemountXFSBootRO ... 
hibernate: [89] Executing SaveKernelModprobe ... 
hibernate: [91] Executing ModulesUnloadBlacklist ... 
hibernate: [95] Executing XHacksSuspendHook2 ... 
hibernate: [98] Executing CheckRunlevel ... 
hibernate: [99] Executing DoUSuspend ... 
hibernate: Running /usr/sbin/s2disk ...

c) Конфиг /boot/config-3.4.4-030404-generic: https://docs.google.com/open?id=0B4cSO3xs7kFeOERtY05kWmNnQmM

d) grub.cfg часть с текущим ядром:

 
menuentry 'Ubuntu, с Linux 3.4.4-030404-generic' --class ubuntu --class gnu-linux --class gnu --class os {
	recordfail
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root 316b273f-7132-4903-bd64-6a0abb6ce6f0
	linux	/boot/vmlinuz-3.4.4-030404-generic root=UUID=316b273f-7132-4903-bd64-6a0abb6ce6f0 ro   quiet splash $vt_handoff
	initrd	/boot/initrd.img-3.4.4-030404-generic
}

e) fdisk -l /dev/sda/

 

Диск /dev/sda: 320.1 Гб, 320072933376 байт
255 головок, 63 секторов/треков, 38913 цилиндров, всего 625142448 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x981c898c

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048    83888127    41943040   83  Linux
/dev/sda2        83890174   625141759   270625793    5  Расширенный
/dev/sda5        83890176   616370175   266240000    7  HPFS/NTFS/exFAT
/dev/sda6       616372224   625141759     4384768   82  Linux своп / Solaris

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

a) Ok.
b) Игнорь /var/log/messages.1 - это архив прошлого /var/log/messages
/var/log/messages не может быть пустой после загрузки. Еще раз последовательность действий: 1) очищаешь 2) перегружаешься 3) уводишь в hibernate 4) включаешь, загружаешься 5) выкладываешь на pastebin.com
c) Уфф. У меня с работы закрыт доступ в google docs, посмотрю дома. В следующий раз пользуйся чем-то полегковесней, например, pastebin.com
d) Совет post-factum выше скорее всего поможет.
e) Ok.
--
Если добавление опции к ядру не поможет - дай содержимое этих файлов, если они есть:
/etc/initramfs-tools/conf.d/resume
/etc/uswsusp.conf
/etc/default/acpi-support

Kroz ★★★★★
()
Ответ на: комментарий от post-factum

Подскажите пожалуйста, куда конкретно вставить это? После какой-то строки или в первую строку?

Nikita_b
() автор топика
Ответ на: комментарий от Kroz

b) /var/log/message как не странно был даже до нулла пуст. Может где-то логи надо включить? c) Спасибо что сказали про такой сайт, вставил туда - http://pastebin.com/VzkfQHGV d) Сейчас разбирусь только куда вставлять) не очень понял.

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

/var/log/messages Наверное ты пустой файл создал без s. Логи, конечно, можно выключить, но я не видел ни одного дистрибутива где бы это было сделано по умолчанию.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

К сожалению файл который существует называется messages, я в сообщении букву забыл.

Nikita_b
() автор топика
Ответ на: комментарий от post-factum

Спасибо, но не помогло.

Выкладываю тогда содержимое запрошенных файлов: /etc/initramfs-tools/conf.d/ - пустая папка.

/etc/uswsusp.conf:

# /etc/uswsusp.conf(5) -- Configuration file for s2disk/s2both 
resume device = /dev/sda6
splash = y
compress = y
early writeout = y
image size = 1848873451
RSA key file = /etc/uswsusp.key
shutdown method = platform


/etc/default/acpi-support 
http://pastebin.com/e2JYY8uu

----
И ещё, когда пишу sudo hibernate
Мне выдаёт терминал:
hibernate:Warning: Tuxonice binary signature file not found.
Затем выходит чёрный экран, на котором:
Looking for splash system… none 
s2disk: Snapshotting system

...Ну и далее процесс записи в свап идёт.

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

Покопал немного по твоей проблеме.

Сначала немного теории (полная английская версия тут). Есть три бекенда («движка» или «метода» или софта) для hibernate и suspend: kernel (родной в ядре), uswsusp и tuxonice (только hibernate). Какой использует - заведует служба pm-utils (фронтэнд). Какой использовать указывается в переменной SLEEP_MODULE в каком-то из файлов в каталоге /etc/pm/ (и его подкаталогах), но если там ничего нет, то дефолтный можно посмотреть в /usr/lib/pm-utils/defaults . Теоретически запуск pm-hibernate или pm-suspend будет запускать соответствующую функцию нужного нужный бекенда.
(1) Выясни есть ли у тебя файл с переменной SLEEP_MODULE в каталоге/подкаталогах /etc/pm/ , если нет - найди эту переменную в /usr/lib/pm-utils/defaults и расскажи что там написано.

У uswsusp для hibernate используется команда s2disk, для suspend - s2ram .

Что касается s2ram . Я не могу определить используется ли он для засыпания, поэтому (2) попробуй поусыплять ноут командой s2ram : получается? Всегда просыпается или как раньше иногда с зависанием?

Из сообщения в твоем первом посте видно что какое-то устройство PNP0C0D:00 не просыпается. Это устройство по идее можно будет определить из лога ядра /var/log/messages но что-то у тебя с ним тяжело выходит; поэтому пока ты тестируешь s2ram (3) выдай хотябы вывод команды dmesg (он будет большой - на pastebin.com). Если с железом у тебя все ок, его должно хватить для понимания кто такой PNP0C0D:00.
На всякий случай оставлю этот линк здесь; тут варианты решения на случай если договориться тет-а-тет с устройством не получится.

Теперь что касается s2disk. Из hibernate.log в твоем первом посте можно понять что для hibernate изначально используется именно он. Как я понял, в Ubuntu он настраивается командой dpkg-reconfigure uswsusp , и ошибок там быть не может. Мне кажется проблема в том, что у тебя установлен tuxonice, и именно он пытается восстановиться при следующем включении, а не uswsusp.

Давай попробуем с tuxonice.
Вот здесь человек рассказывает как ставил tuxonice. (4) Проверь, пожалуйста, установлены ли у тебя каике-то из пакетов tuxonice-userui, linux-generic-tuxonice, linux-headers-generic-tuxonice . Если установлено linux-generic-tuxonice, а что-то другое нет, доставь остальное. Если linux-generic-tuxonice не установлено - ничего не делай, просто отпишись. (5) Еще одна проверка на tuxonice - в выводе комманды uname -rv должно присутствовать «tuxonice»; есть?. Если ты что-то доустанавливал - попробуй команду hibernate . Если не работает, то я вижу две возможных проблемы: 1) не указана партиция для сохранения образа и 2) метод комперсии.
1) (6) Посмотри файл /etc/hibernate/tuxonice.conf и убедись что там есть строка 'SuspendDevice swap:/dev/sda6' . Если нет - добавь. И вообще дай его содержимое сюда. Попробуй запусти команду ` hibernate -F /etc/hibernate/tuxonice.conf `. Если все еще не работает, (7) Найди в этом файле строку ' Compressor lzo ' и замени на ' Compressor none ' . Еще раз запусти ` hibernate -F /etc/hibernate/tuxonice.conf `.

Так, по результатам, я надеюсь увидеть содержимое переменной SLEEP_MODULE, ответ всегда ли просыпается после s2ram, вывод dmesg (а то и /var/log/messages), подтверждение что у тебя tuxonice и вывод команды uname -rv, и если у тебя таки tuxonice - содержимое файла /etc/hibernate/tuxonice.conf , а то и работающий hibernate по крайней мере из консоли. Давай пока так.

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Kroz

В первую очередь хочу сказать Вам огромнейшее спасибо за такое большое внимание!

1) В /etc/pm/ только 3 файла и в них нету переменной: config.d power.d sleep.d sudo grep -rn SLEEP_MODULE /usr/lib/pm-utils/defaults

30:# SLEEP_MODULE="kernel"

2) s2ram всегда просыпается. Раз 10 пробовал. :) Но слышал что опасен ждущий режим для оперативы.

3) dmesg http://pastebin.com/v8aPANZu

4) нечего из tuxonice не установлено и linux-generic-tuxonice тоже.

5) uname -rv 3.4.4-030404-generic #201206221555 SMP Fri Jun 22 20:03:28 UTC 2012

6) /etc/hibernate/tuxonice.conf соответственно нету.

Nikita_b
() автор топика

Сейчас времени не особо много, пока так:
1) Ok, значит используется kernel (хотя логи говорят обратное - разберемся позже)
2) Ок. Значит нужно его сделать дефолтным. Чуть позже поищу как.
3) Чуть позже проанализирую, хотя пока все работает (в частности не проявляется проблема ждущего режима описанная в первом сообщении), особых причин для анализа нет.
4) Ок. Забываем про tuxonice и команду hibernate.
5) Ok, tuxonice нет.
6) Ok.

Теперь давай попробуем с hibernate. Я попрошу тебя просто переинсталлить uswsusp ( ЕМНИМ в Ubuntu это делается командой ` sudo apt-get install uswsusp `, но можешь делать так как ты обычно инсталлишь проги) и усыпить комп командой s2disk. Отпишись что получилось.

В первую очередь хочу сказать Вам огромнейшее спасибо за такое большое внимание!

На этом мир держится. Можно на «ты».

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Удалил и установил uswsusp, при удалении и установке выходила ошибка:

update-initramfs: Generating /boot/initrd.img-3.4.4-030404-generic
cryptsetup: WARNING: failed to detect canonical device of /dev/sda1
cryptsetup: WARNING: could not determine root device from /etc/fstab
cryptsetup: WARNING: failed to detect canonical device of /dev/sda6

Далее уснул командой s2disk. И при просыпании вылезли ошибки на чёрном экране сначала что-то про USB - запомнить я не успел, штук 6 похожих. Затем на чёрном фоне вылезло окно класического стиля GTK: «Ubuntu is running in low-graphics mode» - в котором я нечего не мог сделать, так как мышка не работала, на enter не реагировало, но среагировало на Esc, и появился как-бы процесс загрузки (который можно увидеть при старте Ubuntu, если нажать соответствующие клавишы), но в нём не запускались иксы, а при нажатии клавиш печатались символы разные... Пришлось перезагрузить.

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

Ноутбук сам ушел в ждущий режим (видимо это был метод kernel), и затем при выходе из него на экране была куча надписей (ошибок), вот часть из них сфотографировал (в логах их не нашел, messages также пустой, так что не зря сфотографировал): http://bit.ly/OGux0z

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

Лог ядра можно увидеть командой dmesg. Файл с классическим названием /var/log/messages на 95% состоит из лога ядра плюс туда пишут свои логи системные службы и некоторые другие приложения. То есть он содержит чуть больше информации. Еще достоинство этого файла - это файл, а значит после перезагрузки он просто будет дописываться, тогда как лог ядра по умоланию находится в памяти и после перезагрузки теряется. Как я понял отсюда, в Ubuntu этот файл называется /var/log/syslog . Проверь, есть ли у тебя такой файл. Если нет - просмотри другие файлы в каталоге /var/log ; критерий поиска - содержимое должно очень напоминать то, что выводит команда dmesg. Этот файл просто незаменим при решении проблем с загрузкой, с железом и драйверами и некоторых других.
(1) Сообщи, нашел ли ты файл и как он называется.
Пока я буду считать что он называется /var/log/syslog .

Удалил и установил uswsusp, при удалении и установке выходила ошибка:

Как я понял - ничего страшного. По крайне мере пока так будем считать.

Давай проверим стал ли uswsusp дефолтным. Но, поскольку я не знаю как оценить разницу, просмотри файлы в /etc/pm/ в поисках файла с переменной SLEEP_MODULE, там должно быть что-то типа SLEEP_MODULE=«uswsusp» ; говорят это должен быть файл /etc/pm/config.d/00_sleep-module , но если его нет - просмотри все. Если не найдешь ничего, создай файл /etc/pm/config.d/00_sleep-module и внеси туда 2 строки:
SLEEP_MODULE=«uswsusp»
и одну пустую (некоторые программы не любят, когда последний символ не перевод строки, поэтому я просто всегда перестраховываюсь).
Убедись, что pm-suspend должен делать то же (ну, почти), что и s2ram, а pm-hibernate - то же, что и s2disk. На самом деле могут быть различия в процессе, но результат должен быть один. По крайней мере, поскольку s2ram у тебя точно работал, pm-suspend точно должен работать.
(2) Сообщи что ты в каком файле нашел переменную SLEEP_MODULE, если не нашел - дописал ли, и как отработали после этого pm-suspend и pm-hibernate.

Далее уснул командой s2disk. И при просыпании вылезли ошибки на чёрном экране сначала что-то про USB - запомнить я не успел, штук 6 похожих

На самом деле это шаг вперед, так как по крайней мере мы уже загружаемся с сохраненного образа. Нюансы могут быть в том, что не все железо нормально возобновляет работу (это обычно у suspend) или не все драйвера/модули ядра нормально подымаются (как правило у hibernate), Судя по тому, что ты описываешь, у тебя не поднялся драйвер видяхи. На самом деле pm-hibernate может это решить, так что проверь работу pm-hibernate.

Действия, когда не работает либо suspend либо hibernate: мне нужен лог системы и список подгруженных модулей ядра до и после suspend/hibernate.
С логом системы все просто. Если ты нашел его (предположительно /var/log/syslog ), то он каждый раз дописывается, просто после перезагрузки выложи его на pastebin.com .
Подгруженные модули ядра можно увидеть командой lsmod . Тут тоже все несложно: когда система коряво поднялась (и она в этом состоянии), запусти из-под рута:
$ lsmod > after.txt
(просто lsmod выведет информацию на экран). А потом, после перезагрузки, сделай ` lsmod > before.txt ` (в нормальном состоянии перечень подгруженных модулей всегда одинаков), и выложи мне содержимое этих файлов. Судя по твоему описанию проблемы после hibernate , в after.txt будет отсутствовать в частности модуль i915 . Потом мы аккуратно расскажем pm-hibernate, что такие-то модули нужно перед гибернацией выгружать, а после - подгружать заново, и по идее все будет хорошо.
Еще: когда у тебя появляется, как ты говоришь, окно «Ubuntu is running in low-graphics mode», просто переключись в соседний терминал (Ctrl+Alt+F2 или Ctrl+Alt+F3), залогинься под рутом, запусти ` lsmod > after.txt `, а потом перегрузись в нормальную систему и вышли эти 2 файла файлы + /var/log/syslog .
(3) Жду подтверждения что все работает или описание симптомов проблемы и содержимое before.txt, after.txt и /var/log/syslog .

на экране была куча надписей (ошибок), вот часть из них сфотографировал

Проблема с модулем watchdog, хотя по опыту скажу, что не обязательно с ним; остальное не информативно. Рассчитываю, что после перехода на uswsusp такого не будет.

dmesg

Там есть пару проблем, не знаю насколько они влияют. Одно только уточнение: у тебя год в системе 2012 стоит?

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

1) syslog - есть такой :)
2) В /etc/pm/ не было переменной SLEEP, создал файл /etc/pm/config.d/00_sleep-module с SLEEP_MODULE=«uswsusp» Ещё меня в /usr/lib/pm-utils/defaults удивило следующее:

# Check /sys/power/disk for valid values.  The default value
# will be surrounded by [square brackets].
# HIBERNATE_MODE="shutdown"
pm-hibernate и hibernate также работают, как-будто просто выключают компьютер (то есть не работают как нужно).
S2ram и pm-suspend одинаковы, при выходе выдают 2 ошибки: usb 2-1.2: device descriptor read/64, error -32
usb 2-1.2: device not accepting address 10, error -32
3) Что касается lsmod:
Если делаю hibernate, то компьютер заново загружается, как-будто после выключения, соответственно before и after у меня будут и есть одинаковы (до перехода в hibernate и после включения компьютера после ухода в hibernate).
Что касается pm-suspend и s2ram - у меня сегодня только один раз вышло окно «Ubuntu is running in low-graphics mode», но я не смог вспомнить команду lsmod, пытался найти её среди команд наугад... в общем я упустил этот момен, а больше не получалось так, чтобы вышло это окошко, много раз уходил в s2ram и pm-suspend.

На всякие before.txt - http://pastebin.com/GY4AHkCv

/var/log/syslog http://pastebin.com/RGET60C5 Ещё нашел интересный pm-suspend.log - http://pastebin.com/4GxzrQHh (там кстати есть периодический вывод lsmod)

И у меня в системе 2012 год стоит.

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

pm-hibernate и hibernate также работают, как-будто просто выключают компьютер (то есть не работают как нужно).

hibernate - это из tuxonice. Значит pm-hibernate почему-то не хочет юзать s2disk. Ведь s2disk усыпляет, а не выключает, так?

у меня сегодня только один раз вышло окно «Ubuntu is running in low-graphics mode»

То есть симптом такой же как и при s2disk?

но я не смог вспомнить команду lsmod

На всякий случай. Есть целое семейство ls* команд.
ls - вывод файлов и каталогов
lsmod - вывод модулей ядра, которые сейчас подгружены
lsof - список открытых файлов и сокетов
lspci - список внутренних устройств и устройств подключенных по PCI
lsusb - аналог lspci для USB.
Последние две команды мега полезны когда сам конфигуришь ядро. А lspci -k тебе еще покажет какое устройство каким модулем ядра обслуживается - очень полезно, когда хочешь скопировать конфигурацию ядра из LiveDVD или другой рабочей системы.

при выходе выдают 2 ошибки: usb 2-1.2: device descriptor read/64, error -32

Дай-ка вывод lsusb .

Итого, делим проблему на 3 части:
1. pm-hibernate почему-то не хочет юзать s2disk.
2. Сделать рабочим s2ram: убрать ошибку по usb.
3. Сделать рабочим s2disk: пока нет сравнения lsmod до и после просыпания, можно говорить только о проблеме «Ubuntu is running in low-graphics mode».

Kroz ★★★★★
()
Ответ на: комментарий от Nikita_b

Да, чтобы собрать уже всю информацию:
- сделай `cat /dev/null > /var/log/syslog ` (очищает этот файл; непосредственно перед перезагрузкой)
- перегрузись
- сделай s2disk
- включи; я так понял, что будет восстановление из образа, притом будет ошибка «Ubuntu is running in low-graphics mode»
- переключись в соседнюю консоль, сними показания lsmod
- перегрузись
- вышли содержимое /var/log/syslog
Итого, с тебя after.txt и /var/log/syslog после ошибки просыпания после s2disk; это для решения 3й проблемы. Для решения второй проблемы - надеюсь, вывода lsusb будет достаточно. По первой проблеме мне нужно еще подумать...

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Ведь s2disk усыпляет, а не выключает, так?

Нет, s2disk и hibernate и pm-hibernate как-бы выключают компьютер, то есть идёт сначала процесс записи на диск (или усыпления на свап), всё как-бы сохраняется, но когда я нажимаю на кнопку включения - компьютер включается как-бы с нуля полностью.

То есть симптом такой же как и при s2disk?

Да. Недавно отошел от компьютера, затем подхожу, вижу что работает пока, потом замечаю появляется опять симптом этот. Как я понял система переходила в ждущий режим, но не перешла. Это я и зафиксировал (ниже в after.txt). Кстати оболочка почему-то предлагает в пуске только ждущий режим, спящий видимо не признаёт. lsusb - http://pastebin.com/yV495Kw2 У меня кстати работает только так: cat /dev/null | sudo tee /var/log/syslog /var/log/ - http://pastebin.com/5xNekrT8

- включи; я так понял, что будет восстановление из образа, притом будет ошибка «Ubuntu is running in low-graphics mode»

Нет, восстановления не будет, будет просто как включение компьютера с нуля. Эта ошибка у меня появляется крайне редко, но всё-таки мне удалось состояние в ней зафиксировать в after.txt, которое к сожалению такое же как и befor.txt, если не ошибаюсь. after.txt - http://pastebin.com/BPZH9jwX

На всякий случай. Есть целое семейство ls* команд.

Спасибо! Знал только ls :)

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

Нет, s2disk и hibernate и pm-hibernate как-бы выключают компьютер, то есть идёт сначала процесс записи на диск (или усыпления на свап), всё как-бы сохраняется, но когда я нажимаю на кнопку включения - компьютер включается как-бы с нуля полностью.

Погоди, но вот ты писал что заработало:

Далее уснул командой s2disk. И при просыпании вылезли ошибки на чёрном экране сначала что-то про USB - запомнить я не успел, штук 6 похожих. Затем на чёрном фоне вылезло окно класического стиля GTK: «Ubuntu is running in low-graphics mode».

1. Что, опять поломалось?

Если да:
2. Пока что удали (перемести куда-то) созданных тобою файл /etc/pm/config.d/00_sleep-module . Удали пакеты hibernate и uswsusp. Попробуй заснуть из меню и с помощью pm-suspend . Если хотя бы это сработает, поробуй hibernate из меню и с помощью pm-hibernate.
3. Установи обратно hibernate и uswsusp. Опять же проверь как за работает s2ram и s2disk. Насколько я помню, у тебя s2disk работал.

Давай пока дойдем до точки когда у тебя хоть с образа загружается.

Kroz ★★★★★
()

Ноутбук не выходит из спящего, иногда и из ждущего режима

А поцеловать его пробовал?

anonymous
()
Ответ на: комментарий от Kroz

Оказывается слетел resume=/dev/sda6 c grub.cfg. поправил, теперь процесс восстановления идет, там loading from image... но зависает на compression rate 0.39... (видимо развернуть не может). Я бы показал фото экрана процесса загрузки, но у меня сейчас мобильный интернет, смогу, если надо, позже.

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

Ок. Тогда переустанавливать не надо. Снимок тоже не нужен. Попробуем отключить компрессию. В конфиге /etc/suspend.conf найти строку compress, сделай compress=n и проверь работу hibernate.

Kroz ★★★★★
()
Ответ на: комментарий от Nikita_b

Да, еще закомментируй splash . И у тебя ЕМНИП свопа больше чем памяти, так? Тогда закомментируй строку image size . Закомментировать - поставить # в начале строки.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Свапа чуть больше чем памяти, памяти 4гб, свапа 4.3гб. Но я думаю 4гб оперативы я не заюзаю.

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

Почему-то не нашел файла такого.

Сорри: /etc/uswsusp.conf

И еще:

Оказывается слетел resume=/dev/sda6 c grub.cfg. поправил, теперь процесс восстановления идет, там loading from image... но зависает на compression rate 0.39...

У меня опять закрались сомнения в том что используется uswsusp . Аргументы: во-первых у тебя заработало после добавления resume=/dev/sda6 в параметры ядра, а это ЕМПИН uswsusp не нужно; во-вторых, прошлый раз ты загрузился до иксов (с «Ubuntu is running in low-graphics mode»), а сейчас оно даже образ распаковать не может.
Правка конфига сработает только если используется uswsusp.

Kroz ★★★★★
()
Ответ на: комментарий от Nikita_b

Рекомендую действия:
0. Немного глупо, но... на самом деле чтобы считать 2Gb нужно время. Попробуй подождать секунд 15 после сообщения «Loading from image...». При этом индикатор харда должен активно работать.
1. Попробуй поправь конфиг, загипернейться. Если получится хоть чуть-чуть продвинуться вперед - отлично.
Если опять останавливается на «Loading from image...»
2. Попробуй команду s2disk . Результат просыпания отличается?
3. Если s2disk ведет себя по-другому, верни файл /etc/pm/config.d/00_sleep-module (с содержимым SLEEP_MODULE=«uswsusp» ) и проверь pm-hibernate. Результат просыпания отличается?

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

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Конфиг поправил. Как не странно зависает на разныx строкаx процесса просыпания: pm-hibernate зависает всегда на: read 593.3 MB in 18.0 seconds (33.0 MB/s) Total image i/o: 1167.6 MB in 35.6 seconds (32.8 MB/s) Resume: Image loading successful. s2disk один раз завис на одну строку раньше: Total image i/o: 1167.6 MB in 35.6 seconds (32.8 MB/s) hibernate завис вообще на строке: read 593.3 MB in 18.0 seconds (33.0 MB/s) В общем они зависают там будто им суждено. По другому они не отличаются.

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

У меня две гипотезы:
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 ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Kroz

Ура!!! Заработало!!! Оказался первый вариант. Сделал всё, как вы написали! Думаю следующие пункты не надо выполнять, так как всё получилось. Но могу выполнить, смогу без иксов справиться.
Хочу сказать вам огромное спасибо за помощь и такой большой труд и затраченное время в написании всего этого!
------- Взамен, за такую помощь, могу помогать вам по вебу, неплохо знаю CSS и HTML, немного php :) Если вам что-то надо по вебу пишите - skype: nikita.kg, mail: bolshebratsky.nikita@gmail.com

Nikita_b
() автор топика
Ответ на: комментарий от Nikita_b

Не за что. Обращайся если что.

Как всегда оказалось все просто, только до него нужно было докопаться.

Юзай на здоровье!

P, S. Поаккуратней с выкладыванием своих контактов на web сайтах. Спамерские скрипты порой сканируют сайты на предмет e-mail чтобы пополнять свои базы. Думаю, ты замечал, что люди порой пишут что-то типа name at gmail.com или что-то подобное вместо name@gmail.com - именно для того, чтобы скриптами сложнее было определить e-mail. Отредактируй последнее свое сообщение: переформатируй или убери контакты.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Ещё жаль КДЕ что-то не имеет до сих пор в меню или в энергосбережении «Спящий режим». Но это другая тема конечно, разобраться тут уже с помощью гугла можно) Вроде это не связано с бывшей проблемой.
------
Да, насчёт спамеров вкурсе) Забыл только) А вот отредактировать не могу(

Nikita_b
() автор топика

виндовс еще не советовали ставить
если нет, то ставьте, там все работает

warmate
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.