Странные проблемы с подвеской на MacBook Pro Ubuntu 18.04 LTS

У меня возникают проблемы с приостановкой работы моего MacBook Pro с Ubuntu 18.04 LTS
Проблема в определенной степени зависит от того, подключен ли адаптер Thunderbolt-Ethernet или нет (подключен ли кабель Ethernet или нет, кажется, ничего не меняет)
Я могу получить успешную приостановку почти только с отключенным адаптером, но даже в этом случае она будет работать только несколько раз после перезагрузки. После нескольких успешных попыток, следующие попытки больше не будут работать до перезагрузки.

Чтобы получить больше информации, я протестировал приостановку с помощью кнопки «пауза» с различными конфигурациями, в основном без входа в систему.

Существует 4 различные конфигурации:
1 адаптер thunderbolt-Ethernet отключен
2 адаптер подключен
3 адаптер был подключен во время загрузки и отключен перед попытками suspend
4 адаптер подключается только после загрузки (и, следовательно, перед попытками приостановки)

И шесть состояний:
Приостановка успешна
B приостановка кажется успешной (выключение вентилятора), но она возрождается через одну секунду
C, она только спит (вентилятор включен) с черным экраном, она возрождается после нажатия клавиши
D, она только спит с черный экран, и он не может возродиться, он кажется замороженным
E он только спит с черным экраном, и он возрождается через 1 секунду без нажатия клавиши
F приостановка кажется успешной (вентилятор выключен) но он возрождается через одну секунду, а затем кажется замороженным.

Конфигурация 1 всегда приводит к состоянию A (ОК) с первой попытки, а иногда и для второй, третьей и четвертой первых попыток, а затем следующие попытки приводят к состоянию B
Конфигурация 2 приводит к D ( заморожено)
Конфиг 3 приводит к C с первой попытки, а затем следующие попытки приводят к E
Конфиг 4 первая попытка может привести к F (заморожено) или к A (OK), а затем к попытка приводит к B, D или F

Есть идеи о том, что происходит?

0
задан 3 May 2019 в 23:45

1 ответ

Выключитесь / на всех во время, приостанавливают / резюме

Очень трудно изолировать то, что продолжается. Один хороший шанс того, чтобы заставлять все работать с этим сценарием:

#!/bin/bash

# Original script was using /bin/sh but shellcheck reporting warnings.

# NAME: custom-xhci_hcd
# PATH: /lib/systemd/system-sleep
# CALL: Called from SystemD automatically
# DESC: Suspend broken for USB3.0 as of Oct 25/2018 various kernels all at once

# DATE: Oct 28 2018.

# NOTE: From comment #61 at: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/522998

TMPLIST=/tmp/xhci-dev-list

# Original script was: case "${1}" in hibernate|suspend)

case $1/$2 in
  pre/*)
    echo "$0: Going to $2..."
    echo -n '' > $TMPLIST
          for i in `ls /sys/bus/pci/drivers/xhci_hcd/ | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do
              # Unbind xhci_hcd for first device XXXX:XX:XX.X:
               echo -n "$i" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
           echo "$i" >> $TMPLIST
          done
        ;;
  post/*)
    echo "$0: Waking up from $2..."
    for i in `cat $TMPLIST`; do
              # Bind xhci_hcd for first device XXXX:XX:XX.X:
              echo -n "$i" | tee /sys/bus/pci/drivers/xhci_hcd/bind
    done
    rm $TMPLIST
        ;;
esac

Обслуживание

Создайте сценарий с корневыми полномочиями:

  • sudo -H gedit /lib/systemd/system-sleep/custom-xhci_hcd

Вставьте текст выше и сохраните файл. Сценарий Mark как исполняемый файл:

  • sudo chmod a+x /lib/systemd/system-sleep/custom-xhci_hcd

Перезагрузка и тест

Если сценарий не помогает удалить его с:

  • sudo rm -f /lib/systemd/system-sleep/custom-xhci_hcd
1
ответ дан 3 May 2019 в 23:45

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

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