0

I have a Raspberry Pi 4 B running with the latest updates and want to operate a pushbutton "shutdown / restart". I have set up the pushbutton as described ín various articles but no success. With an older version of raspberry os it worked fine, so the hardware should be ok.

I have looked at the rpi-eeprom config, it shows this:

BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0```


My config.txt is this

```# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
#dtparam=i2s=on
#dtparam=spi=on
# enable_uart=1
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900

hdmi_force_hotplug=1
max_usb_current=1

# Start/Stop Taster Konfig
dtoverlay=gpio-shutdown,gpio_pin=21

# Grafikspeicher
gpu_mem=256

# Turbo Mode
# force_turbo=1

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

hdmi_force_hotplug:0=1
hdmi_force_hotplug:1=1
hdmi_drive=2

In the graphical "settings - interfaces" mask nothing else than "camera" and "SSH" is active.

I'm at a loss what else I could do to get the bugger to do what's expected. Please consider that I'm:

  • old
  • a noob
  • and a little slower in thinking by now I'd really appreciate any (good :-) ) tip helping me out.

EDIT:

I have just tried it again and have added the parameter "active_low=1" to the "dtoverlay" - line and suddenly everything works !!!

I don't remember that this param was necessary before.

So, everything is solved !

MatsK
  • 2,478
  • 3
  • 12
  • 20
petrus_muc
  • 31
  • 3
  • 2
    what's the point of posting all of this and not asking any questions? – jsotola Jun 21 '21 at 17:53
  • I thought after describing the fault asking "...what can I do" is unnecessary. Question is obvious: what to do to get it working again. – petrus_muc Jun 22 '21 at 05:11
  • Welcome petrus. Please don't stick "SOLVED" in a title; if the questions has been solved, post your own answer and accept it (tick the big question mark on the left side of the answer), or accept an existing answer if it is sufficient. Please take [the tour](http://raspberrypi.stackexchange.com/tour) to understand better how the site works. – goldilocks Jun 22 '21 at 13:34
  • @petrus_muc question is not obvious ... people woukd not all ask the same question ... for example `how to troubleshoot?`, `what could cause this?`, `where is the latest info?`, `did I connect the pushbutton incorrectly?` .... btw, you said nothing about how you connected the pushbutton – jsotola Jun 22 '21 at 15:35

1 Answers1

2

There seems to be widespread confusion regarding this feature - the stop-start-with-single-switch feature. And to be clear, I am often one of the more confused! Some of this confusion may be the result of unclear or out-of-date documentation, or it may be due to buggy closed-source firmware, or it may be due to multiple methods for designating GPIO pins. I was also keen to try this, and after much research, and some trial-and-error, I felt confident enough to post this answer recently. But now your answer raises new questions.

Since you've put answers in your question, I will put questions in my answer :)

  1. re dtoverlay=gpio-shutdown,gpio_pin=21: Why did you choose GPIO 21 over the default GPIO 3?

  2. the current documentation for gpio-shutdown states that active_low=1 is the default. Therefore, adding it should have no effect on your results. But something else is weird here because GPIO 3 is said to be the only way to stop and start with a single pushbutton. Yet - you seem to have done it using GPIO 21. Can you please take a look at the simple schematic in this answer, and let us know if this is the general arrangement of the switch you used?

  3. And finally, would you run this command to show the version of the EEPROM boot firmware on your system?

vcgencmd bootloader_version
Seamus
  • 18,728
  • 2
  • 27
  • 57