Stuck in update loop


Hi. I powered up Piper today to install the latest updates and get Piper Code. The Piper updater ran, then restarted and said, “One more update is required. Please make sure your battery is at least 75%…” etc. That update progress bar went to around 30%, then the updater restarted and the process continued. Over and over again. Every time Piper starts, I get the same “One more updated is required…”

Quit cancel, and Piper Code seems to start up OK. I’ve run the script in the Devs’ thread, without success. Just running a dist-upgrade now (as suggested on another older thread) to see how that goes.

One other thing - I run a local nameserver which is needed to resolve an apt-cache proxy on my local network. Piper keeps overwriting /etc/resolv.conf and removing my local nameserver address, which then results in name resolution failures.

I commented out the relevant line in, and that allowed the script to complete. I also added the prepend-domain-name-servers line in /etc/dhcp/dhclient.conf, but that hasn’t worked - I need to edit /etc/resolv.conf every time Piper reboots. :frowning:

The other setting that never seems to stick is keeping ssh enabled. I have to reset that after every reboot as well. It is much easier doing CLI management via SSH from my desktop, but something keeps overwriting that setting too.

Any ideas? Is there a new SD card image with Piper Code available yet? That might be a last resort…



So the problem appears to be associated with Pipernet Beta. If I click “Cancel”, the new Piper main menu shows up. I can click “Play Storymode” and story mode appears to load OK (haven’t tried any levels yet). Click “Back” to the menu and choose “Pipernet Beta” and I start getting the “One more update needed” messages. Cancel out of that a couple of times, then click “Piper Code”, and Piper Code loads up OK too.



And clicking “Update” on the new Piper menu screen reports, “Your system is up to date.”


OK, after the apt-get dist-upgrade finished, and Piper’s update ran one more time, Piper would not start. Ran, and now Piper runs, but now:

  • Piper repeatedly restarts when attempting to exit to the desktop.
  • Piper restarts over the top of Piper Code when starting Piper Code from the menu
  • Clicking Pipernet-Beta reboots the Pi, every time.


Found another issue - Pipercode wasn’t running, which was why Piper was restarting immediately. Ran pipercode from ~/pipercode/ and it crashed due to a missing libwiringpi. Somehow wiringpi got uninstalled during the upgrade process. Ran apt-get install wiringpi and Pipercode runs again. Everything seems to be settling down now.

Also found where ssh was being disabled - in the startup script for piper. :frowning: Commented that out but it will probably get overwritten during an upgrade. At least I know why the setting wasn’t sticking.


Hmmm…spoke too soon.

Booted Piper - Piper started up OK.
Story mode starts OK.
Clicked “Pipercode - Make” - Piper restarted immediately.
Clicked “exit to desktop” - Piper closed, revealing Pipercode running at its startup screen, then Piper started again immediately, obscuring Pipercode. I can switch between Piper and Pipercode using alt-tab on the kb.
Exit Pipercode - Piper starts again, so now there’s 2 copies running?
Exit to desktop - Piper restarts immediately.
Exit to desktop - Piper restarts immediately
Exit to desktop - Piper restarts immediately. Click on video to stop it playing - video exits showing Piper updater running. Right click on task-bar icon, select “Close Window”. Finally back at the desktop.

Something is looping when it shouldn’t…


Found autostart entries in the following locations:
/etc/xdg/lxsession/LXDE-pi/autostart (running @sh /home/pi/piper/game/boot_files/Piper2)
/home/pi/.config/lxsession/LXDE-pi/autostart (also running @sh /home/pi/piper/game/boot_files/Piper2)
plus the template file for the previous 2 in /home/pi/piper/game/boot_files/autostart/

Got rid of all of these - rebooted. Piper didn’t start on boot. Good. Expected.
Started Piper manually - started normally. Good.
Exit to desktop - exited cleanly. Good.
Restart Piper. OK. Good.
Start Pipercode from Piper menu. Piper exited cleanly, Pipercode started. Good.
Exit Pipercode - Piper restarted. Good.

Now, lets add back just 1 autostart entry. Probably in the users home folder. Try /home/pi/.config/lxsession/LXDE-pi/autostart.

Logout, log back in as Pi.
Piper autostarts. Good.
Exit to desktop. Piper restarts automatically. Bad.
Exit to desktop. Piper restarts automatically. Bad.

Comment out the autostart line again - reboot.
Auto logged in, Piper didn’t start. Good.
Start Piper manually - OK. Good.
Exit to desktop - exits cleanly. Good.

Let’s live without autostart - the kids will want to go straight to Pipercode anyway, until there are new levels for story mode (they finished all the current levels more than a year ago).


Hi Rodney,

That sounds like quite the update process you went through, but glad you figured out a solution that worked for your unique case! The second update prompt with message, “One more update is required. Please make sure your battery is at least 75%…” is normal (and required when updating from older versions less than v2.1.0), but on average this update is relatively fast up to 96%, with the final 4% taking up to 10-minutes to complete.

One additional note, clicking on “PiperNet - beta” will indeed reboot the Pi because specific video drivers need to be enabled before play. Along with PiperCode, PiperNet - beta is another new feature in the latest release. It includes an online multiplayer open-world environment for kids to explore, make and interact with others in the Piper community from all around the globe!

Thanks for the detailed feedback!


  • Jordan