Author Topic: Lockscreen Freeze [Partial workaround found]  (Read 9528 times)

klf!

  • Newbie
  • *
  • Posts: 2
    • View Profile
Lockscreen Freeze [Partial workaround found]
« on: September 19, 2018, 06:15:50 am »
From time to time, but overall quite regularly, I'm not able to unlock debian on my gemini anymore.

Usually when on debian, with wifi on, the screen gets locked due to inactivity or manually by a short Fn+Esc hit. Unlocking normally works by hitting Esc (worldmap appears), typing pwd and Enter. So far so good. But from time to time, there is no response on the Esc-wakeup keystroke. The screen just stays black, no worldmap screen showing up.

Trying to login blindly (?screen wakeup problem?) did not succeed. I tried the whole process from login to shutdown blindly by keyboard(*), but the system/device does not respond in any way. Also waiting does not help (checked 30min+ more than once). The only solution in this case I found so far was Fn-Esc (aka "Off") until the device is powered off and reboot from scratch.
Reading the post over at xda-developers, I checked the device is still reachable via network (wifi): yes, and that I can connect via ssh: true (did not tried this before, because the WLAN I use is normally fully isolated from LAN and isolates the clients also, but I took the effort...;-). So the device and debian are basically still running fine. I can't see anything special from the logs (syslog, daemon.log, repowerd.log, debug, auth.log).

Anyone any idea how to go further?

(*) Esc, typing pwd, Enter, Ctrl+Esc, three times cursor up, one time right, four times down and two times Enter ;-)

Edit:
After having ssh available I found out that
   sudo service sddm restart
works around the issue by going to the initial login screen. But unfortunately that's not an option on the go...
« Last Edit: September 28, 2018, 02:37:04 pm by klf! »

klampfenfreak

  • Newbie
  • *
  • Posts: 40
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #1 on: November 02, 2018, 11:08:16 pm »
nothing more about that very bad black screen bug?
tried to programm a key command with siver button, but seems that hardware keys, except the siver one won't get recognized anymore.

Adam Boardman

  • Full Member
  • ***
  • Posts: 191
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #2 on: November 03, 2018, 07:52:56 am »
I also get this occasionally, and I've twice had the 'digital rain' which is a special variant where you have to disconnect the battery/fully flatten the device before you can get it to work again.

The current fudge around screen off/sleep needs re-thinking/fixing, currently its still set with the original first thing that sort of worked. I'm not happy with it but have yet to come up with a better plan.

Facts to work with:
  • Two key/keyboard drivers exist at a hardware/kernel level, one is the esc[on]+silver buttons, the other for the rest of the keyboard.
  • Only key presses on esc[on]+silver buttons can wake from a proper sleep.
  • Closing the device squashes the keys, and whilst working on this if you have the focus on a text input part of the UI then random keys can be seen after opening the device again.
  • When closed and you move the device about you can cause the keys to be pressed by shaking the device, this can include the 'esc' key which is an 'on' key when sleeping.
So the current solution involves/aims to achieve:
  • Upstream kernel already turns off the main keyboard on sleep, and blocks main keyboard key presses after more than a few are simultaneously depressed
  • Lid sensor detects close/open events
  • On close we turn screen off and launch lock screen
  • Lock screen eats esc[on]+silver buttons, silver button tells you the time, esc is ignored if the lid is closed
I couldn't get Planet to tell me how its handled on the Android side, though whether knowing that would have helped or not I don't know.

Possibly useful things for anyone else who wants to debug this, there are two ways of turning the screen off, both block the general keyboard, but let esc[on]+silver buttons work.

dpms screen off sometimes doesn't actually turn the backlight off, and will wake again from esc presses.
Code: [Select]
xset dpms force offhwcomposer off turns the screen off in a way that it wont wake up from esc key presses, so its good to use when the lid is closed, and then get the lock screen to pickup the esc keypress and wake the device if open.
Code: [Select]
xrandr --output hwcomposer --offThese are the actual commands executed on your behalf by gemain branch of 'repowerd' with its interactions with 'gemain-lock'.

Kiriririn

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #3 on: November 04, 2018, 06:13:01 pm »
I've got this 99% fixed on my Gemini, will dig up what I changed to get it working...

