I used to have a Ryzen 2700X based system as a server. At the time (no clue if it’s still an issue), there was a bug in the interaction between early Ryzen chips and Linux that caused the OS to lock up intermittently. I used a ATmega32u4 board to connect to the reset switch on the PC and as a USB device with a systemd unit that sends a ping to the board every 30 seconds. If the board doesn’t see a ping for a minute, it reboots the PC. It was janky as hell, but it worked for 2+ years!
That reminds me of the old story where they positioned a PC opposite from the server and taped a pen to the CD drive so that opening the CD tray presses the reset button of the server. The PC would automatically detect when the server freezes and open the CD tray. Probably just a legend but still a great example for how a silly and simple solution that just works can often times be as good if not better than a sophisticated but over engineered solution
I used to have a Ryzen 2700X based system as a server. At the time (no clue if it’s still an issue), there was a bug in the interaction between early Ryzen chips and Linux that caused the OS to lock up intermittently. I used a ATmega32u4 board to connect to the reset switch on the PC and as a USB device with a systemd unit that sends a ping to the board every 30 seconds. If the board doesn’t see a ping for a minute, it reboots the PC. It was janky as hell, but it worked for 2+ years!
so you reinvented watchdog?
That reminds me of the old story where they positioned a PC opposite from the server and taped a pen to the CD drive so that opening the CD tray presses the reset button of the server. The PC would automatically detect when the server freezes and open the CD tray. Probably just a legend but still a great example for how a silly and simple solution that just works can often times be as good if not better than a sophisticated but over engineered solution