I am currently running Zorin OS 12 (based on Ubuntu 16.04 LTS, I'm pretty sure it's an Ubuntu problem specifically but I never encountered it running stock Ubuntu), and when plugged in from boot it works perfectly. However, as soon as I remove external power, I lose the ability to suspend the computer. Any attempts to suspend the system cause the screen to turn back on within about 10-15 seconds. This continues to happen until I reboot.

I have a couple theories on why this may be happening, though I don't know which it is or even if either of them is actually what is happening.

  1. I forgot to assign swap space when installing. Prior to assigning new swap space, this was occurring every time I suspended, whether on A/C power or battery. I doubt it though, because I now have 10 GB of swap when my physical memory is only 8 GB, and it only happens after I remove power.

  2. Sometimes, when this happens, after I reopen the computer, my Wi-Fi card stops functioning, but in a weird way. It fails to detect any networks, but I can specify a 'hidden' network (the network I had connected to previously which is not hidden) and it immediately repopulates the network list.

  3. I am unable to install the Intel Graphics Update Software to install official Intel drivers for my display because, despite being available for Ubuntu 16.04 and my computer reporting its kernel version as #80-Ubuntu (the same as a server I have access to which I know is running Ubuntu 16.04 directly), the software believes I do not run a supported distro. This seems to be the most likely cause to me, though I have never had issues with Intel Integrated graphics on any Linux distro in the past.


So, it turns out that my problem was something completely unrelated to the issues I was having: my USB controller was constantly waking up my system whenever it would suspend after removing power. I don't know why this was happening, but this fixed it:

sudo su -c "cd /etc/udev/rules.d && curl -LO https://raw.githubusercontent.com/sebikul/arch-macbookair6.2-config/master/udev/90-xhc_sleep.rules"

What this does is prevent the USB controller from waking the system out of suspend. There's no real reason for this to be enabled on a laptop anyway, since it should only suspend when the lid is closed. When it's plugged into a monitor, suspending doesn't make much sense as the screen can just be locked.

If you want to test this out first, without creating any files, run this command:

sudo su -c "echo XHC1 > /proc/acpi/wakeup"

This will switch the kernel flag for USB wake-from-suspend to off. It doesn't do anything permanent, a simple reboot will undo it if something breaks. Or executing the same command. It is a toggle.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.