nuclearsandwich / surface3-archlinux

Archlinux on the Microsoft Surface Pro 3
70 stars 4 forks source link

Suspend to RAM has no way to wake up #6

Open nuclearsandwich opened 10 years ago

nuclearsandwich commented 10 years ago

Suspending to RAM via systemd apparently has no way to wake up. The power button is not triggering the computer to wake up.

I guess I haven't 100% confirmed that the computer isn't resuming and the backlight is staying off. Next time I try I will attempt to reboot blind after suspending from a root terminal.

colorprint commented 9 years ago

It returns back with bluetooth keyboard for me (and it is strange - should the bluetooth work in suspend mode?) Hardware keys still not work to resume from suspend-to-ram.

nuclearsandwich commented 9 years ago

@colorprint what version of the marvell firmware are you using? I can barely get Bluetooth working and wifi is still unstable after an hour or two.

colorprint commented 9 years ago

I have got the latest version from git yesterday WiFi works fine after this (480-520Mbps on 802.11ac), bluetooth works too (not worked before firmware update)

nuclearsandwich commented 9 years ago

@colorprint lucky you. I wonder if this Surface also has defective wifi hardware (as my first unit did). Are you running the stock Archlinux Kernel? LTS?

colorprint commented 9 years ago

kernel 3.17.4-1-ARCH, x86_64

colorprint commented 9 years ago

my firmware file size in /usr/lib/firmware/mrvl/ : 751756 pcie8897_uapsta.bin

paulhandy commented 9 years ago

More pertinent to the issue, is there any way yet of waking up from suspend?

altercation commented 9 years ago

I filed this as a kernel bug back in September. The full bug thread is worth reviewing if anyone is interested in the issue. I believe that Rui is planning on picking the bug back up again this January, so hopefully we'll see some progress on it then.

https://bugzilla.kernel.org/show_bug.cgi?id=84651

paulhandy commented 9 years ago

There does seem to be a* way to wake up, and that is fn keys on a usb keyboard that was never unplugged after suspending. Hardly useful, but it is something.

One thing that bothers me, is that it seems to suspend when I close the type cover 3. It doesn't resume when I open the type cover 3, however, which seems a bit backwards to me.

lizalc commented 9 years ago

Using the "OneNote" button on the pen wakes the SP3 for me, but it has it's flaws. Resuming pretty much always disables the touchscreen and more often then not / get mounted read only. GDM will also sometimes refuse to restart. It's pretty buggy, but it "works".

For the record, I'm using kernel 3.19-rc2, GNOME 3.14, and suspending via the GNOME power menu.

altercation commented 9 years ago

@shvr You may have just changed my life. Embarrassed to say that I never used the pen in Linux (only in windows dual booted). I just paired it and everything works great other than the power hit due to BT. It may not be perfect but it's better than just powering off all the time. THANK YOU.

I'm testing resume functionality now but basically as long as I drop wifi prior to suspend it seems pretty stable. I'm running i3 fwiw.

lizalc commented 9 years ago

No problem. Was just something I thought I'd try after reading this thread and it happened to work. Hopefully though the button issues get worked out soon so this workaround isn't needed.

altercation commented 9 years ago

I'm guessing that I could assign any bt device to wakeup via udev rules, though I haven't tested this and other than a bluetooth mouse I don't have anything I think would be as convenient as the pen.

paulhandy commented 9 years ago

The "oneNote" button does nothing for me when suspended, with 3.17.3-pf kernel patched with type cover and camera patches (am i missing any other patches?). Did you make any special udev rules for it to work?

lizalc commented 9 years ago

Nothing special was needed. Just paired the pen and went. Did you download and install the Marvell wifi / bluetooth firmware from their git repository?

paulhandy commented 9 years ago

Yes, I installed that software. Perhaps something is different in the newer kernel?

lizalc commented 9 years ago

I downgraded my kernel to 3.17.6 (the one currently in Arch's Core repo) and tried this again. I was able to successfully wake from sleep using the OneNote button on the pen, so I don't think the kernel is to blame. You may try checking if you have a setting enables that also puts bluetooth to sleep when suspending as well as verifying that the pen is actually paired and can connect.

lizalc commented 9 years ago

To clarify, I used the stock Arch kernel and applied no patches.

altercation commented 9 years ago

To aid with troubleshooting, I'm using blueman as a bt management tray icon/ui and there is a handy data in/out display on it that clearly increments with each press of my pen button (I'm sure you could achieve the same monitoring on the command line as well).

paulhandy commented 9 years ago

Does anyone know how to debug wether bluetooth is set to sleep when the computer sleeps?

altercation commented 9 years ago

New patches just released by the team working on the SP3 power button seem to have done the trick. Button is working for suspend/resume here.

https://bugzilla.kernel.org/show_bug.cgi?id=84651

colorprint commented 9 years ago

Yes, suspend work fine, but hibernate (resume after hibernate) seems to not works. Also I see strange issue with keyboard cover with these pathes - if I boot the Surface with keyboard cover attached - it hangs when I try to login in gnome. If I boot it with detached keyboard cover and attach it at login screen - it works fine.

paulhandy commented 9 years ago

Dang. Right after my company took it back, too. Oh well.

lateau commented 9 years ago

On 4.1.6 I have two suspend issues. Suspend does not work well with systemctl command, it causes freezing display and never go to asleep. By closing a typecover, my fully charged battery discharged in about 7 hours and it means suspend doesn't work with that.

I installed with 2015-09 Arch Linux Image and no patches are applied. Is there anything that I should do some additional tasks?