Network loss, then FW crash when re-enabling networking.



  • I just had a weird crash, and I thought I would share the M122 dump just in case it is useful.

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet Ethernet 1.02 or later + DueX2
    Board ID: 08DGM-956GU-DJMSN-6J9D4-3SJ6K-1BNBF
    Used output buffers: 3 of 24 (7 max)
    === RTOS ===
    Static ram: 25712
    Dynamic ram: 93564 of which 0 recycled
    Exception stack ram used: 320
    Never used ram: 11476
    Tasks: NETWORK(ready,676) HEAT(blocked,1232) DUEX(suspended,160) MAIN(running,3752) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 00:01:16 ago, cause: software
    Last software reset at 2020-02-22 11:09, reason: Stuck in spin loop, spinning module GCodes, available RAM 11136 bytes (slot 1)
    Software reset code 0x4043 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x20001f8c Task 0x5754454e
    Stack: 00404463 004047e4 21000000 00000000 40e5a180 00000000 00000000 3331bb4c 41880000 3e178897 3e1cd04f 3cc43ae6 42164bcf c0d33333 47690900 37d33333 4354c416 00000000 40b14e00 80000010 00404459 000003e8 00404aa9
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 29.0, current 30.4, max 30.7
    Supply voltage: min 24.4, current 24.6, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max not available
    Driver 1: standstill, SG min/max not available
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max not available
    Driver 6: standstill, SG min/max not available
    Date/time: 2020-02-22 11:11:30
    Cache data hit count 154585956
    Slowest loop: 55.64ms; fastest: 0.07ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 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: 7.56ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex
    

    I was testing my extruder. I began extruding 2 m of filament at 4 mm/s, and it was going fine. Partway through, the network connection was lost to the web interface but paneldue was still responding. Fine, this happens sometimes. It's been better lately, though, so I wasn't upset.

    After the extruder stopped going, I went to the panel due to reset the networking. The console did not reply when I sent M552 S0. Then it didn't reply when I sent S1. Then I noticed that it would respond to my commands, and the networking was back.

    Then, I realized it had just completely reset, and temps were no longer active.

    Then I came here to post the M122 so that it wasn't lost to uselessness.

    Cheers!

    Here is my current config.g, though the extruder max speed was altered to be only 4 mm/s, but also being commanded to move at exactly 4 mm/s through a G0 command sent via web interface.

    ; Configuration file for Duet Ethernet with Duex2 (initial firmware version 2.02, current 2.05.1)
    ; Modified config.g originally generated by RRF Config tool v2 on 2019 MAR 28
    ;
    ; Addiform IDEX Prototype S/N: 1
    ;
    ; Last modified:
    ; 2020 Feb 21: E max speed reduced to 12 mm/s. Config complete, accel/jerk near finalized (Z might need attention). NaB
    ;
    
    ; General preferences
    M111 S0                                         ; Set debug mode off
    G90                                             ; Send absolute coordinates...
    M83                                             ; ...but relative extruder moves
    M912 P0 S-6.6                                   ; Set MCU temp offset
    
    ; Network
    M550 P"IDEX 1"                                  ; Set machine name
    ;M551 Phunter2                                 ; Set machine password
    M552 P0.0.0.0 S1                                ; Enable network and acquire dynamic address via DHCP
    
    ; Drives
    M569 P0 S1                                      ; Drive 0 goes forwards (X Axis)
    M569 P1 S1                                      ; Drive 1 goes forwards (Y Axis)
    M569 P2 S0                                      ; Drive 2 goes backwards (Z Axis)
    M569 P3 S0                                      ; Drive 3 goes backwards (E0 Axis)
    M569 P4 S0                                      ; Drive 4 goes backwards (E1 Axis)
    M569 P5 S1                                      ; Drive 5 goes forwards (U Axis)
    M569 P6 S1                                      ; Drive 6 goes forwards (Unassigned)
    M584 X0 Y1 Z2 E3:4 U5                           ; Configure drive mapping listed above, creating U axis
    M350 X16 Y16 Z16 E16 U16 I1                     ; Configure microstepping with interpolation
    M92 X400 Y400 Z3200 E4678 U400                  ; Set steps per mm
    M566 X480 Y480 Z60 E60 U480                     ; Set maximum instantaneous speed changes (mm/min)
    M203 X7500 Y7500 Z480 E720 U7500                ; Set maximum speeds (mm/min)
    M201 X1200 Y1200 Z200 E600 U1200                ; Set accelerations (mm/s^2)
    M906 X2000 Y2000 Z2000 E500 U2000 I40           ; Set motor currents (mA) and motor idle factor in percent
    M84 S90                                         ; Set idle timeout
    
    ; Axis Limits
    M208 X-195:140 Y-140:168 Z0:329.56 U-140:195    ; Set axis minima:maxima
    
    ; Endstops
    M574 X1 Y2 Z2 U2 S1                             ; Set active high endstops Xmin YZUmax
    
    ; Z-Probe
    M558 P0                                         ; Disable Z probe
    
    ; Heaters
    ; H0 (Bed)
    M307 H0 A245.2 C1094.2 D1.9 V24.4 B0 S1.0       ; Set heater model parameters as per M303 auto tuning
    M305 P0 T100000 B3974 R4700                     ; Set thermistor + ADC parameters for heater 0 (100k Honeywell 135-104LAG-J01)
    M143 H0 S120                                    ; Set temperature limit for heater 0 to 120C
    
    ; H1 (T0)
    M307 H1 A502.3 C235.2 D5.0 V24.6 B0 S1.0        ; Set heater model parameters as per M303 auto tuning
    M305 P1 T100000 B4725 C7.06e-8 R4700            ; Set thermistor + ADC parameters for heater 1 (Semitec 104GT-2 cartridge from E3D)
    M143 H1 S280                                    ; Set temperature limit for heater 1 to 280C
    
    ; H2 (T1)
    M307 H2 A574.3 C267.8 D4.2 V24.6 B0 S1.0        ; Set heater model parameters as per M303 auto tuning
    M305 P2 T100000 B4725 C7.06e-8 R4700            ; Set thermistor + ADC parameters for heater 2 (Semitec 104GT-2 cartridge from E3D)
    M143 H2 S280                                    ; Set temperature limit for heater 2 to 280C
    
    ; Fans
    M106 P0 I-1                                     ; Disable Fan0
    M106 P1 I-1                                     ; Disable Fan1, as it defaults to full-on and thermostatic mode
    M106 P2 I-1                                     ; Disable Fan2
    ;M106 P3                                        ; Fan3 uses defaults
    ;M106 P4                                        ; Fan4 uses defaults
    M106 P5 I-1                                     ; Disable Fan5
    M106 P6 I-1                                     ; Disable Fan6
    M106 P7 I-1                                     ; Disable Fan7
    M106 P8 I-1                                     ; Disable Fan8
    
    ; Tools
    ; T0
    M563 P0 S"Left (X)" D0 H1 F3                    ; Define tool 0
    G10 P0 X0 Y0 Z0                                 ; Set tool 0 axis offsets
    G10 P0 R0 S0                                    ; Set initial tool 0 active and standby temperatures to 0C
    
    ; T1
    M563 P1 S"Right (U)" D1 H2 X3 F4                ; Define tool 1
    G10 P1 U0 Y0 Z0                                 ; Set tool 1 axis offsets
    G10 P1 R0 S0                                    ; Set initial tool 1 active and standby temperatures to 0C
    
    ; End of file
    


  • I had another one of these today. I was printing a file. It was going great. Then, the network connection suddenly announced itself as enabled on the paneldue. Then I noticed DWC had lost connection and was attempting to recconect. I then disabled networking on paneldue and re-enabled with m552 and then the print froze and here is the M122 output.

    Note that I am this time using a modified firmware, but none of the modifications were in use at the time.

    My config is slightly different than last time. My E accel and jerk are higher: 120 jerk and 2400 accel. Maybe some other differences, but it seems related to the extruder.

    The print was encountering about 8 lookahead underruns per layer, if that may have anything to do with it.

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1.1-simple_dynamic_unretraction running on Duet Ethernet 1.02 or later + DueX2
    Board ID: 08DGM-956GU-DJMSN-6J9D4-3SJ6K-1BNBF
    Used output buffers: 3 of 24 (10 max)
    === RTOS ===
    Static ram: 25712
    Dynamic ram: 93652 of which 0 recycled
    Exception stack ram used: 432
    Never used ram: 11276
    Tasks: NETWORK(ready,628) HEAT(blocked,1232) DUEX(suspended,160) MAIN(running,3720) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 00:04:19 ago, cause: software
    Last software reset at 2020-04-11 22:50, reason: Stuck in spin loop, spinning module GCodes, available RAM 11048 bytes (slot 2)
    Software reset code 0x4043 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x20001f4c Task 0x5754454e
    Stack: 00404463 004047e4 81000000 b0000000 412a3fa5 00000000 00000000 3331bb4c 41880000 3e178897 3e1cd04f bdb7f86e 423985c3 4050ac00 3cce8f96 40a00000 4453b9c2 c0000000 40f4ffb7 20000010 00404459 000003c8 00404aa9
    Error status: 0
    Free file entries: 9
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 38.2, current 38.9, max 39.7
    Supply voltage: min 24.4, current 24.6, max 24.7, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 0/145
    Driver 1: standstill, SG min/max 0/139
    Driver 2: ok, SG min/max 0/167
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max 0/141
    Driver 6: standstill, SG min/max not available
    Date/time: 2020-04-11 22:54:55
    Cache data hit count 498273147
    Slowest loop: 1.89ms; fastest: 0.07ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 159, MinFreeDm: 158, MaxWait: 24480ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 15, completed moves: 14, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 1 in use
    Movement lock held by http
    http is idle in state(s) 1 8
    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: 56.32ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex
    

  • administrators

    I'm sorry, I no longer have time to read every post, especially when the forum is as busy as it has been recently. Somehow I missed both of these, and the other forum admins didn't escalate them to me. Maybe part of the reason is that you posted one on a Saturday and the other in the middle of a public holiday long weekend. Feel free to bump important posts if you get no response after a couple of days.

    I will look at the crash reports now.



  • @dc42 That's fine! I'm happy to be patient. For the moment, this is only an occasional occurrence. These two documentations are the only times I know I have experienced this on 2.05.1.

    I have had other users privately report networking troubles on 2.05.1, but they are using a WiFi whereas I am on an ethernet.


  • administrators

    As you are using modified firmware, I am unable to identify with certainty the functions involved. However, it is probably in the SPI code that reads data from the Ethernet interface. If you attach a copy of the Duet2CombinedFirmware.map file that matches the binary then I may be able to get further. Also, please let me know which firmware modules you have modified.



  • @dc42 the first one was with your release of 2.05.1

    The second one was with this firmware: https://github.com/mdealer/RepRapFirmware/releases/tag/2.05.1.1-simple_dynamic_unretraction4

    However, I was not using the M207 C or D parameter. IE, I was not intentionally using the added functionality of that firmware. Whether it changes anything else by default, I'm not sure.


Log in to reply