I've hacked a few things with repowerd suspend and with the lock screen key blocking, can't remember off hand which fixed this issue in particular, but it's defo along those lines
« Last Edit: November 04, 2018, 06:13:17 pm by Kiriririn »

Kiriririn

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #4 on: November 05, 2018, 11:32:23 am »
I believe the change that fixed it for me was either:

Most likely:
https://github.com/lukefor/gemian-lock/comm...cfed97a4eee816f
(disregarding the system() calls which are to restore brightness and lock miravision state on resume)

Or something in here:
https://github.com/gemian/repowerd/compare/....lukefor:master
(most of this is to undo the cancer that is miravision, nicer backlight control, and 99% fixes the occasional hard freeze and battery drain in standby - so most if not all of it can be disregarded for this issue)

Anecdotally I'm at 22 days and counting of uptime with no weirdness (no freezes, no battery drain, standby working consistently), generally the only issue I've come across is disconnecting the charger without opening/closing lid stops it from entering standby, likewise with closing the lid too quickly sometimes
« Last Edit: November 08, 2018, 03:18:07 pm by Kiriririn »

Adam Boardman

  • Full Member
  • ***
  • Posts: 191
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #5 on: November 05, 2018, 02:17:14 pm »
Possibly I've not looked in the right diff, but it looks like you've changed some bits to call some external scripts: /root/sleepy.sh etc, but not checked those in?

Kiriririn

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #6 on: November 08, 2018, 03:13:29 pm »
Quote from: Adam Boardman
Possibly I've not looked in the right diff, but it looks like you've changed some bits to call some external scripts: /root/sleepy.sh etc, but not checked those in?

Just hacks for my setup in there, cant remember if they even achieve anything

wakey
Code: [Select]
nmcli r all on
sleepy
Code: [Select]
killall -CONT /vendor/bin/aal
nnmcli r all off

klampfenfreak

  • Newbie
  • *
  • Posts: 40
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #7 on: March 21, 2019, 03:25:01 pm »
Hi together,

I still have this bug. When I close the lid I get a black screen and can`t login anymore.
I have read, there should be a solution in TP2? I think I am already up to date with my packages?! I walked thru the guid to enable TP2 repository and update/upgrade with apt.
ut I have not updated the Kernel, yet. I am not sure which partition is the right without messing up my Sailfish boot partition.

I also disabled the lid watcher as described on github.
Can someone explain how to identify the right partition for updating the linux kernel, please.
For now my workaround is a hotkey on the silver button to kill the desktop manager. But it closes all the applications, too. I have to start everything again after login.

I really want debian as my daily driver but the "screen black" bug makes it a no go. It seems the battery power drains much faster as on Android or also Sailfish.

Thank you
« Last Edit: March 21, 2019, 03:30:26 pm by klampfenfreak »

Kiriririn

  • Jr. Member
  • **
  • Posts: 66
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #8 on: March 21, 2019, 07:10:28 pm »
Quote from: klampfenfreak
Hi together,

I still have this bug. When I close the lid I get a black screen and can`t login anymore.
I have read, there should be a solution in TP2? I think I am already up to date with my packages?! I walked thru the guid to enable TP2 repository and update/upgrade with apt.
ut I have not updated the Kernel, yet. I am not sure which partition is the right without messing up my Sailfish boot partition.

I also disabled the lid watcher as described on github.
Can someone explain how to identify the right partition for updating the linux kernel, please.
For now my workaround is a hotkey on the silver button to kill the desktop manager. But it closes all the applications, too. I have to start everything again after login.

I really want debian as my daily driver but the "screen black" bug makes it a no go. It seems the battery power drains much faster as on Android or also Sailfish.

Thank you

You need to update the kernel

klampfenfreak

  • Newbie
  • *
  • Posts: 40
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #9 on: March 21, 2019, 08:56:22 pm »
Quote from: Kiriririn
Quote from: klampfenfreak
Hi together,

