I have a Duet 3 6HC & Raspberry Pi 4 SBC on my E3D Tool Changer
I ran an apt upgrade for duetsoftwareframework and after completion, web control just loops between connected/disconnected. Using advice I found in another thread, I opened a terminal on the SBC and ran sudo journalctl -u duetcontrolserver -ef
It seems DCS hits an exception and crashes resulting in a start/stop loop. Here's the log terminal output:
Feb 17 21:21:35 duet3 systemd[1]: Starting Duet Control Server...
Feb 17 21:21:36 duet3 DuetControlServer[11398]: Duet Control Server v3.4.6
Feb 17 21:21:36 duet3 DuetControlServer[11398]: Written by Christian Hammacher for Duet3D
Feb 17 21:21:36 duet3 DuetControlServer[11398]: Licensed under the terms of the GNU Public License Version 3
Feb 17 21:21:36 duet3 DuetControlServer[11398]: [info] Settings loaded
Feb 17 21:21:37 duet3 DuetControlServer[11398]: [info] Environment initialized
Feb 17 21:21:37 duet3 DuetControlServer[11398]: [warn] Kernel SPI buffer size is smaller than RepRapFirmware buffer size (4096 configured vs 8192 required)
Feb 17 21:21:37 duet3 DuetControlServer[11398]: [info] Connection to Duet established
Feb 17 21:21:37 duet3 DuetControlServer[11398]: [info] IPC socket created at /run/dsf/dcs.sock
Feb 17 21:21:37 duet3 systemd[1]: Started Duet Control Server.
Feb 17 21:21:38 duet3 DuetControlServer[11398]: [fatal] Abnormal program termination
Feb 17 21:21:38 duet3 DuetControlServer[11398]: [fatal] SPI task faulted
Feb 17 21:21:38 duet3 DuetControlServer[11398]: System.IO.IOException: Error 90 performing SPI data transfer.
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at LinuxApi.SpiDevice.Transfer(Byte* writeBufferPtr, Byte* readBufferPtr, Int32 buffersLength) in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/LinuxApi/SpiDevice.cs:line 141
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at LinuxApi.SpiDevice.TransferFullDuplex(ReadOnlySpan`1 writeBuffer, Span`1 readBuffer) in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/LinuxApi/SpiDevice.cs:line 121
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.SPI.DataTransfer.ExchangeData() in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 1573
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.SPI.DataTransfer.PerformFullTransfer(Boolean connecting) in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 233
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.SPI.Interface.Run() in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/SPI/Interface.cs:line 904
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.Utility.PriorityThreadRunner.<>c__DisplayClass0_0.<Start>b__0() in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/Utility/PriorityThreadRunner.cs:line 25
Feb 17 21:21:38 duet3 DuetControlServer[11398]: [fatal] SPI task faulted
Feb 17 21:21:38 duet3 DuetControlServer[11398]: System.IO.IOException: Error 90 performing SPI data transfer.
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at LinuxApi.SpiDevice.Transfer(Byte* writeBufferPtr, Byte* readBufferPtr, Int32 buffersLength) in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/LinuxApi/SpiDevice.cs:line 141
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at LinuxApi.SpiDevice.TransferFullDuplex(ReadOnlySpan`1 writeBuffer, Span`1 readBuffer) in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/LinuxApi/SpiDevice.cs:line 121
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.SPI.DataTransfer.ExchangeData() in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 1573
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.SPI.DataTransfer.PerformFullTransfer(Boolean connecting) in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/SPI/DataTransfer.cs:line 233
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.SPI.Interface.Run() in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/SPI/Interface.cs:line 904
Feb 17 21:21:38 duet3 DuetControlServer[11398]: at DuetControlServer.Utility.PriorityThreadRunner.<>c__DisplayClass0_0.<Start>b__0() in /home/runner/work/DuetSoftwareFramework/DuetSoftwareFramework/src/DuetControlServer/Utility/PriorityThreadRunner.cs:line 25
Feb 17 21:21:38 duet3 DuetControlServer[11398]: [info] Application has shut down
Feb 17 21:21:38 duet3 systemd[1]: duetcontrolserver.service: Main process exited, code=exited, status=70/SOFTWARE
Feb 17 21:21:38 duet3 systemd[1]: duetcontrolserver.service: Failed with result 'exit-code'.
Feb 17 21:21:39 duet3 systemd[1]: duetcontrolserver.service: Service RestartSec=100ms expired, scheduling restart.
Feb 17 21:21:39 duet3 systemd[1]: duetcontrolserver.service: Scheduled restart job, restart counter is at 231.
Feb 17 21:21:39 duet3 systemd[1]: Stopped Duet Control Server.
Here's my config.g: config.g
I'm not sure where to go from here. Any help is appreciated.