SOLVED Firmware meltdown after resume



  • Hi All,

    I'm having some interesting issues printing large files on the duet wifi. I started up a 185Mb print file last night and this morning found that my printer reset itself. My initial assumption was that a copper brush (for cleaning) shorted the Z-probe during tool change so I tried to confirm the diagnosis by repeatedly running the cleaning code. The code ran fine each time and the electronics were nowhere near the copper brush so I don't believe this was the issue.

    Ultimately I decided to resume the print by re-homing and manually editing the gcode as the resurrect file didn't capture the stoppage point. The print restarted fine so after a few minutes I pressed my luck with a pause-resume to see if I could replicate and witness the prior issue.

    Upon resume the printer started going crazy. extruder and x/y movements were way off from one another. The nozzle would lay down a line, freeze up mid-move intermittently and then speedup, repeat at random followed by trying to extruded so much filament that I now have globs of plastic on the print surface (see photo). This only seems to happen on large print files and its completely random on timing of freeze-up, the only thing that I could find consistent is that it happens every time after resume from pause.

    Here's the M122 diagnostics data:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.0(RTOS) running on Duet WiFi 1.02 or later + DueX5
    Board ID: 08DGM-95BLL-N6PSS-6JTD8-3SD6S-9KTBL
    Used output buffers: 1 of 20 (14 max)
    === RTOS ===
    Static ram: 28380
    Dynamic ram: 96448 of which 0 recycled
    Exception stack ram used: 412
    Never used ram: 5832
    Task NETWORK ready, free stack 324
    Task HEAT blocked, free stack 824
    Task MAIN running, free stack 3568
    === Platform ===
    Last reset 11:50:02 ago, cause: power up
    Last software reset time unknown, reason: Hard fault, spinning module GCodes, available RAM 12 bytes (slot 1)
    Software reset code 0x4033 HFSR 0x40000000, CFSR 0x00008200, ICSR 0x0041f803, BFAR 0x43910046, SP 0x20004934
    Stack: 0041e831 0041f214 21000000 200143e8 0041e173 200143e8 00000001 0000000a 20000178 200001d8 0000008d 00000001 20004c6c 20013ec8 a5a5a5a5 20002b78 0044c6fb 200001d8 00000000 0000000a 2000b490 2000a428 2000b490 0000008d
    Error status: 16
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 465.3ms
    MCU temperature: min 37.1, current 38.8, max 43.2
    Supply voltage: min 11.5, current 11.9, max 12.1, under voltage events: 0, over voltage events: 0
    Driver 0: standstill, SG min/max 0/0
    Driver 1: standstill, SG min/max 0/0
    Driver 2: standstill, SG min/max 0/0
    Driver 3: standstill, SG min/max 0/126
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max not available
    Driver 6: standstill, SG min/max 0/1023
    Driver 7: standstill, SG min/max 0/1023
    Driver 8: standstill, SG min/max 0/0
    Driver 9: standstill, SG min/max 0/0
    Expansion motor(s) stall indication: yes
    Date/time: 2020-07-24 19:21:31
    Slowest loop: 219.35ms; fastest: 0.07ms
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm 224, MaxWait: 4161101191ms, Underruns: 18, 0
    Scheduled moves: 90, completed moves: 90
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 7 -1 -1 -1, chamberHeaters = 5 6
    Heater 1 is on, I-accum = 0.6
    Heater 5 is on, I-accum = 0.0
    Heater 7 is on, I-accum = 0.2
    === GCodes ===
    Segments left: 0
    Stack records: 2 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 467.15ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is providing access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.21
      WiFi MAC address ee:fa:bc:0b:fb:8e
      WiFi Vcc 3.38, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 15960
      WiFi IP address 192.168.1.1
      Connected clients 1
      Socket states: 0 0 0 0 0 0 0 0
      === Expansion ===
      DueX I2C errors 0


  • @Print3d said in Firmware meltdown after resume:

    l

    Picture of globs formed during freeze:Print Puddle.jpg


  • Moderator

    @Print3d said in Firmware meltdown after resume:

    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.0

    Your firmware is quite out of date and there have been many bug fixes since then. I seem to recall something similar to this maybe. I would suggest updating to at least 2.05.1. There have been a few other changes which may require some config modifications so take a look through the release notes for the intervening versions. 2.05.1 is the last version of RRF2. We're now on to RRF3.1.1 actually, but the jump to 3.x is a bit more substantial.

    https://github.com/Duet3D/RepRapFirmware/blob/dev/WHATS_NEW.md

    https://github.com/Duet3D/RepRapFirmware/releases/tag/2.05.1

    The easiest way to update is to upload the entire zip file as is to the /sys folder via DWC.
    https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip



  • Thank you! I updated to 3.1.1 which seemed to have resolved that specific issue.


  • Moderator

    Glad you got it sorted out.


Log in to reply