Acabei de conseguir que o Ubuntu Desktop 14.04 e o Mac OS 10.10.4 (Yosemite) inicializassem duas vezes no meu Macbook Pro de meados de 2015 (11,4) há algumas semanas. Por alguma razão, a máquina trava no desligamento e no modo de espera. Especificamente:
Indicar o desligamento da máquina (por exemplo, sudo poweroff, sudo shutdown now, etc) causa a rotina normal de desligamento até a linha final "O sistema parar agora". Uma vez aqui, o sistema congela e a única maneira de desligá-lo é pressionando manualmente o botão liga / desliga por alguns segundos para um desligamento intenso.
Colocar o aparelho em espera faz com que ele apareça em uma tela preta e deixe de responder. A única maneira de trazê-lo de volta é manter pressionado o botão liga / desliga por alguns segundos para um desligamento intenso. Depois de trazer a máquina de volta, recebo uma notificação "System Error Detected" no currículo.
Algumas notas pertinentes:
O MBP está executando um intel iris pro integrado e um combo AMD Radeon R9 M370X para gráficos, e estou usando o driver proprietário da fglrx-updates. Sei de outros casos aparentemente relacionados em versões anteriores do Ubuntu, o problema decorre do driver gráfico proprietário. No entanto, voltar ao driver XOrg aberto e apt-get purgar o fglrx-updates não resolve nenhum dos problemas.
Se eu tentar hibernar em vez de em espera, a tela volta e volta para a área de trabalho alguns momentos depois (como se estivesse acordando da hibernação).
Reiniciar funciona bem. De fato, a única maneira de obter um desligamento limpo da máquina no Ubuntu é reiniciar e desligar o rEFInd ou inicializar no OS X e desligar.
Não sei ao certo quais logs fazem mais sentido para postar (é a primeira vez que faço uma pergunta), mas se alguém tiver alguma ideia, eu ficaria feliz em publicar as postagens certas o mais rápido possível.
ATUALIZAÇÃO 1: colocá-lo no modo de espera realmente faz com que a tela desligue e ligue quase imediatamente, depois desligue novamente e desligue. O erro de sistema que recebo ao retornar ao Ubuntu é o seguinte:
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
Também anexei o log de suspensão abaixo.
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
ATUALIZAÇÃO 2: Parece que esse problema pode se estender além do Ubuntu. Não sei como começar a depurar. Alguma ideia??
https://forums.gentoo.org/viewtopic-p-7772846.html?sid=7ab6dd35c3dfc7a38a2c1b02edb15044
Respostas:
Acontece que agora é um problema documentado com o MacbookPro 11,4 e 11,5 no mais recente kernel linux da linha principal (acho que até 4.6 no momento em que escrevi isso). Existe uma solução alternativa que requer correção / compilação de um kernel personalizado. Ele está localizado no comentário nº 172 de https://bugzilla.kernel.org/show_bug.cgi?id=103211 . Especificamente,
A partir dos comentários, parece que um punhado de pessoas confirmou que isso realmente funciona no Ubuntu 14.04 e 16.04 com diferentes variações 4.X do kernel do Linux. Estou testando isso agora em 16.04 e aceitarei esta resposta se tudo funcionar bem. Se alguém mais estiver disposto a confirmar esse patch no 14.04 com uma versão anterior do kernel (3.X), por favor, comente abaixo.
ATUALIZAÇÃO: Posso confirmar que isso funciona no Ubuntu 16.04 com o Kernel v4.4.0-28-generic. Eu fiz os seguintes passos:
Tudo parece estar funcionando como deveria.
fonte
Encontrei uma solução em https://joshtronic.com/2017/03/13/getting-suspend-in-linux-working-on-a-macbook-pro/ - o que funcionou para mim (em 16.04LTS), foi adicionando o seguinte a
/etc/rc.local
Eu recomendaria testar isso manualmente antes de adicionar ao arquivo. Isso pode ser feito executando-se
sudo -i
seguido pelas linhas individuais.echo LID0 > /proc/acpi/wakeup
simplesmente vira seLID0
deve causar uma ativação ou não.Um efeito colateral triste é que o computador não liga mais quando a tampa é aberta
fonte