SBC loses connection to the mainboard after power cycling
-
I am having an issue with my Duet 3 Mini 5+ and RaspberryPi (SBC).
The issue: When the main board is powered off for some amount of time and then powered back on, the sbc (and duet web control) aren't able to remake the connection.
To set up the Raspberry Pi, I followed the guide outlined here (it is not setup using the offical DuetPi image): https://docs.duet3d.com/User_manual/Machine_configuration/DSF_Other
Steps to recreate the issue:
- Power off the Duet main board for X minutes, it appears to only lose the connection permenantly when its shut off for a while .
- Power on the Duet main board
- The Duet Web Control interface is unable to reconnect to the main board. This issue is present on both the SBC touch screen and the web interface on any computer.
I am wondering if there is some timeout or specified number of reconnect attempts that needs to be adjusted?
Like I mentioned, if the main board is powered down for only a few minutes, when the power is restored, the connection between the SBC and duet main board is automatically reestablished. It seems like the mainboard board needs to be powered down for an extended period of time for the issue to present itself.
Any help is appreciated. Thanks in advance!
-
@misterjtc I've been trying to reproduce it but so far without success with a Mini 5+, RPi 5, and v3.5.2. There is no limit for connection retries.
- How do you keep the Duet powered off? If it's connected via the shipped ribbon cable, I'd expect it to be powered from the Pi anyway (5V). To keep my board "off", I wrapped a cable tie around the board which pushes the reset button continously.
- Can you confirm the spidev buffer size is set to 8192 bytes? If it's too low, DSF and RRF may be unable to exchange data.
- If you have a spare microSD card, please try one of the official DuetPi builds. They are based on the official RPi OS, too.
- If it happens with DuetPi as well, try to log on to your Pi via SSH and check the output of
journalctl -u duetcontrolserver -ef
. This is what my output looked like after 13mins of the board being unavailable:
Sep 19 11:35:51 duet3 DuetControlServer[726]: [warn] Lost connection to Duet (Timeout while waiting for transfer ready pin) Sep 19 11:48:32 duet3 DuetControlServer[726]: [info] Connection to Duet established
After that, config.g was executed as expected.