RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Mausberry Shutdown Script Doesn't Save Metadata

    Scheduled Pinned Locked Moved ControlBlock, PowerBlock & Co.
    mausberry
    251 Posts 10 Posters 95.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • cyperghostC
      cyperghost
      last edited by cyperghost

      @lostless If you are obsessed by a woman or passionated by a women makes a big difference.
      If you don't know then ask a judge and a producer of love toys what the difference is :)

      lostlessL 1 Reply Last reply Reply Quote 0
      • lostlessL
        lostless @cyperghost
        last edited by lostless

        @cyperghost getting all philosophical on me? Lets not derail to far, but i think i clearly under stand the difference between obsession and passion. Obsession is passion gone too far, when there is no need to keep going. When all is lost, yet you continue. When the path has reached its end and you gone over the cliff. I think I'm done.................. :/

        1 Reply Last reply Reply Quote 2
        • cyperghostC
          cyperghost
          last edited by cyperghost

          @lostless You're right. You may help us in outfinding the best sleeptimer :) That's your passion :) you can also use floating number like 2.5 to pause

          1 Reply Last reply Reply Quote 0
          • hansolo77H
            hansolo77
            last edited by

            You guys are awesome. I haven't tried 1.5b (adding proper exit out of the loop) on my own system yet, but it sounds like you got it working. I hate not being home today to participate more. :) Thanks everybody! When I get a chance, I will put it into place and report back my own findings.

            Who's Scruffy Looking?

            1 Reply Last reply Reply Quote 1
            • meleuM
              meleu @cyperghost
              last edited by

              @cyperghost

              bug report

              Our method to kill the command placed on the 4th line of /dev/shm/runcommand.info fails to kill ScummVM emulator. This is why:

              [prompt]$ sed -n 4p /dev/shm/runcommand.info
              bash /home/meleu/RetroPie/roms/scummvm/+Start\ ScummVM.sh "ft"
              

              Then our approach kills bash processes.

              I'm currently trying to find a strong solution. Will post it soon...

              • Useful topics
              • joystick-selection tool
              • rpie-art tool
              • achievements I made
              1 Reply Last reply Reply Quote 0
              • meleuM
                meleu
                last edited by meleu

                @hansolo77 @lostless @cyperghost

                Can you guys test this one? Let's call it v1.7:

                #!/bin/bash -x
                # Before using this script you need to install inotify-tools:
                #
                #    sudo apt-get install inotify-tools
                #
                # I'm just trying to help with the script logic here.
                # I DON'T HAVE A MAUSBERRY AND DIDN'T TEST THE GPIO STUFF HERE!
                #
                #########################################################
                #  U S E   I T   A T   Y O U R   O W N   R I S K ! ! !  #
                #########################################################
                #
                # meleu - July/2017
                # kudos for @cyperghost , who is very persistent in help you guys! :-)
                
                #this is the GPIO pin connected to the lead on switch labeled OUT
                GPIOpin1=23
                
                #this is the GPIO pin connected to the lead on switch labeled IN
                GPIOpin2=24
                
                echo "$GPIOpin1" > /sys/class/gpio/export
                echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
                echo "$GPIOpin2" > /sys/class/gpio/export
                echo "out" > /sys/class/gpio/gpio$GPIOpin2/direction
                echo "1" > /sys/class/gpio/gpio$GPIOpin2/value
                
                file="/sys/class/gpio/gpio$GPIOpin1/value"
                
                # up to here this code is executed at booting (/etc/rc.local)
                # let's wait for the creation of the "/sys/class/gpio/gpio$GPIOpin1/value"
                sleep 30 # not sure if 30 seconds is a good value...
                
                while inotifywait -qq -e modify "$file" ; do
                    power="$(cat "$file")"
                    [[ "$power" == 0 ]] && continue
                
                    # explaining the crazy command below:
                    # 1. get 4th line of runcommand.info (aka "emulator command")
                    # 2. delete backslash '\' character
                    # 3. replace every character that has a special meaning in a regex context with a dot '.'
                    emu_command="$(sed -n 4p /dev/shm/runcommand.info | tr -d '\\"' | tr '^$[]*.()|+?{}' '.')"
                    [[ -n "$emu_command" ]] && pkill -f "$emu_command" && sleep 10
                
                    espid=$(pgrep -f "/opt/retropie/supplementary/.*/emulationstation([^.]|$)")
                    if [[ "$espid" ]]; then
                        touch /tmp/es-shutdown && chown pi:pi /tmp/es-shutdown
                        kill "$espid"
                        exit
                    fi
                
                    sudo poweroff
                done
                

                I did a trick for debugging, then if this script doesn't work, please perform this command:

                grep 'rc\.local' /var/log/syslog > debug.log
                

                It creates a file named debug.log paste its conten in ghostbin.com or something similar.

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                lostlessL 1 Reply Last reply Reply Quote 0
                • lostlessL
                  lostless @meleu
                  last edited by

                  @meleu still did not work. I did the grep thing and can't find the syslog directory to find debug.log. also i don't have the /sys/class/gpio/gpio$GPIOpin1 directory. not sure if thats useful, but trying to help.

                  meleuM 1 Reply Last reply Reply Quote 0
                  • meleuM
                    meleu @lostless
                    last edited by

                    @lostless please, paste here the output of these commands:

                    ls -l /var/log/syslog
                    

                    and

                    ls -lah /sys/class/gpio/*
                    
                    • Useful topics
                    • joystick-selection tool
                    • rpie-art tool
                    • achievements I made
                    lostlessL 1 Reply Last reply Reply Quote 0
                    • lostlessL
                      lostless @meleu
                      last edited by

                      first

                      -rw-r----- 1 root adm 2281836 Jul 29 03:38 /var/log/syslog
                      

                      second

                      -rwxrwx--- 1 root gpio 4.0K Jul 29 02:50 /sys/class/gpio/export
                      lrwxrwxrwx 1 root gpio    0 Jul 29 02:50 /sys/class/gpio/gpio23 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio23
                      lrwxrwxrwx 1 root gpio    0 Jul 29 02:50 /sys/class/gpio/gpio24 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio24
                      lrwxrwxrwx 1 root gpio    0 Jul 29 02:50 /sys/class/gpio/gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
                      lrwxrwxrwx 1 root gpio    0 Jul 29 02:50 /sys/class/gpio/gpiochip100 -> ../../devices/gpiochip2/gpio/gpiochip100
                      lrwxrwxrwx 1 root gpio    0 Jul 29 02:50 /sys/class/gpio/gpiochip128 -> ../../devices/gpiochip1/gpio/gpiochip128
                      -rwxrwx--- 1 root gpio 4.0K Jul 29 02:50 /sys/class/gpio/unexport
                      
                      meleuM 1 Reply Last reply Reply Quote 0
                      • meleuM
                        meleu @lostless
                        last edited by

                        @lostless

                        now these:

                        cd
                        grep rc.local /var/log/syslog* > debug.log
                        ls -l debug.log
                        
                        • Useful topics
                        • joystick-selection tool
                        • rpie-art tool
                        • achievements I made
                        1 Reply Last reply Reply Quote 0
                        • lostlessL
                          lostless
                          last edited by lostless

                          -rw-r--r-- 1 pi pi 16656 Jul 29 03:44 debug.log
                          

                          i found a debug.log in the home (~) directory

                          meleuM 1 Reply Last reply Reply Quote 0
                          • meleuM
                            meleu @lostless
                            last edited by

                            @lostless open this file on your Windows (I'm assuming you're using Windows), select all text and paste on ghostbin.com

                            • Useful topics
                            • joystick-selection tool
                            • rpie-art tool
                            • achievements I made
                            lostlessL 1 Reply Last reply Reply Quote 0
                            • lostlessL
                              lostless @meleu
                              last edited by

                              @meleu nope mac. I can boot into windows if need be.

                              meleuM 1 Reply Last reply Reply Quote 0
                              • meleuM
                                meleu @lostless
                                last edited by

                                @lostless nop, I just need you to copy the entire file

                                • Useful topics
                                • joystick-selection tool
                                • rpie-art tool
                                • achievements I made
                                lostlessL 1 Reply Last reply Reply Quote 0
                                • lostlessL
                                  lostless @meleu
                                  last edited by

                                  @meleu
                                  its just

                                  /var/log/syslog:Jul 23 06:28:29 genepi systemd[1]: Starting /etc/rc.local Compatibility...
                                  /var/log/syslog:Jul 23 06:28:29 genepi systemd[1]: Started /etc/rc.local Compatibility.
                                  

                                  over and over with different dates and times. nothing else.

                                  meleuM 1 Reply Last reply Reply Quote 0
                                  • meleuM
                                    meleu @lostless
                                    last edited by

                                    @lostless now I need you to do the same thing for /etc/rc.local and /etc/switch.sh (the last one is supposed to be my v1.7 script, but please, paste it on ghostbin so I can really check if everything is fine)

                                    • Useful topics
                                    • joystick-selection tool
                                    • rpie-art tool
                                    • achievements I made
                                    1 Reply Last reply Reply Quote 0
                                    • lostlessL
                                      lostless
                                      last edited by lostless

                                      /etc/rc.local
                                      https://ghostbin.com/paste/goucc

                                      /switch.sh
                                      https://ghostbin.com/paste/5agap

                                      meleuM 1 Reply Last reply Reply Quote 1
                                      • meleuM
                                        meleu @lostless
                                        last edited by

                                        @lostless

                                        ls -l /etc/switch.sh
                                        
                                        • Useful topics
                                        • joystick-selection tool
                                        • rpie-art tool
                                        • achievements I made
                                        1 Reply Last reply Reply Quote 0
                                        • lostlessL
                                          lostless
                                          last edited by

                                          @meleu said in Mausberry Shutdown Script Doesn't Save Metadata:

                                          ls -l /etc/switch.sh

                                          -rwxrwxrwx 1 root root 1889 Jul 29 02:42 /etc/switch.sh
                                          
                                          meleuM 1 Reply Last reply Reply Quote 0
                                          • meleuM
                                            meleu @lostless
                                            last edited by meleu

                                            @lostless
                                            damn! I'm not getting what's wrong! Let's try this:

                                            sudo bash -x /etc/switch.sh & 2> /home/pi/script-debug.txt
                                            

                                            And then press the f%#&ing button. Pretty please... :)

                                            It should turn off your pi...

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            lostlessL 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.