You are not logged in.

#1 2019-03-09 22:00:07

raech
Member
Registered: 2019-03-09
Posts: 1

Can't suspend my laptop (macbook pro 11,1)

As title says i'm having issues with suspending, any kind of suspend, but the catch is that it only happens after the first one was successful.

First sudo systemctl suspend or closing the lid works perfectly! No matter what amount of time it stays sleeping, it never wakes up by mistake, but if i try to do any suspend from here on it will always wake up instantly

Laptop model = macbook pro mid 2014 ( macbook pro 11,1 )

cat /proc/acpi/wake up

Device	S-state	  Status   Sysfs node
P0P2	  S3	*disabled
EC	  S4	*disabled  platform:PNP0C09:00
HDEF	  S3	*disabled  pci:0000:00:1b.0
RP01	  S3	*enabled   pci:0000:00:1c.0
RP02	  S3	*enabled   pci:0000:00:1c.1
RP03	  S3	*enabled   pci:0000:00:1c.2
ARPT	  S4	*disabled  pci:0000:03:00.0
RP05	  S3	*enabled   pci:0000:00:1c.4
RP06	  S3	*enabled   pci:0000:00:1c.5
XHC1	  S3	*disabled  pci:0000:00:14.0
ADP1	  S4	*disabled  platform:ACPI0003:00
LID0	  S4	*enabled   platform:PNP0C0D:00

  % i've also tried disabling everything including LID0

dmesg (after the first suspend, now that it starts to wake up instantly)

[ 9830.713365] dpm_run_callback(): usb_dev_suspend+0x0/0x10 returns -16
[ 9830.713379] PM: Device usb2 failed to suspend async: error -16
[ 9831.800889] PM: Some devices failed to suspend, or early wake event detected
[ 9831.801116] ACPI: button: The lid device is not compliant to SW_LID.
[ 9831.811272] sd 0:0:0:0: [sda] Starting disk
[ 9832.124127] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 9832.124668] ata1.00: unexpected _GTF length (8)
[ 9832.130070] ata1.00: unexpected _GTF length (8)
[ 9832.131087] ata1.00: configured for UDMA/133
[ 9832.868517] OOM killer enabled.
[ 9832.868520] Restarting tasks ... done.
[ 9833.780039] video LNXVIDEO:00: Restoring backlight state
[ 9833.780666] PM: suspend exit
[ 9833.780929] PM: suspend entry (s2idle)
[ 9833.780932] PM: Syncing filesystems ... done.
[ 9833.788472] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 9833.789973] OOM killer disabled.
[ 9833.789974] Freezing remaining freezable tasks ... (elapsed 0.053 seconds) done.
[ 9833.843414] printk: Suspending console(s) (use no_console_suspend to debug)
[ 9833.849518] ERROR @wl_notify_scan_status : 
[ 9833.849520] wlp3s0 Scan_results error (-22)
[ 9833.860085] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 9833.860734] sd 0:0:0:0: [sda] Stopping disk
[ 9833.949976] dpm_run_callback(): usb_dev_suspend+0x0/0x10 returns -16
[ 9833.949981] PM: Device usb2 failed to suspend async: error -16
[ 9835.130865] PM: Some devices failed to suspend, or early wake event detected
[ 9835.143339] sd 0:0:0:0: [sda] Starting disk
[ 9835.457765] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 9835.458492] ata1.00: unexpected _GTF length (8)
[ 9835.463952] ata1.00: unexpected _GTF length (8)
[ 9835.466563] ata1.00: configured for UDMA/133
[ 9836.199756] OOM killer enabled.
[ 9836.199759] Restarting tasks ... done.
[ 9837.116697] video LNXVIDEO:00: Restoring backlight state
[ 9837.117257] PM: suspend exit
[ 9837.124078] audit: type=1130 audit(1552166950.879:62): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
[ 9837.140736] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 9837.140906] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 9837.142888] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 9837.148596] audit: type=1130 audit(1552166950.903:63): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 9837.186661] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
[ 9837.222839] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 9841.251517] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 9845.462136] IPv6: ADDRCONF(NETDEV_CHANGE): wlp3s0: link becomes ready
[ 9847.013171] audit: type=1131 audit(1552166960.766:64): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 9847.129160] audit: type=1130 audit(1552166960.883:65): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 9857.015115] audit: type=1131 audit(1552166970.769:66): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

