SBC Disconnects from Duet 3 Mini - Network error
-
Duet 3 Mini / Rasp Pi 4 8 MB - hardwired to the duet via the provided cable in the box.
I have spotty wifi in my shop. I got the SBC so I could hook a hdmi monitor and run a BT keyboard and mouse and control my printer as if I was hard wired into it - which I feel I AM ...
However; it seems that if my wifi drops out - the SBC and DWC interface can no longer control the printer!!! Even had an issue where the estop button failed I had to hit power
G28 network error - what in the world ?
This has been happening intermittently - but the print doesnt stop and the connectivity returns when the wifi to the pi returns.
Is this expected behavior?
I even opened a chromium browser on the pi and went to /localhost - usually that works reliably if needed - but even that had same issue a few times.
Surely the connectivity between the SBC / Duet cannot be reliant on wifi connectivity to the pi - can it ?
-
@sputnikoc3d I'm speculating here, but if you are accessing DWC directly from the pi, the web application should use the loopback address/localhost so connectivity issues shouldn't be an issue. Sounds like the SBC web server is misconfigured or DWC is using the LAN even though you're accessing from the local machine. Hopefully this can be fixed.
-
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.4.0beta3 (2021-08-24 14:08:24) running on Duet 3 Mini5plus Ethernet (SBC mode) Board ID: 1JDTH-UA67A-G65J0-40TFU-22D0Z-R2KLQ Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 102756 Dynamic ram: 93752 of which 12 recycled Never used RAM 44400, free system stack 120 words Tasks: SBC(resourceWait:,15.5%,324) HEAT(notifyWait,0.1%,337) Move(notifyWait,7.4%,264) CanReceiv(notifyWait,0.2%,772) CanSender(notifyWait,0.1%,364) CanClock(delaying,0.0%,337) TMC(delaying,5.9%,72) MAIN(running,66.6%,509) IDLE(ready,0.2%,29) AIN(delaying,4.1%,264), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 03:57:46 ago, cause: power up Last software reset at 2021-09-06 01:40, reason: User, GCodes spinning, available RAM 44908, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 MCU revision 3, ADC conversions started 14267038, completed 14267038, timed out 0, errs 0 Step timer max interval 1480 MCU temperature: min 28.2, current 41.2, max 41.7 Supply voltage: min 23.8, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 20387, standstill, SG min/max 0/18, read errors 0, write errors 0, ifcnt 17, reads 51688, writes 17, timeouts 0, DMA errors 0 Driver 1: position -1243, standstill, SG min/max 0/18, read errors 0, write errors 0, ifcnt 17, reads 51688, writes 17, timeouts 0, DMA errors 0 Driver 2: position 2428, standstill, SG min/max 0/18, read errors 0, write errors 0, ifcnt 17, reads 51688, writes 17, timeouts 0, DMA errors 0 Driver 3: position 0, standstill, SG min/max 0/26, read errors 0, write errors 0, ifcnt 17, reads 51688, writes 17, timeouts 0, DMA errors 0 Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 51696, writes 9, timeouts 0, DMA errors 0 Driver 5: position 0, ok, SG min/max 0/378, read errors 0, write errors 0, ifcnt 42, reads 51663, writes 42, timeouts 0, DMA errors 0 Driver 6: position 0, ok, SG min/max 0/376, read errors 0, write errors 0, ifcnt 38, reads 51667, writes 38, timeouts 0, DMA errors 0 Date/time: 2021-09-08 01:02:13 Cache data hit count 4294967295 Slowest loop: 78.36ms; fastest: 0.06ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 0.0MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 33, maxWait 1946474ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 203038, completed moves 203002, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 2], CDDA state 3 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1, chamberHeaters = -1 -1 Heater 0 is on, I-accum = 0.1 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 1 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File* is doing "G1 X122.500000 Y116.871002 E0.041140" in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue* is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === CAN === Messages queued 315891, received 286422, lost 0, longest wait 4ms for reply type 4012, peak Tx sync delay 289, free buffers 17 (min 4), ts 71335/71334/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === State: 4, failed transfers: 1, checksum errors: 4 Last transfer: 11ms ago RX/TX seq numbers: 43366/43366 SPI underruns 0, overruns 0 Disconnects: 1, timeouts: 0, IAP RAM available 0x10810 Buffer RX/TX: 864/2280-0 === Duet Control Server === Duet Control Server v3.4-b3 File: Buffered code: G1 X122.500 Y116.871 E0.04114 Buffered code: G1 X121.162 Y117.083 E0.04114 Buffered code: G1 X120.097 Y117.626 E0.03631 Buffered code: M204 P1000 Buffered code: G1 X119.647 Y118.568 F12000 Buffered code: G1 F3600 Buffered code: M204 P800 Buffered code: G1 X119.647 Y107.214 E0.34490 Buffered code: G1 X124.486 Y107.214 E0.14700 Buffered code: G1 X124.486 Y117.859 E0.32335 Buffered code: G1 X123.713 Y117.465 E0.02633 Buffered code: G1 X122.500 Y117.273 E0.03732 Buffered code: G1 X121.287 Y117.465 E0.03732 Buffered code: G1 X120.476 Y117.878 E0.02762 Buffered code: G1 X120.397 Y117.911 E0.00262 Buffered code: G1 X120.168 Y118.047 E0.00809 Buffered code: G1 X119.689 Y118.526 E0.02057 Buffered code: M204 P1000 Buffered code: G1 X119.539 Y119.344 F12000 Buffered code: G1 F3600 Buffered code: M204 P800 Buffered code: G1 X119.250 Y119.274 E0.00903 Buffered code: G1 X119.250 Y106.817 E0.37839 Buffered code: G1 X124.451 Y106.817 E0.15801 Buffered code: G1 X124.616 Y106.843 E0.00506 Buffered code: G1 X124.722 Y106.897 E0.00363 Buffered code: G1 X124.819 Y106.994 E0.00416 Buffered code: G1 X124.868 Y107.112 E0.00387 Buffered code: G1 X124.875 Y107.197 E0.00260 Buffered code: G1 X124.883 Y107.249 E0.00158 Buffered code: G1 X124.883 Y118.659 E0.34662 Buffered code: G1 X124.572 Y118.348 E0.01336 ==> 1440 bytes Code buffer space: 1816 Configured SPI speed: 8000000Hz Full transfers per second: 7.36, max wait times: 61.1ms/19.5ms Codes per second: 2.95 Maximum length of RX/TX data transfers: 3704/1560 File /opt/dsf/sd/gcodes/6xLever_3mm.gcode is selected, processing
9/8/2021, 1:02:05 AM Connection established 9/8/2021, 12:49:37 AM Connection interrupted, attempting to reconnect... Network error 9/7/2021, 10:55:48 PM Connection established
-
Crickets ?
Seems kinda big issue and one thats prior known - is there a article or thread that shows a resolution i cannot locate it via search here or on google
-
@sputnikoc3d The m122 output shows some errors with the SPI connection between the Duet and rPi (1 disconnect, 1 failed transfer and 4 checksum errors). The dsf log on the rPi may show more. This often indicates that there is some sort of electrical noise on the connection between the two boards. Perhaps a picture of how you have the two boards connected would provide some clues as to what the problem is?
-
Pics removed ... those were old and a temp setup - got underneath it and took a new photo or two --- its same pretty much but with no CLIP on there - Id forgotten I used that t form the cable over night with no power ... Ive zip tied it since
-
@gloomyandy - good catches - but will be interesting to see how this relates to wifi networking not working at the same time these failures occur ... odd coincidence perhaps ?
-
-
@Phaedrux - any chance you can point me in the right direction here for threads to read - Ive don quite a bit of searching. I find some threads with related issues I think, but none of them seem to have a resolution. Several just end up ditching the SBC and go stand alone ...
I want the pi for the video out and user interface inputs vs. a panel due.
the loss of connectivity kills my objectives.
-
@sputnikoc3d you could try making up your own shorter cable. It only uses 5 or 6 connections
-
@jay_s_uk - actually - pretty good idea. I hadnt seen that was a possible issue but Im not too happy with the way that is now - lol, and if it helps - then win-win.
-
@dc42 Hey man. Any help here?
-
@sputnikoc3d said in SBC Disconnects from Duet 3 Mini - Network error:
I even opened a chromium browser on the pi and went to /localhost - usually that works reliably if needed - but even that had same issue a few times.
Surely the connectivity between the SBC / Duet cannot be reliant on wifi connectivity to the pi - can it ?How are you accessing DWC if not through localhost on the pi?
If the print hasn't been interrupted than the duet and pi are still in communication.
Did you turn on the local logging on the Pi?
https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Monitoring_optional
-
@phaedrux - when my system boots it automatically loads DWC in an interface that seems to be a modified chromium window in full screen mode - I see some info about ... DCS - not sure what that is.
I did not turn on local logging - wasnt aware that I was supposed to.
I am definately noe getting prints interrupted .. however if I want to say STOP the print - I get network error
If I want to M572 more PA - i get errors
If I wanted to increase fan speed - network error
Increase temps or lower temps - network errors - intermittently and usually when I see that the wifi network is temporarily not associated" with the network I see 2 red x on the network indicator icon upper rt cornerwith a phrase like ... machine not associated with wlan0
-
Funny I come across this, I had a customer who's mini would disconnect from his tablet he was using as an AP and then reboot. And would happen randomly but only in print. Haven't been able to replicate it. Updated his firmware but still happens on occasion. Was going to take him a proper wifi AP when he gets back from his trip and see if it helps. He's running in stand alone mode though.
-
@shauncro - but why should my wifi access point's functionality impact duet 3 mini and rpi 4 communicating over SPI cabled connection ?
-
Instruction state:
Once done, run
ls /dev/spidev*
and verify that /dev/spidev0.0 has been created.Mine is - /dev/spidev0.1
-
sudo /opt/dsf/bin/DuetWebServer info: Microsoft.Hosting.Lifetime[0] Now listening on: http://[::]:80 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Production info: Microsoft.Hosting.Lifetime[0] Content root path: /home/pi info: DuetWebServer.Services.ModelObserver[0] Connections to DuetControlServer established info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://das-voron/machine - - info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[5] CORS policy execution failed. info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[6] Request origin http://das-voron does not have permission to access the resource. info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint 'DuetWebServer.Controllers.WebSocketController.Get (DuetWebServer)' info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3] Route matched with {action = "Get", controller = "WebSocket"}. Executing controller action with signature System.Threading.Tasks.Task Get() on controller DuetWebServer.Controllers.WebSocketController (DuetWebServer). info: DuetWebServer.Controllers.WebSocketController[0] WebSocket connected from ::ffff:127.0.0.1:53116 info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://das-voron/machine/directory/0:%2Fmacros application/json - info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint 'DuetWebServer.Controllers.MachineController.GetFileList (DuetWebServer)' info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3] Route matched with {action = "GetFileList", controller = "Machine"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetFileList(System.String) on controller DuetWebServer.Controllers.MachineController (DuetWebServer). info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/1.1 GET http://das-voron/machine/directory/0:%2Fgcodes application/json - info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint 'DuetWebServer.Controllers.MachineController.GetFileList (DuetWebServer)' info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3] Route matched with {action = "GetFileList", controller = "Machine"}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] GetFileList(System.String) on controller DuetWebServer.Controllers.MachineController (DuetWebServer). info: Microsoft.AspNetCore.Mvc.Infrastructure.ContentResultExecutor[1] Executing ContentResult with HTTP Response ContentType of application/json info: Microsoft.AspNetCore.Mvc.Infrastructure.ContentResultExecutor[1] Executing ContentResult with HTTP Response ContentType of application/json info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2] Executed action DuetWebServer.Controllers.MachineController.GetFileList (DuetWebServer) in 279.0607ms info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2] Executed action DuetWebServer.Controllers.MachineController.GetFileList (DuetWebServer) in 149.8088ms info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint 'DuetWebServer.Controllers.MachineController.GetFileList (DuetWebServer)' info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint 'DuetWebServer.Controllers.MachineController.GetFileList (DuetWebServer)' info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://das-voron/machine/directory/0:%2Fmacros application/json - - 200 545 application/json 374.4218ms info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished HTTP/1.1 GET http://das-voron/machine/directory/0:%2Fgcodes application/json - - 200 297 application/json 214.1152ms
-
@sputnikoc3d It might help if you post a picture of the browser interface you are using showing the errors you are getting. I assume that you are using the interface displayed on the screen you have attached to the rPi and it is on this screen that you are seeing errors?
It would also help if you explain exactly what it is you are doing and when you get the errors. So for instance, do you get an error if you boot the printer and just leave it alone? What happens if before you start a print you enter commands in the DWC (the web display console), do you get errors then? If you start a print and do not enter any commands after that does the print complete? Do you get any errors?
-
pi@das-voron:~ $ sudo /opt/dsf/bin/DuetControlServer -l debug Duet Control Server v3.4-b3 Written by Christian Hammacher for Duet3D Licensed under the terms of the GNU Public License Version 3 [info] Settings loaded [info] Environment initialized [info] Connection to Duet established [info] IPC socket created at /var/run/dsf/dcs.sock [debug] Updated key limits [debug] Assigning filament V2-SnoLabs PC-CF Dragonfly to extruder drive 0 [debug] Requesting update of key boards, seq 0 -> 103 [debug] Updated key boards [debug] Requesting update of key directories, seq 0 -> 0 [debug] Updated key directories [debug] Requesting update of key fans, seq 0 -> 6 [debug] Updated key fans [debug] Requesting update of key global, seq 0 -> 0 [debug] Updated key global [debug] Requesting update of key heat, seq 0 -> 10 [debug] Updated key heat [debug] Requesting update of key inputs, seq 0 -> 153 [debug] Updated key inputs [debug] Requesting update of key job, seq 0 -> 7 [debug] Updated key job [debug] Requesting update of key move, seq 0 -> 1338 [debug] Updated key move [debug] Requesting update of key network, seq 0 -> 3 [debug] Updated key network [debug] Requesting update of key scanner, seq 0 -> 1 [debug] Updated key scanner [debug] Requesting update of key sensors, seq 0 -> 58 [debug] Updated key sensors [debug] Requesting update of key spindles, seq 0 -> 0 [debug] Updated key spindles [debug] Requesting update of key state, seq 0 -> 1 [debug] Updated key state [debug] Requesting update of key tools, seq 0 -> 6 [debug] Updated key tools [debug] Requesting update of key volumes, seq 0 -> 0 [debug] Updated key volumes [debug] Requesting update of key move, seq 1338 -> 1339 [debug] Updated key move [debug] IPC#2: Got new UNIX connection, checking permissions... [debug] IPC#2: Granting full DSF permissions to external plugin [debug] IPC#2: Subscription processor registered in Patch mode [debug] IPC#3: Got new UNIX connection, checking permissions... [debug] IPC#3: Granting full DSF permissions to external plugin [debug] IPC#3: Command processor added [debug] IPC#3: Received command ResolvePath [debug] IPC#4: Got new UNIX connection, checking permissions... [debug] IPC#4: Granting full DSF permissions to external plugin [debug] IPC#4: Subscription processor registered in Patch mode [debug] IPC#5: Got new UNIX connection, checking permissions... [debug] IPC#5: Granting full DSF permissions to external plugin [debug] IPC#5: Command processor added [debug] IPC#5: Received command AddUserSession [debug] IPC#6: Got new UNIX connection, checking permissions... [debug] IPC#6: Granting full DSF permissions to external plugin [debug] IPC#6: Command processor added [debug] IPC#6: Received command ResolvePath [debug] IPC#7: Got new UNIX connection, checking permissions... [debug] IPC#7: Granting full DSF permissions to external plugin [debug] IPC#7: Command processor added [debug] IPC#7: Received command ResolvePath [debug] IPC#7: Connection closed [debug] IPC#6: Connection closed