LINUX.ORG.RU
ФорумAdmin

Acer ES1-711G зависает при выключении, перезагрузке, suspend'е в Debian 10 (и других системах)

 , , , ,


0

1

Здравствуйте, товарищи.

Ситуация:

Есть ноутбук Acer ES1-711G, неплохой, но уж больно невезучий.

Когда стабильной версией был Debian Jessie, то и тогда с ним были проблемы (борьбу с ними я даже описал для потомков https://mihanentalpo.me/en/2016/10/debian-jessie-acer-es1-711g/), но их почти все удалось побороть.

Сейчас взялся ставить на него Debian 10. Проблем, описанных по вышеуказанной ссылке я уже не встретил, но, кроме мелочей (не сразу заработал wifi, при загрузке Grub показывает чёрно-белую картинку меню, видеокарта Nvidia не обнаруживается) обнаружил более серьёзную проблему: при выключении, перезагрузке, уходе в спящий режим (suspend), да даже когда система гасит экран для энергосбережения - ноутбук виснет полностью или почти полностью (при гашении экрана, если быстро что-то нажать, на чёрном экране появляется курсор мышки, и некоторое время им ещё можно двигать, но потом и он замирает).

Забегая вперёд: попробовал на этом же ноутбуке кучу LIVE-дистрибутивов: перезагрузка, выключение и спящий режим также зависают в OpenSuse, Fedora, Kubuntu, Mint, Majaro, CentOs, и не зависает только в Debian 8.9 Jessie.

Данные:

Железо:

Acer ES1-711G

CPU: Intel(R) Pentium(R) CPU N3540, 2.16GHz, 4 ядра RAM: 8GB

lspci:

https://gist.github.com/MihanEntalpo/66e506f4e2014943d6086fd34336d993

Из возможно важного: есть видеокарты Intel и NVidia, на старом дебиане работали в режиме Optimus, даже в игры игралось. Здесь попробовал поставить также, но карта NVidia не обнаруживалась, поэтому все дрова, primusrun и bumblebee удалил назад, а также снёс карту nouveau, так как от неё была ругань и я решил, что может быть проблемы связаны с этим.

lsusb:

https://gist.github.com/MihanEntalpo/555cf545be1e372c01fe368fcda0e9fc

Софт:

Система: Debian 10 (buster) Ядро: Linux debian10 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux (также, пробовал ядра 4.19.0-4, 4.19.0-6)

KDE Plasma 5.14 (стандартная для дебиана).

Лог загрузки:

Все сообщения dmesg от загрузки и до открытия браузера: https://gist.github.com/MihanEntalpo/0123cbde22cfa57581bfa4a3815ea804

Лог перезагрузки:

При перезагрузке, когда набираю из первой консоли (Ctrl+Alt+F1) команду reboot, процесс доходит до логического завершения, после чего экран гаснет, но перезагрузка не происходит.

Запись экрана при перезагрузке: https://yadi.sk/i/v6mVEtuY-MDM7w

Последний кадр при перезагрузке перед потемнением экрана: https://yadi.sk/i/7IhMFe5K8ebW9g

Лог выключения:

При выключении, когда из первой консоли выполняю poweroff, процесс также идёт до логического завершения, но с той разницей что экран даже не гаснет, и выключение не происходит

Запись экрана: https://yadi.sk/i/PLxJmOO_nDXuQA Последний кадр: https://yadi.sk/i/GyOWRVNSi5O-zA

Зависания:

Кроме прочего, иногда (примерно пару раз за день) ноутбук вообще зависает без каких-либо видимых причиню. Просто вот пока я правил этот текст (со второго раза начал постоянно сохранять черновик), ноутбук завис 2 раза. При этом зависании всё просто встаёт колом и не двигается, экран остаётся графический, переключиться на текстовую консоль невозможно, Alt+SysRq+REISUB не работает.

Дополнительные сведения:

  • Данный дистрибутив я поставил на одном ноутбуке, после чего снял образ fsarchiver’ом и залил его на несколько ноутбуков и стационарных компов, нигде проблем не обнаружено, софт полностью идентичный

  • Debian Jessie на этом ноутбуке последний использовался довольно давно, около года назад, примерно в этот момент был куплен новый ноутбук, данные перенесены, а этот был убран в ящик стола. В результате сейчас даже кнопки на клаве пришлось «разрабатывать» чтобы они печатали (первое время нажимались не с первого раза), так что потенциально можно предположить что с ноутом что-то могло случиться за это время (хотя его и не трогали совсем)

  • Данный ноутбук даже на Debian Jessie был немного больной, к примеру, он также мог зависнуть иногда, но в основном это происходило когда на ноутбуке включена карта Nvidia через bumblebee, и я выдёргивал из него шнур питания. При этом зависал он не насмерть, к нему можно было подключиться по SSH и нормально его перезагрузить/выключить, то есть отрубалась только графическая подсистема (вероятно из-за какого-то кривого управления питанием при отключении зарядки)

Сейчас bunblebee и вообще Nvidia я не использую.

  • Изначально на этот ноут шла Windows 8, которая ужасно тормозила, а последние драйвера на Nvidia на неё вообще нельзя было поставить, в процессе установки она зависала или падала в синий экран смерти, что наводит на мысли об аппаратном дефекте, однако, этот ноут за деньги носили в официальный сервис-центр и диагностировали всё железно, после чего сообщили что он полностью рабочий и проблем нет (а мы знаем насколько такие заявления не выгодны сервис центру).

Что делал:

  • Отключил «quite» в параметрах ядра, благодаря чему ядро стало подробнее писать в логах, и стало видно что всё более-менее нормально проходит (к сожалению, лучше бы сразу было видно где падает)

  • Пробовал Alt+SysRq + R-E-I-S-U-B после зависания системы при перезагрузке или выключении, не помогает.

  • Если набрать Alt+SysRq + R-E-I-S-U-B когда система нормально работает - она ПЕРЕЗАГРУЖАЕТСЯ как следует, что говорит о том, что в принципе система способна нормально перезагрузиться, но видимо в процессе «штатной» перезагрузки она делает что-то такое что не даёт ей дойти собственно до перезагрузки.

  • Поставил всевозможные обновления, все недостающие прошивки.

  • Пробовал Kubuntu 19.10 с Live-флешки. Ядро там 5.3.* (точно не вспомню, уже вышел оттуда), но симптомы точно такие же. При закрывании крышки ноутбука он засыпает и не просыпается, при выключении, перезагрузке комп зависает на чёрном экране или на экране с логом действий завершения работы в которых не видно какого-то криминала.

  • Пробовал Fedora 31 c Live-флешки. Ядро 5.3.7-301.fc31.x86_64, результат ровно тот же самый

  • Пробовал Manjaro-xfce 18.1.5 с Live-флешки, результат тот-же

  • Пробовал openSuse Leap 15.1, загрузившись с установочной флешки в Recsue mode, точно также, при команде poweroff логи доходят до сообщения «Reached target shutdown» после чего ничего не происходит, комп не отключается

  • Пробовал загрузиться с флешки Debian Jessie 8.9 amd64, с ядром версии 3.16.0-4-amd64 SMP Debian 3.16.7-ckt25-2, на ней ПЕРЕЗАГРУЗКА РАБОТАЕТ, ОТКЛЮЧЕНИЕ ПИТАНИЯ ТОЖЕ. Уход в спящий режим - зависает. Может быть это связано с контроллером USB, так как в прошлый раз мне приходилось отключать один из стандартных драйверов.

  • Попробовал CentOS-7 с флешки, ядро древнее, 3.10.0-957.12.2.el7.x86_64. Перезагрузка зависла, отключение зависло, спящий режим завис.

  • Перечитал кучу форумов с такими же проблемами (конкретно такой ноутбук не встречался, но вообще проблема частая), однако там всегда ситуация такая «всё было хорошо, обновился - и всё, трындец»), кроме того, советуют поменять ядро, что на дебиане сделать не так просто как хотелось бы.

  • Пробовал добавлять в параметры ядра acpi=force (не помогло)

  • Пробовал добавлять в параметры ядра nomodeset - X-сервер отказался запускаться.

  • Пробовал гонять нагрузочное тестирование stress-ng, запускал игры с графикой которую тянет встроенная intel-овская видеокарта, добивался того, чтобы комп начал греться и жужжать вентиляторами, но это не привело к его зависанию, продолжал работать как ни в чём не бывало.