journalctl   (i closed the lid here, but doing sudo systemctl suspend gets me the same results)

-- Logs begin at Sat 2019-03-02 10:12:18 -03. --
Mar 09 12:50:43 Hackintosh systemd[1]: Started Login Service.
Mar 09 18:55:53 Hackintosh systemd-logind[418]: Lid closed.
Mar 09 18:55:53 Hackintosh systemd-logind[418]: Suspending...
Mar 09 18:56:01 Hackintosh systemd-logind[418]: Operation 'sleep' finished.
Mar 09 18:56:23 Hackintosh systemd-logind[418]: Suspending...
Mar 09 18:56:30 Hackintosh systemd-logind[418]: Operation 'sleep' finished.
Mar 09 18:56:53 Hackintosh systemd-logind[418]: Suspending...
Mar 09 18:56:56 Hackintosh systemd-logind[418]: Lid opened.

I'm really new towards linux and programming in general, so the ideas i've had to try to fix this were all around what i found over this forum by searching "SUSPEND", most of them only goes towards the idea that XHC or XHC1 is still enabled hence its causing the issues. I've also read something about completely disabling bluetooth/usb driver (or thats what i understood), since it was too radical(and I'm not sure what it actually implies) i haven't done it yet and decided to try my luck on this post first.

I've also found someone complaining that it was a bug on the kernel version 4.19 / 4.20, but i've lost this link and i can't seem to find this reference again to search for some fix or what it was about.

So my question is : how do i go about solving this kind of issue? i've tried searching for /dev/usb2 since its what dmesg outputs but everything is also related to XHC or something sad

can anyone help me?

Offline

#2 2019-03-24 05:05:47

Monkeet1
Member
Registered: 2019-01-10
Posts: 3

Re: Can't suspend my laptop (macbook pro 11,1)

Hi there! I'm also new in the community and I have a MacBook Pro 12.1 early 2015 smile. I had the very same issue as you do for a long time. Recently, I've decided to get rid of this issue once and for all! I discovered that the SD card reader disappears at the first sleep and never come back! As I never use it I decided to completely disable the device. To check if your problem is the same as me, you can do a simple lsusb before the first suspend and another after to confirm that the Apple SD card reader has disappeared.

Here's what I did to disable the SD card reader :

I've created a udev rule :

/etc/udev/rules.d/99-apple_cardreader.rules

SUBSYSTEMS=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="8406", RUN+="/usr/local/sbin/remove_ignore_usb-device.sh 05ac 8406"

Make sure to put the right VendorID and ProductID from the lsusb output. Also to make this work, you need the script to disable the device. Here it is :

/usr/local/sbin/remove_ignore_usb-device.sh

#!/bin/bash
# shellcheck.net: 4 warnings

logger -p info "$0 executed."

if [ "$#" -eq 2 ];then

    removevendorid=$1
    removeproductid=$2

    usbpath="/sys/bus/usb/devices/"
    devicerootdirs=`ls -1 $usbpath`

    for devicedir in $devicerootdirs; do

        if [ -f "$usbpath$devicedir/product" ]; then
            product=`cat "$usbpath$devicedir/product"`
            productid=`cat "$usbpath$devicedir/idProduct"`
            vendorid=`cat "$usbpath$devicedir/idVendor"`
            if [ "$removevendorid" == "$vendorid" ] && [ "$removeproductid" == "$productid" ];    then
                if [ -f "$usbpath$devicedir/remove" ]; then
                    logger -p info "$0 removing $product ($vendorid:$productid)"
           	    echo 1 > "$usbpath$devicedir/remove"
                    exit 0
   		else
                    logger -p info "$0 already removed $product ($vendorid:$productid)"
                    exit 0
   		fi
            fi
        fi


    done

else
    logger -p err "$0 needs 2 args vendorid and productid"
    exit 1
fi

Don't forget either to update the arguments (vendorid and productid) in the script call in the udev rule smile

After that, you can reboot and you are good to go! Personally, I have also disabled the LID0 event in /proc/acpi/wakeup, because when you suspend the machine and you close the lid after, it wakes up. That makes no sense for me...

I highly suggest you read the entire page dedicated to your MacBook on the wiki: https://wiki.archlinux.org/index.php/MacBookPro11,x It helps a lot!

I hope that it will fix your problem!

Last edited by Monkeet1 (2019-03-24 05:09:27)

Offline

Board footer

Powered by FluxBB