I've been hacking on an ancient #thinkpad r50e. Despite best efforts, I can't get the thing to wake up properly from suspend or hibernate.
Goes to bed as expected, and won't wake up.
Would love some help if you have any ideas.
Debian minimal install with i3wm. Acpi appears functional, acpi-support configured correctly by every guide I could find.
I'm stumped at this point, and not closing the lid without a plan. :)
According to https://www.linuxcompatible.org/compatdb/details/ibm_thinkpad_r50e_linux.html it used to work.
1. Make sure the BIOS/CMOS settings aren't bad. Since it used to work for people without effort, it points to the default settings being safe. Sometimes "better" settings are buggy, so use defaults. (*)
2. Possible issues due to changes in kernel configuration settings. You should be able to easily try changing the prebuilt kernel you're using. You might need to build your own, though.
(*) HDD settings should be preserved.
And when I say, "HDD settings should be preserved" there are BIOS/CMOS settings that change how the OS sees your hard disk and if things are misaligned the system won't boot. This isn't an issue if you're going to reinstall the system, but should not be considered if you want to preserve things.
Oh? That's something that should be fixable. Let me see if I can find that...
Immediate short-term work-around:
It's possible to change what the system does when you close the lid, so you can have it just not suspend. (This would be in a power management configuration.)
This may be an acceptable long-term solution if it is mostly used as a desktop. I know a lot of older laptops, in particular, where the battery life isn't good enough to reliably unplug for any meaningful length of time.
I'm also seeing reports that using Control-Alt-F1 to switch to text mode and Alt-F7 to switch back to X solves the issue for some folks.
Any idea how to do that below the GUI? I tried chmod -x'ing the lid.sh script in /etc/acpi/ and adjusting system and it didn't work.
There are a few things to do just before suspending and right after it, [...] It does the following:
* It switches to console one (prevents problems with after resume).
That sounds like your issue might be long-standing. Does it go away if you do Control-Alt-F1 before you close the lid?
I tried suspend from console initially, and the problem persisted.
Sounds like it was never fixed on this older model. It's mostly a learning toy, so if I can neuter the lid switch I may just try that
If neutering the lid switch is acceptable, screw looking for a software solution and check the CMOS/BIOS. You may be able to neuter it there.
I'll have a look at next opportunity. Thanks for the help!
You're welcome. The references to "Suspend2" in the old docs are for software that became TuxOnIce. There's a "hibernate" script, and it looks like the configuration is /etc/hibernate/hibernate.conf
Hopefully you can disable it in the BIOS, but if you can't, maybe tweaking that configuration will help?
I can't find the docs for TuxOnIce online. I've seen references for two different defunct websites.
I tried installing that. It hibernated, tried to recover from it and died on the way back up.
I found that last night and thought the same thing. Fortunately more recent vintage thinkpads behave better.
There's pieces which could include the solution to your problem there.
It mentions "xset dpms force off", but this means "xset dpms force on" on resume may bring the display to life. ...
The issue with the TuxOnIce/hibernate script and resuming might be the "ACPI S4 hardware signature mismatch" issue ...
The fact that there's all these references to 10+ year old versions of Linux doesn't exactly help, either. 2.4 was 2001. 2.6 was 2003.
A little additional poking has revealed two things:
1. There is no way to disable the lid switch in bios.
2. Thusfar, all attempts to make resume of any kind work leave me with a system that appears up and the backlight is on, but the screen won't give me back the console.
I'm appreciating how far things have come since the 'good old days'
You might need to hunt for the solution for your particular Debian apps, but https://askubuntu.com/questions/15520/how-can-i-tell-ubuntu-to-do-nothing-when-i-close-my-laptop-lid lists a number of potential starting points.
If you're using SystemD or a component thereof, you need to edit /etc/systemd/logind.conf
If you're using gnome-power-manager, you need to tweak that's settings.
If you're using UPower, you need to tweak /etc/UPower/UPower.conf
I saw that mismatch error when hibernate froze the system. Seems to be smart enough to simply recreate the file it needs
I also wonder if the "Fixing corrupted video on resume" section might include pieces you need. But the fact that it confirms /etc/systemd/logind.conf as being how to disable the lid switch should be good enough.
Ooooh. Disabling kms got the laptop to suspend to ram correctly from the command line, but the lid switch is clearly calling the wrong script. I think you've almost helped me crack it!
What about /etc/systemd/logind.conf as the way to disable the switch? Does that work?
A full fix would be best, but this will answer the question: Is the systemd logind configuration bypassed right now?
Right now we don't really know what's listening to the lid switch.
HandleLidSwitch in /etc/systems/logind.conf set to ignore disables suspend as intended. So question of the moment is how do I get the suspend directive it calls to call whichever mojo acpi -s calls which seems to be working, as opposed to whatever default which doesn't seem to want to wake up correctly.
Incidentally: Setting it to hibernate has laptop hibernating, but not succeeding in waking up correctly
Is that the mismatch error? Or is it something else?
So, the acpi command is skipping all the logic described in the man page.
Mastodon.ART — Your friendly creative home on the Fediverse! Interact with friends and discover new ones, all on a platform that is community-owned and ad-free. Admin: @Curator. Moderators: @EmergencyBattle, @ScribbleAddict, @TapiocaPearl, @Otherbuttons, @katwylder