Ноутбук не приостанавливает правильно на заключительной крышке

Я запускаю Ubuntu 16.04 LTS на моей Lenovo G50, и все идет прекрасное за исключением того, что я не могу закрыть крышку своего ноутбука, не будучи должен перезагрузить впоследствии. Когда я закрываю крышку (или если я работаю pm-suspend), мой экран ноутбука идет темный в течение нескольких секунд, затем снова включает.

Проблема состоит в том, что, когда я пытаюсь возобновить его, мой ноутбук в основном превращается в картофелину... По некоторым причинам администратор сети (и Wi-Fi и Ethernet) не работает, что, терминал становится чрезвычайно медленным, и я не могу выполнить использование команды sudo потому что это зависнет там навсегда.

Я попытался измениться logind.conf файл, я попытался измениться Power System Settings, Я обновил свой Intel Graphics driver, я установил инструменты как pmi или laptop-mode... У меня заканчиваются идеи, но я сделал бы что-либо для устранения этой проблемы.

Если существует информация о системе, которая могла бы быть полезной, сообщить мне, и я добавлю его к сообщению.

2
задан 25 September 2018 в 04:13

2 ответа

После прочтения я обнаружил, что проблема связана с WiFi-картой Qualcomm Atheros QCA6164, используемой во многих ноутбуках Lenovo (G50-80 в моем случае). Ubuntu, похоже, не имеет подходящей прошивки для этой карты, которая заставляет ее работать.

Я также узнал, что отключение Wi-Fi перед закрытием моего ноутбука предотвратит все ошибки, поэтому я собрал это и решение из этого поста вместе и создал файл в /etc/acpi/ для обработки событие закрытия крышки.

Добавьте следующий код, используя sudo nano /etc/acpi/lid.sh:

#!/bin/sh

grep -q closed /proc/acpi/button/lid/LID0/state
if [ $? = 0 ]
then
  nmcli radio wifi off
  pm-suspend
else
  nmcli radio wifi on
fi

Затем добавьте следующие строки, используя sudo nano /etc/acpi/events/lm_lid:

event=button/lid.*
action=/etc/acpi/lid.sh

Теперь, раскомментируйте и установите следующую строку, используя sudo nano /etc/systemd/logind.conf:

HandleLidSwitch=ignore

Наконец, перейдите в System Settings > Power и установите все параметры закрывающей крышки на Do Nothing.

Выполните следующие действия, чтобы установить разрешения и завершить внесение изменений:

sudo chmod 755 /etc/acpi/lid.sh
sudo /etc/init.d/acpid restart
sudo service systemd-logind restart

Надеюсь, это работает для вас!

3
ответ дан 2 December 2019 в 01:36

Изменить действие плотно закрывающейся крышки в Ubuntu:

Откройте/etc/systemd/logind.conf файл в текстовом редакторе как корень, например,

sudo nano /etc/systemd/logind.conf

Измените эту строку:

#HandleLidSwitch=ignore

К этой строке:

HandleLidSwitch=suspend

Удостоверьтесь прокомментированный.

Поочередно можно также добавить эту строку, но я предпочитаю первый:

HandleLidSwitchDocked=suspend

Затем выполненный:

sudo service systemd-logind restart

Или перезагрузка.

Диагностировать быть в спящем режиме/режим приостановки Вас должно ввести следующую команду в терминале:

dmesg|less

Обычно существует запись, что приложение заставило приостановку приводить к сбою:

[32467.560058] Freezing of tasks failed after 20.01 seconds (1 tasks refusing to freeze, wq_busy=0):
[32467.560115] plasma-desktop D 0000000000000000 0 2065 1 0x00800004

Зафиксируйте приостанавливают на ноутбуках

sudo apt-get install uswsusp

Теперь тест приостанавливает с:

sudo s2ram

Если это не работает использование:

sudo s2ram --force

Затем отредактируйте этот файл:

sudo nano /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux

Код изменения к:

#!/bin/sh

/sbin/s2ram --force

Редактирование: Другие фиксируют:

Поместите сценарий в '/etc/pm/sleep.d/', скрипты там будут запущены в, приостанавливают и возобновляются. Имя файла должно запуститься с числа упорядочивания, 00-49 для пользовательских сценариев (для получения дополнительной информации, посмотрите, что человек пополудни - приостанавливает).

Сценарий мог быть похожим на это

#!/bin/sh
(killall -9 mount.nfs; exit 0)

Если у Вас есть проблемы, проверьте /var/log/pm-suspend.log, который зарегистрирует попытку приостановить и запустить Ваш скрипт.

Ubuntu Приостанавливает не рабочий FIX

Шаг 1: Откройте терминал и создайте файл сценария следующим образом:

sudo nano /etc/pm/sleep.d/20_custom-ehci_hcd

Шаг 2: Скопируйте весь сценарий ниже в файл, который Вы просто создали, и сохраните его:

#!/bin/sh
 VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1
 unbindDev() {
  echo -n > $DEV_LIST 2>/dev/null
   for driver in $DRIVERS; do
    DDIR=$DRIVERS_DIR/${driver}_hcd
    for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST
    done
   #for bus in $EHCI_BUSES; do
     echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/unbind
 # done
   done
 }
 bindDev() {
  if [ -s $DEV_LIST ]; then
    while read driver dev; do
      DDIR=$DRIVERS_DIR/${driver}_hcd
      #for bus in $EHCI_BUSES; do
          echo -n $bus > /sys/bus/pci/drivers/ehci_hcd/bind
      #done
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
          echo -n "$dev" > $DDIR/bind
          if [ ! -L "$DDIR/$dev" ]; then
            sleep $BIND_WAIT
          else
            break
          fi
          MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
      done
     done < $DEV_LIST
  fi
  rm $DEV_LIST 2>/dev/null
   chvt 1
  chvt 7
}
 EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
case "$1" in
    hibernate|suspend)
 unbindDev;;
     resume|thaw)
 bindDev;;
 esac

Шаг 3: Дайте сценарию выполненные полномочия путем ввода:

sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd
4
ответ дан 2 December 2019 в 01:36

Другие вопросы по тегам:

Похожие вопросы: