Очікування в режимі очікування та завершення роботи на Macbook Pro 11,4


14

Мені просто вдалося завести кілька тижнів тому Ubuntu Desktop 14.04 та Mac OS 10.10.4 (Yosemite) для подвійного завантаження в середині 2015 року (11,4) Macbook Pro. Чомусь машина зависає при відключенні та в режимі очікування. Конкретно:

  • Повідомлення машини про вимкнення (наприклад, sudo poweroff, sudo shutdown now тощо) призводить до нормальної процедури вимкнення до остаточного рядка "Система зупиниться". Опинившись, система замерзає, і єдиний спосіб змусити її вимкнутись - це вручну утримувати кнопку живлення протягом декількох секунд для жорсткого відключення.

  • Якщо ввімкнути машину в режимі очікування, вона перейде на чорний екран і не реагує. Єдиний спосіб повернути її назад - це утримувати кнопку живлення протягом декількох секунд для жорсткого відключення. Після повернення машини в режим резервного копіювання я отримую сповіщення "Виявлена ​​системна помилка" про резюме.

Кілька відповідних приміток:

  • MBP працює з інтегрованою програмою Intel iris pro та комбінацією AMD Radeon R9 M370X для графіки, і я використовую власний драйвер із fglrx-update. Я знаю з інших, здавалося б, пов'язаних випадків у більш ранніх версіях Ubuntu, проблема випливає з фірмового драйвера графіки. Однак, повернення до відкритого драйвера XOrg і влучна чистка fglrx-update не вирішує жодної проблеми.

  • Якщо я спробую перейти в сплячку замість режиму очікування, дисплей повернеться назад і повернеться на робочий стіл через кілька мить (начебто він прокидається від сплячого режиму).

  • Перезавантаження працює чудово. Насправді, єдиний спосіб, коли я можу отримати чисте вимкнення машини на Ubuntu від Ubuntu, це перезавантажити або відключити з rEFInd або завантажитися в OS X та вимкнення.

Я не впевнений, які журнали мають найбільше сенс розміщувати (це вперше я задаю питання), але якщо хтось має якусь інформацію, я був би радий отримати як можна швидше правильні публікації.

ОНОВЛЕННЯ 1: Переведення його в режим очікування насправді призводить до вимкнення екрана, після чого вмикається майже негайно, потім знову повертається та зависає. Системна помилка, яку я отримую при поверненні до Ubuntu, така:

ProblemType: KernelOops
Annotation: This occured during a previous suspend and prevented it from resuming properly.
Architecture: amd64
Date: Thu Sep 10 22:50:55 2015
DistroRelease: Ubuntu 14.04
ExecutablePath: /usr/share/apport/apportcheckresume
ExecutableTimestamp: 1439395460
Failure: suspend/resume
InterpreterPath: /usr/bin/python3.4
Package: linux-image-3.19.0-25-generic 3.19.0-25.26~14.04.1

Я також додав журнал сну нижче.

Initial commandline parameters: 
Thu Sep 10 22:50:05 EDT 2015: Running hooks for suspend.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend:
/usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/000record-status suspend suspend:
/usr/lib/pm-utils/sleep.d/000record-status suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
Linux fruit 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Module                  Size  Used by
nvram                  16384  0 
msr                    16384  0 
btusb                  40960  0 
joydev                 20480  0 
bcm5974                20480  0 
pci_stub               16384  1 
vboxpci                24576  0 
vboxnetadp             28672  0 
vboxnetflt             28672  0 
vboxdrv               450560  3 vboxnetadp,vboxnetflt,vboxpci
xt_CHECKSUM            16384  1 
iptable_mangle         16384  1 
ipt_MASQUERADE         16384  1 
nf_nat_masquerade_ipv4    16384  1 ipt_MASQUERADE
iptable_nat            16384  1 
nf_conntrack_ipv4      16384  1 
nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
nf_nat_ipv4            16384  1 iptable_nat
nf_nat                 24576  2 nf_nat_ipv4,nf_nat_masquerade_ipv4
nf_conntrack          106496  4 nf_nat,nf_nat_ipv4,nf_nat_masquerade_ipv4,nf_conntrack_ipv4
xt_tcpudp              16384  5 
bridge                110592  0 
stp                    16384  1 bridge
llc                    16384  2 stp,bridge
iptable_filter         16384  1 
ip_tables              28672  3 iptable_filter,iptable_mangle,iptable_nat
x_tables               36864  6 xt_CHECKSUM,ip_tables,xt_tcpudp,ipt_MASQUERADE,iptable_filter,iptable_mangle
applesmc               20480  0 
input_polldev          16384  1 applesmc
x86_pkg_temp_thermal    16384  0 
intel_powerclamp       20480  0 
coretemp               16384  0 
kvm_intel             151552  0 
kvm                   479232  1 kvm_intel
brcmfmac              278528  0 
brcmutil               16384  1 brcmfmac
lpc_ich                24576  0 
cfg80211              524288  1 brcmfmac
bdc_pci                16384  0 
mei_me                 20480  0 
mei                    90112  1 mei_me
sbs                    16384  0 
sbshc                  16384  1 sbs
apple_gmux             16384  0 
mac_hid                16384  0 
snd_hda_codec_cirrus    20480  1 
snd_hda_codec_generic    69632  1 snd_hda_codec_cirrus
snd_hda_codec_hdmi     53248  1 
snd_hda_intel          32768  10 
snd_hda_controller     32768  1 snd_hda_intel
snd_hda_codec         143360  5 snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller,snd_hda_codec_cirrus
snd_hwdep              20480  1 snd_hda_codec
fglrx               12460032  127 
snd_pcm               106496  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_seq_midi           16384  0 
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            32768  1 snd_seq_midi
snd_seq                65536  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              32768  2 snd_pcm,snd_seq
snd                    86016  31 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_hda_codec_cirrus
apple_bl               16384  1 apple_gmux
amd_iommu_v2           20480  1 fglrx
soundcore              16384  2 snd,snd_hda_codec
shpchp                 40960  0 
bnep                   20480  2 
rfcomm                 69632  0 
bluetooth             491520  11 bnep,btusb,rfcomm
binfmt_misc            20480  1 
parport_pc             32768  0 
ppdev                  20480  0 
lp                     20480  0 
parport                45056  3 lp,ppdev,parport_pc
nls_iso8859_1          16384  1 
dm_crypt               24576  1 
hid_generic            16384  0 
hid_apple              16384  0 
crct10dif_pclmul       16384  0 
crc32_pclmul           16384  0 
ghash_clmulni_intel    16384  0 
aesni_intel           172032  2 
aes_x86_64             20480  1 aesni_intel
lrw                    16384  1 aesni_intel
gf128mul               16384  1 lrw
glue_helper            16384  1 aesni_intel
ablk_helper            16384  1 aesni_intel
cryptd                 20480  4 ghash_clmulni_intel,aesni_intel,ablk_helper
uas                    24576  0 
usb_storage            69632  1 uas
ahci                   36864  3 
usbhid                 53248  0 
libahci                32768  1 ahci
hid                   110592  3 hid_generic,usbhid,hid_apple
video                  20480  1 apple_gmux
             total       used       free     shared    buffers     cached
Mem:      16306696    1188872   15117824      22748      47276     365684
-/+ buffers/cache:     775912   15530784
Swap:      4194300          0    4194300
/usr/lib/pm-utils/sleep.d/00logging suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/00powersave suspend suspend:
/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.

Running hook /etc/pm/sleep.d/10_grub-common suspend suspend:
/etc/pm/sleep.d/10_grub-common suspend suspend: success.

Running hook /etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend:
/etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/49tlp suspend suspend:
/usr/lib/pm-utils/sleep.d/49tlp suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend:
/usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend:
Failed to connect to non-global ctrl_ifname: (null)  error: No such file or directory
/usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:
/usr/lib/pm-utils/sleep.d/75modules suspend suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/90clock suspend suspend:
/usr/lib/pm-utils/sleep.d/90clock suspend suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:
/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/95anacron suspend suspend:
stop: Unknown instance: 
/usr/lib/pm-utils/sleep.d/95anacron suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend:
/usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/95led suspend suspend:
/usr/lib/pm-utils/sleep.d/95led suspend suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:
ATI Catalyst driver detected, not using quirks.
/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
kernel.acpi_video_flags = 0
/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.

