lenovo t460s + 16.04.2: зависание при приостановке после отсоединения
У меня были проблемы с Lenovo T460s с Ubuntu 16.04.2. Приостановка работала нормально, если ноутбук не был пристыкован. После разблокировки он зависнет при попытке вернуться из режима ожидания.
Как я могу это исправить?
2 ответа
У меня тоже была эта проблема, и я провел некоторое расследование. Проблема вызвана драйвером i915. Это происходит, если во время использования док-станции был включен внешний дисплей. Драйвер i915 перенесен в ядро 4.4.0 в Ubuntu 16.04, что может не помочь. Фактический сбой: [440183.307053] ошибка ядра в /build/linux-0uniEn/linux-4.4.0/ubuntu/i915/intel_ddi.c:730!
Если вы посмотрите на код, проблема заключается в том, что драйвер удивлен / смущен тем, что один вывод пропал, и решает эту проблему, приводя к сбою всего ядра, а не просто сообщает о сбое. Это довольно дрянной код.
Я попробовал ядро 4.12.3 из PPA обновления ядра Ubuntu, и это работает лучше, но иногда все еще дает сбой. Он часто зависает на несколько минут, когда не спит, до того, как наконец появляется экран, что лучше, чем сбой и потеря материала, но утомительно.
Совершенно надежный способ обойти это - явно отключить внешний дисплей перед расстыковкой. Этот скрипт 'отменить' делает это:
#!/bin/sh
xrandr | awk '$2 == "connected" && !/^eDP/ {system("xrandr --output " $1 " --off")}'
(Соответствующий с s/- off / - auto / включит его снова.)
Некоторые утверждают, что более новое ядро /xorg может исправить это. Узнайте больше здесь. Чтобы установить этот прогон:
sudo apt install --install-recommends xserver-xorg-hwe-16.04
Я использую i3, который сломал несколько вещей. i3bar+i3status перестал работать (не отображается), xbacklight перестал работать (работает, но не меняет яркость). Чтобы получить их обратно, мне пришлось связываться с устройствами xorg, как предложено здесь.
К вашему сведению: я не провел достаточного тестирования, чтобы убедиться, что пакет hwe решил проблему зависания после приостановки. Обновлю здесь.
Обновление: мой ноутбук был включен более 30 дней, стыковался, расстыковывался и спал в расстыкованном состоянии (еще не пробовал на док-станции). Так что, кажется, решить эту проблему пока.
Версия ядра сейчас:
Linux mylaptop 4.8.0-46-generic #49~16.04.1-Ubuntu SMP Fri Mar 31 14:51:03 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux