Duet 3HC CAN bus timeout
-
I'm using a Duet 3 6HC + Duet 3HC + Duet 1LC for some weeks now. When switching on the printer this morning I got the error message below. Already checked the cabling but couldn't find anything wrong.
Any ideas please?
14/02/2022, 11:27:41 Error: M950: Response timeout: CAN addr 1, req type 6027, RID=14
14/02/2022, 11:29:54 M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0rc1 (2022-02-09 10:28:13) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-9P63L-DJ3T0-6J1DL-3SN6Q-KS33A Used output buffers: 1 of 40 (20 max) === RTOS === Static ram: 150984 Dynamic ram: 66012 of which 0 recycled Never used RAM 130820, free system stack 200 words Tasks: SBC(ready,0.5%,502) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,797) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.5%,92) MAIN(running,90.5%,923) IDLE(ready,1.5%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:02:51 ago, cause: power up Last software reset at 2022-02-14 11:24, reason: User, GCodes spinning, available RAM 130776, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 134 MCU temperature: min 29.4, current 30.3, max 42.5 Supply voltage: min 23.8, current 23.9, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 99/30, heap memory allocated/used/recyclable 2048/436/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: pos 0, standstill, SG min 0, mspos 8, reads 43286, writes 14 timeouts 0 Driver 1: pos 0, standstill, SG min 0, mspos 8, reads 43286, writes 14 timeouts 0 Driver 2: pos 0, standstill, SG min 0, mspos 8, reads 43287, writes 14 timeouts 0 Driver 3: pos 0, standstill, SG min 0, mspos 8, reads 43287, writes 14 timeouts 0 Driver 4: pos 0, standstill, SG min 0, mspos 8, reads 43287, writes 14 timeouts 0 Driver 5: pos 0, standstill, SG min 0, mspos 8, reads 43287, writes 14 timeouts 0 Date/time: 2022-02-14 11:29:53 Slowest loop: 2.18ms; fastest: 0.05ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle 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 1421, received 3016, lost 5, boc 0 Longest wait 3ms for reply type 6053, peak Tx sync delay 5, free buffers 50 (min 49), ts 857/856/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 4, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 6356/6356 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x2bca8 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server v3.4-rc1 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 45.86, max time between full transfers: 88.0ms, max pin wait times: 1362.3ms/20.7ms Codes per second: 0.82 Maximum length of RX/TX data transfers: 3072/984
14/02/2022, 11:30:23 M122 B1 Error: M122: Response timeout: CAN addr 1, req type 6024, RID=18
14/02/2022, 11:30:40 M122 B121 Diagnostics for board 121: Duet TOOL1LC rev 1.1 or later firmware version 3.4.0rc1 (2022-02-08 09:04:48) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) All averaging filters OK Never used RAM 2656, free system stack 88 words Tasks: Move(notifyWait,0.0%,153) HEAT(notifyWait,0.3%,111) CanAsync(notifyWait,0.0%,65) CanRecv(notifyWait,0.0%,76) CanClock(notifyWait,0.0%,65) ACCEL(notifyWait,0.0%,61) TMC(delaying,3.0%,57) MAIN(running,91.8%,351) IDLE(ready,0.0%,26) AIN(delaying,4.9%,142), total 100.0% Last reset 00:03:37 ago, cause: power up Last software reset data not available Driver 0: pos 0, 562.0 steps/mm,standstill, SG min 0, read errors 0, write errors 0, ifcnt 12, reads 42985, writes 12, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 1/5, peak Rx sync delay 216, resyncs 0/0, no step interrupt scheduled VIN voltage: min 24.4, current 24.4, max 24.4 MCU temperature: min 34.9C, current 37.5C, max 37.6C Last sensors broadcast 0x00000002 found 1 100 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 3958, send timeouts 0, received 1838, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0 Accelerometer: LIS3DH, status: 00 I2C bus errors 0, naks 3, other errors 0
-
@martinnyhc is the red STATUS (formerly DIAG) LED on the 3HC flashing? It's between the two CAN connectors. Also, are the power LEDs lit?
-
@dc42 It is flashing four times....pause...four times....and so on.
-
@martinnyhc the codes flashed by the LED are listed at https://docs.duet3d.com/User_manual/Machine_configuration/CAN_connection. So it sounds as though (1) the board has been requested to load new firmware, either by a request form the main board or because all the address switches are off, and (2) the main board isn't responding to that request. That usually means a bad CAN connection.
How have you wired the CAN bus? In particular, does the CAN bus pass from the main board through the EXP3HC board before reaching the tool board? If so, then the fact that the tool board is communicating with the main board indicates that the CAN cabling to the 3HC is working to some extent at least.
-
@dc42 said in Duet 3HC CAN bus timeout:
@martinnyhc the codes flashed by the LED are listed at https://docs.duet3d.com/User_manual/Machine_configuration/CAN_connection. So it sounds as though (1) the board has been requested to load new firmware, either by a request form the main board or because all the address switches are off, and (2) the main board isn't responding to that request. That usually means a bad CAN connection.
How have you wired the CAN bus? In particular, does the CAN bus pass from the main board through the EXP3HC board before reaching the tool board? If so, then the fact that the tool board is communicating with the main board indicates that the CAN cabling to the 3HC is working to some extent at least.
Yes, correct. The 1LC ist the last in the chain. This cabling is working for nearly a year now and - as you mentioned - since the 1LC is working I don't expect it to be a cabling issue. Anyway...I double checked the cabling and it seems good.
-
@martinnyhc I can't think of anything else to check, other than that the terminators are not fitted to the 3HC board, and there is a terminator at the end of the CAN bus (after the tool board). If it's less than a year since you purchased the 3HC board then we will replace it under warranty. Please email warranty@duet3d.com with a link to this thread.
-
@dc42 I looks like it's working again I did the following:
- Took the 3HC out of the printer and inspected it
- Set all CAN bus DIP switches to off and restarted the printer
- Set CAN bus address back to 1 (DIP switch 1 ON)
- Restarted the printer
Looks good so far
-
@martinnyhc when you run M122 B1, what bootloader version does it report?
See https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_bootloader for how to update the bootloader if it is an old version (prior to version 2.3) or reported as "version not available".
-
@dc42 said in Duet 3HC CAN bus timeout:
@martinnyhc when you run M122 B1, what bootloader version does it report?
See https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_bootloader for how to update the bootloader if it is an old version (prior to version 2.3) or reported as "version not available".
Thanks
code_text14/02/2022, 16:11:29 M122 B1 Diagnostics for board 1: Duet EXP3HC firmware version 3.4.0rc1 (2022-02-08 09:04:27) Bootloader ID: not available All averaging filters OK Never used RAM 158828, free system stack 200 words Tasks: Move(notifyWait,0.0%,160) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,82) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.7%,99) MAIN(running,90.9%,414) IDLE(ready,0.0%,39) AIN(delaying,1.4%,263), total 100.0% Last reset 00:19:22 ago, cause: software Last software reset data not available Driver 0: pos 0, 574.3 steps/mm,standstill, SG min 0, mspos 8, reads 62247, writes 16 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 62247, writes 16 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 62253, writes 11 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter -1/11, peak Rx sync delay 181, resyncs 0/0, no step interrupt scheduled VIN voltage: min 24.0, current 24.0, max 24.0 V12 voltage: min 12.2, current 12.2, max 12.2 MCU temperature: min 28.6C, current 29.2C, max 29.4C Last sensors broadcast 0x00000000 found 0 105 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 13967, send timeouts 0, received 15100, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
14/02/2022, 16:12:53 Upload of Duet3Bootloader-SAME5x.bin successful after 0s
14/02/2022, 16:13:25 M997 B1 S3 Board 1 starting bootloader update
14/02/2022, 16:13:48 M122 B1 Diagnostics for board 1: Duet EXP3HC firmware version 3.4.0rc1 (2022-02-08 09:04:27) Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10) All averaging filters OK Never used RAM 158948, free system stack 200 words Tasks: Move(notifyWait,0.0%,160) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,82) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.5%,99) MAIN(running,91.2%,437) IDLE(ready,0.0%,39) AIN(delaying,1.3%,263), total 100.0% Last reset 00:00:20 ago, cause: software Last software reset data not available Driver 0: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 12746, writes 11 timeouts 0, steps req 0 done 0 Driver 1: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 12747, writes 11 timeouts 0, steps req 0 done 0 Driver 2: pos 0, 80.0 steps/mm,standstill, SG min 0, mspos 8, reads 12747, writes 11 timeouts 0, steps req 0 done 0 Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 0/8, peak Rx sync delay 177, resyncs 0/0, no step interrupt scheduled VIN voltage: min 24.0, current 24.0, max 24.0 V12 voltage: min 12.2, current 12.2, max 12.2 MCU temperature: min 29.0C, current 29.0C, max 29.2C Last sensors broadcast 0x00000000 found 0 121 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 186, send timeouts 0, received 273, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0