Framework 16 - Shutdown not powering off the laptop

When I run # shutdown -h now the system goes down, but the laptop remains powered up. I tried manipulating the sysctl hw.efi.poweroff settings without any luck.

# sysctl hw.efi.poweroff
hw.efi.poweroff: 1

# shutdown -h now

# sysctl hw.efi.poweroff=0

# sysctl hw.efi.poweroff
hw.efi.poweroff: 0

# shutdown -h now

In both cases, the system goes down but the hardware remains powered. What else can I do to try to troubleshoot this?
 
To power off the machine, use the shutdown(8) "-p" option, or poweroff ("Calling “poweroff” is equivalent to running shutdown -p now").
Code:
     -p      The system is halted and the power is turned off (hardware
             support required, otherwise the system is halted) at the
             specified time.

Or, simply press the power button. By default, this powers the machine off:
Rich (BB code):
% sysctl hw.acpi.power_button_state
hw.acpi.power_button_state: S5

acpi(4)
Rich (BB code):
SYSCTL VARIABLES
    ...
     hw.acpi.supported_sleep_state
             Suspend states (S1–S5) supported by the BIOS.
             ...
             S5      System shuts down cleanly and powers off.
 
The hw.efi.poweroff needs to be set in /boot/loader.conf. My Lenovo needs to set it to 0 or it will also drain the battery.
 
The hw.efi.poweroff needs to be set in /boot/loader.conf. My Lenovo needs to set it to 0 or it will also drain the battery.
So far, without modifying /boot/loader.conf, I can use the XFCE GUI power off feature mostly reliably. If I use # shutdown -p now my laptop will halt AND shutdown. If I use the -h flag it will not shutdown.

Setting hw.efi.poweroff="0" seems to have no effect on any of this. Is there a command I need to run in order to make changes to /boot/loader.conf live, much as I do GRUB configuration changes in Linux?
 
Setting hw.efi.poweroff="0" seems to have no effect on any of this. Is there a command I need to run in order to make changes to /boot/loader.conf live, much as I do GRUB configuration changes in Linux?
GRUB reads from /boot/grub/grub.cfg which is live. Of course many distros do weird crap to generate that file which is why you need to run commands to make it live (i.e grubby, update-grub, and all the others).

Converse to that, UNIX-like platforms try to keep things more simple. So on FreeBSD the /boot/loader.conf is the file that is read directly and so doesn't need anything more done to make it live.

So far, without modifying /boot/loader.conf, I can use the XFCE GUI power off feature mostly reliably. If I use # shutdown -p now my laptop will halt AND shutdown. If I use the -h flag it will not shutdown.
This is because XFCE will specify for a powerdown (since that is what most desktop users expect). The -h flag will only halt; not poweroff. On consumer / desktop systems "halting" is rarely useful these days.
 
Is there a command I need to run in order to make changes to /boot/loader.conf live, much as I do GRUB configuration changes in Linux?
Mostly done with "vi".
That tunable is immutable once the kernel is running, that's why you put it in loader.conf.
 
Mostly done with "vi".
That tunable is immutable once the kernel is running, that's why you put it in loader.conf.
Vi guy in this end too. Well, these days I go for Neovim; same difference. I never took to Emacs or Pico/Nano.
 
Back
Top