Что ещё не сделал

  • Сейчас хочу дождаться пока ноут зависнет в ходе работы и попробовать подключиться к нему по SSH чтобы выяснить, может быть опять же виснет только графическая система, в этом случае я мог бы написать скрипт который будет сам детектировать такое состояние и что-нибудь с ним делать автоматически.

  • Долго читал о том как работает в linux управление питанием и suspend, про всякие файлы /proc/acpi/* в которые можно писать разные значения, но пока не понял что именно и куда мне надо писать чтобы вручную проверить как будет работать усыпление (на одном из форумов прочитал что один из режимов sleep’а может зависать а другой будет работать, что-то про s2idle, deep)

  • Не пробовал пересобирать ядро. Раз старое ядро (от Debian Jessie) нормально перезапускало систему, значит новое просто содержит в себе какие-то не те опции и модули. В принципе, можно попробовать поэкспериментировать с настройками сборки, касающимися ACPI, но я в этом ничего не понимаю поэтому буду делать методом тыка, что продлится очень долго.

  • Знаю что можно как-то настроить удалённую отладку, чтобы syslog писал логи не на свой ПК, а отправлял по сети удалённо, что могло бы мне помочь в отладке этих зависаний и невозможноси отключиться, но пока я не знаю как перевести тот же systemd в режим супер-подробного логирования выключения/перезагрузки/суспенда, то и настраивать удалённую отладку не пробовал.

  • Нашёл статью про отладку ACPI (https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues) буду пробовать её.

Буду рад:

  • Если у кого-то были похожие проблемы и вы поделитесь со мной способами их решения

  • Если дадите ссылки на статьи, где подробно изложено управление ACPI в Linux и то, как решать проблемы с ними

  • Если подскажите как можно отлаживать внезапные зависания системы.

У меня ноут с таким же процем, такая же беда с cstate на дистрах debian. Сейчас поставил void linux, тут ядро первой свежести и пока система не фризилась, intel_idle.max_cstate=1 в груб пока не прописал. Может с последним ядром для дебиана тоже проблема пропадет

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

intel_idle.max_cstate=1

Попробовал, на счёт фризов сказать не могу, но перезагрузка и отключение так и не заработали.

При suspend (закрываю крышку ноута) - опять всё зависло.

Буду гуглить в направлении intel’овского модуля acpi, говорят он может помочь настроить управление питания именно на интеловских чипсетах и CPU.

MihanEntalpo ()

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

deep-purple ★★★★★ ()
Ответ на: комментарий от anonymous

Противоречат друг другу.

Кстати да, в логах продолжает временами появляться ругань от nouveau на кривые адреса памяти. Выяснил что часть nouveau в системе ещё стоит, и от неё зависят пакеты, удаление которых сносит половину системы.

Вместо борьбы с зависимостями добавил blacklist nouveau в modprobe.d/, но она продолжает появляться в логах после перезагрузки :)

Попробую всё-таки выковырять её из пакетного менеджера.

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

Вместо борьбы с зависимостями добавил blacklist nouveau в modprobe.d/, но она продолжает появляться в логах после перезагрузки :)

Initramfs пересобрал?

На тебе тоже про то, как отключать модули в дебиан https://wiki.debian.org/KernelModuleBlacklisting

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

Вопрос Почему в параметрах загрузки ядра acpi=force? А если грузиться по дефолту без этого пункта? Довольно неплохое описание параметров ядра

Судя по этой заметке Твоя Nvidia не так просто заводится.;-(

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

На счёт acpi=force - это было просто одним из экспериментов, который не помог. Что с ней что без нее - результат одинаковый.

В дебиане 8 эта нвидия у меня работала неплохо, а сейчас я и не собирался ее включать, хоть бы с одним интелом работало

MihanEntalpo ()