Acabo de lograr que Ubuntu Desktop 14.04 y Mac OS 10.10.4 (Yosemite) arranque dual en mi Macbook Pro de mediados de 2015 (11,4) hace unas semanas. Por alguna razón, la máquina se cuelga al apagarse y en espera. Específicamente:
Decirle a la máquina que se apague (por ejemplo, apagado de sudo, apagado de sudo ahora, etc.) provoca la rutina de apagado normal hasta la línea final "El sistema se detendrá ahora". Una vez aquí, el sistema se congela y la única forma en que puedo apagarlo es presionando manualmente el botón de encendido durante unos segundos para un apagado completo.
Al decirle a la máquina que se ponga en espera, pasa a una pantalla negra y deja de responder. La única forma de recuperarlo es mantener presionado el botón de encendido durante unos segundos para un apagado completo. Después de volver a encender la máquina, recibo una notificación de "Error de sistema detectado" en el currículum.
Algunas notas pertinentes:
El MBP está ejecutando un intel iris pro integrado y un combo AMD Radeon R9 M370X para gráficos, y estoy usando el controlador propietario de fglrx-updates. Sé de otros casos aparentemente relacionados en versiones anteriores de Ubuntu, el problema proviene del controlador de gráficos propietario. Sin embargo, volver al controlador XOrg abierto y apt-get purging fglrx-updates no resuelve ninguno de los problemas.
Si trato de hibernar en lugar de en espera, la pantalla vuelve y vuelve al escritorio unos momentos más tarde (como si se estuviera despertando de la hibernación).
Reiniciar funciona bien. De hecho, la única forma en que puedo obtener un apagado limpio en la máquina desde Ubuntu es reiniciar y apagar desde rEFInd o arrancar en OS X y apagar.
No estoy seguro de qué registros tienen más sentido publicar (es la primera vez que hago una pregunta), pero si alguien tiene alguna idea, me complacería publicar los correctos lo antes posible.
ACTUALIZACIÓN 1: Ponerlo en espera hace que la pantalla se apague, luego se enciende casi de inmediato, luego se apaga nuevamente y se cuelga. El error del sistema que recibo al volver a Ubuntu es el siguiente:
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
También adjunté el registro de sueño a continuación.
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
ACTUALIZACIÓN 2: Parece que este problema puede extenderse más allá de Ubuntu. No estoy seguro de cómo comenzar a depurarlo. ¿¿Alguna idea??
https://forums.gentoo.org/viewtopic-p-7772846.html?sid=7ab6dd35c3dfc7a38a2c1b02edb15044
Respuestas:
Resulta que ahora es un problema documentado con MacbookPro 11,4 y 11,5 dentro del último núcleo de Linux mainline (creo que hasta 4.6 al momento de escribir esto). Hay una solución que requiere parchear / compilar un kernel personalizado. Se encuentra en el Comentario # 172 de https://bugzilla.kernel.org/show_bug.cgi?id=103211 . Específicamente,
Dentro de los comentarios, parece que un puñado de personas ha confirmado que esto realmente funciona en Ubuntu 14.04 y 16.04 con diferentes variaciones 4.X del kernel de Linux. Estoy probando esto ahora en 16.04, y aceptaré esta respuesta si todo funciona bien. Si alguien más está dispuesto a confirmar este parche en 14.04 con una versión anterior del kernel (3.X), comente a continuación.
ACTUALIZACIÓN: Puedo confirmar que esto funciona en Ubuntu 16.04 con Kernel v4.4.0-28-generic. Hice los siguientes pasos:
Todo parece estar funcionando como debería.
fuente
Encontré una solución en https://joshtronic.com/2017/03/13/getting-suspend-in-linux-working-on-a-macbook-pro/ - lo que funcionó para mí (en 16.04LTS), fue agregando lo siguiente a
/etc/rc.local
Sin embargo, recomendaría probar esto manualmente antes de agregarlo al archivo. Esto se puede hacer corriendo
sudo -i
seguido de las líneas individuales.echo LID0 > /proc/acpi/wakeup
simplemente voltea siLID0
debería despertar o no.Un triste efecto secundario es que la computadora ya no se encenderá cuando se abra la tapa
fuente