I still have this bug. When I close the lid I get a black screen and can`t login anymore.
I have read, there should be a solution in TP2? I think I am already up to date with my packages?! I walked thru the guid to enable TP2 repository and update/upgrade with apt.
ut I have not updated the Kernel, yet. I am not sure which partition is the right without messing up my Sailfish boot partition.

I also disabled the lid watcher as described on github.
Can someone explain how to identify the right partition for updating the linux kernel, please.
For now my workaround is a hotkey on the silver button to kill the desktop manager. But it closes all the applications, too. I have to start everything again after login.

I really want debian as my daily driver but the "screen black" bug makes it a no go. It seems the battery power drains much faster as on Android or also Sailfish.

Thank you

You need to update the kernel
my kernel version is 3.18.41+
Is there a newer one?

Adam Boardman

  • Full Member
  • ***
  • Posts: 191
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #10 on: March 22, 2019, 04:54:52 am »
Yes, but its still based upon the same upstream version number, you can now install 'gemian-modular-kernel' to get the new (built yesterday) kernel.

Note that you still need to 'dd'/flash the generated boot image to your choice of boot partition depending upon which boot time button combination you press to launch Gemian. A suggested 'sudo dd ...' line should be printed to remind you of this.

This kernel now includes Mithrandir's work to make the kernel support modules, including building out of tree modules (with the matching -headers package). As well as all previous fixes which have improved some of the crashes, though there are still plenty to fix, I'm getting sleep reboots every week or two, Nikita is working on a fix for a race condition that may help this.

Although the build date has no fixed link to what kernel code was built, its what we are using for now to check for kernel versions (uname -a), it certainly works for build server built kernels as they just pull direct from github.

Possibly also of interest the android system.img (the one used by hybris in a LXC container) is now also updatable (gemian-system), and we have a choice of three meta-packages you can install to pull in useful packages, your choice of (gemian-desktop, gemian-desktop-wifi or gemian-desktop-minimal)
« Last Edit: March 22, 2019, 05:09:04 am by Adam Boardman »

klampfenfreak

  • Newbie
  • *
  • Posts: 40
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #11 on: March 22, 2019, 08:08:17 pm »
Thank you for helping how to flash the kernel. Now I have module support. I like to have cifs (next to sshfs) again.

Unfortunately the screen stays still black after closing the lid!  

What else can I do?
I already reinstalled lxda. Gemian-lock and xss-lock starting with session, lid watcher is disabled.

Adam Boardman

  • Full Member
  • ***
  • Posts: 191
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #12 on: March 23, 2019, 03:42:51 am »
Sounds like you've got a new one, least something I've not seen. So you'll have to dig in to see whats going on.

You could try ssh'ing in and following the logs, something like 'sudo journalctl -f', might drop your ssh connection on lid close, though being plugged into USB power can help.

The place to look for info and contribute is the debugging page.

Also check for the number of lock processes running whilst your logged in as a user.
« Last Edit: March 23, 2019, 03:44:43 am by Adam Boardman »

mithrandir

  • Full Member
  • ***
  • Posts: 193
    • View Profile
    • http://www.mygnu.de
Lockscreen Freeze [Partial workaround found]
« Reply #13 on: March 23, 2019, 08:05:11 am »
Quote from: klampfenfreak
Thank you for helping how to flash the kernel. Now I have module support. I like to have cifs (next to sshfs) again.

Unfortunately the screen stays still black after closing the lid!  

What else can I do?
I already reinstalled lxda. Gemian-lock and xss-lock starting with session, lid watcher is disabled.

With the new kernel getting cifs support should be as easy as installing the needed tools (for sshfs anyways):

apt install cifs-utils sshfs

klampfenfreak

  • Newbie
  • *
  • Posts: 40
    • View Profile
Lockscreen Freeze [Partial workaround found]
« Reply #14 on: March 25, 2019, 02:47:28 pm »
Hi,

thank you very much. Yesterday I reflashed the Linux partition and upgradet to TP2 and now everything looks fine!!

As I tried to mount a folder via cifs, I had got an error that cifs is not supported by this kernel. (gemian-modular-kernel)
So I removed it and installed: sudo apt install gemini-kernel-image-3.18
Now also cifs is working!

What is the difference between this kernel updates, please? In both versions, I had to flash the boot partition manually.
And one stupid question: what means the name "TP2"

best regards,
Rico