Running hook /etc/pm/sleep.d/novatel_3g_suspend suspend suspend:
/etc/pm/sleep.d/novatel_3g_suspend suspend suspend: success.

Thu Sep 10 22:50:06 EDT 2015: performing suspend

ОНОВЛЕННЯ 2: Схоже, ця проблема може вийти за межі Ubuntu. Я не впевнений, як почати налагоджувати це. Будь-які думки ??

https://forums.gentoo.org/viewtopic-p-7772846.html?sid=7ab6dd35c3dfc7a38a2c1b02edb15044

https://bbs.archlinux.org/viewtopic.php?id=199388


1
Це звучить як проблема з обладнанням вашого Mac, що має різні команди ACPI, ніж дає Ubuntu. Мені хотілося б знати, чи є у когось ще така проблема, і я також хотів би знати, як у вас це працює ...
Даніель,

Я щойно придбав ту саму модель, і у мене є те саме питання.
E3L_1

У тій же проблемі, закриття кришки MBP 11,5 спричиняє дві речі: аварія, її повторне відкриття потребує жорсткого відключення (кнопки живлення) для завантаження резервної копії, і при закритій кришці ноутбук сильно нагрівається. Неймовірно дратує, оскільки мені потрібно регулярно пересувати свій ноутбук між класами
Том Б,

2
Також впливає на 15 "Retina з моделлю 11,4 (efi booted Ubuntu 15.10)
tomodachi

2
Перегляньте цю сторінку, яка відстежує Macbook Pro 11,5. Це питання досі не вирішено, але деякі інші вирішуються в останніх ядрах.
Олександр Дубінський

Відповіді:


7

Виявляється, це тепер документально підтверджена проблема з MacbookPro 11,4 і 11,5 в останньому основному Linux Linux-ядрі (я думаю, до 4.6 під час написання цього запису). Існує обхід, який вимагає виправлення / складання спеціального ядра. Він розміщений у коментарі №172 https://bugzilla.kernel.org/show_bug.cgi?id=103211 . Зокрема,

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index ee72ebe..d3ec833 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2775,6 +2775,13 @@ static void quirk_hotplug_bridge(struct pci_dev *dev)

 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_HINT, 0x0020, quirk_hotplug_bridge);

+static void quirk_hotplug_bridge_skip(struct pci_dev *dev)
+{
+       dev->is_hotplug_bridge = 0;
+}
+
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x8c10, quirk_hotplug_bridge_skip);
+
 /*
  * This is a quirk for the Ricoh MMC controller found as a part of
  * some mulifunction chips.

З коментарів, схоже, кілька людей підтвердили, що це дійсно працює в Ubuntu 14.04 та 16.04 з різними варіантами 4.X ядра Linux. Я зараз тестую це 16.04, і прийму цю відповідь, якщо все працює добре. Якщо хтось інший готовий підтвердити цей виправлення 14.04 за допомогою попереднього випуску ядра (3.X), будь ласка, прокоментуйте його нижче.

ОНОВЛЕННЯ: Я можу підтвердити, що це працює в Ubuntu 16.04 з Kernel v4.4.0-28-generic. Я зробив такі кроки:

Здається, все працює як слід.


Це тепер, здається, включено до новіших збірок ядра 4.4 (принаймні, на 4.4.0-63-generic).
Крістіан Фріц

У мене все ще є призупинення проблем із 4.4.0-64 на Ubuntu 16.04. Я думаю, що це повинно викликати інше питання :-(
Бред Пітчер

0

Я знайшов рішення на https://joshtronic.com/2017/03/13/getting-suspend-in-linux-working-on-a-macbook-pro/ - те, що працювало для мене (16.04LTS), було додавши до/etc/rc.local

#!/bin/sh -e
echo LID0 > /proc/acpi/wakeup
echo XHC1 > /proc/acpi/wakeup
exit 0

Я рекомендую протестувати це вручну перед тим, як додати до файлу. Це можна зробити, запустивши sudo -iнаступні окремі рядки.


echo LID0 > /proc/acpi/wakeupпросто перевертається, якщо це LID0може спричинити пробудження чи ні.


Сумним побічним ефектом є те, що комп'ютер більше не буде включатись, коли кришка відкриється

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.