Stuck in spin loop



  • Hello,

    I have a bug when I ask for the origin in X, Y, Z. And sometimes the printer stops during printing.
    I have been on the problem for 4 days.
    Can you help me ? Thks

    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.01-RC8 running on Duet WiFi 1.02 or later
    Board ID: 08DGM-9T6BU-FG3S8-6J1DJ-3SD6M-1SKBFUsed output buffers: 3 of 24 (6 max)
    === RTOS ===
    Static ram: 28052
    Dynamic ram: 92416 of which 20 recycled
    Exception stack ram used: 256
    Never used ram: 10328
    Tasks: NETWORK(ready,836) HEAT(blocked,1468) MAIN(running,1912) IDLE(ready,80)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 00:01:34 ago, cause: power up
    Last software reset time unknown, reason: Stuck in spin loop, spinning module GCodes, available RAM 9920 bytes (slot 3)
    Software reset code 0x4083 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x20002eac Task 0x5754454e
    Stack: 00456b3b 0045a492 61070000 4655e000 40cabc00 00000000 00000000 00000000 00000000 00000000 00000000
    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 34.4, current 36.3, max 36.7
    Supply voltage: min 24.1, current 24.2, max 24.2, 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
    Date/time: 2020-04-21 12:16:22
    Cache data hit count 168151866
    Slowest loop: 5.03ms; fastest: 0.12ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0(0), FreeDm: 169, MinFreeDm: 169, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    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
    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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 39.85ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is active
    WiFi module is connected to access point
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.23
    WiFi MAC address cc:50:e3:15:07:f2
    WiFi Vcc 3.36, reset reason Unknown
    WiFi flash size 4194304, free heap 24200
    WiFi IP address 192.168.6.40
    WiFi signal strength -71dBm, reconnections 0, sleep mode modem
    Socket states: 0 0 0 0 0 0 0 0
    

  • administrators

    Please explain what you mean by "when I ask for the origin in X, Y, Z".



  • This post is deleted!

  • administrators

    From your diagnostic report, it appears that the firmware is stuck waiting for a command to the SD card controller to complete. Possible causes might be:

    • Faulty SD card
    • SD card socket not properly soldered to the Duet PCB
    • Faulty microcontroller, or another type of hardware fault

    I am happy to approve warranty replacement immediately if you wish. However, to help us understand the problem, can you post a high resolution photo of the back of the SD card socket, so that we can see if the pins there are properly soldered down?

    If you have a spare SD card, you could try using that one instead, after copying all the files to it from the original SD card.



  • You are probably right, it comes from the SD card.

    Since the last message, I focused on complete reconfiguration of the card with your documentation.

    I installed the latest version 3.01RC9 of the firmware and check all the lines in the config.g file.
    The motors, heaters etc are all well configured and the axes are really precise.
    I changed the SD card to an 8GB Class 10 HCI EMTEC.

    But the problem I arrive at the same result, during printing the printer stops! A message (from the new firmware) informs me that it cannot read the SD card.!

    Stop During Printing.jpg Photo Support SD CARD 2.jpg Photo Support SD CARD 1.jpg Message.png M122 of last bug.txt All connections Card.jpg

    M122 of last bug

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.01-RC9 running on Duet WiFi 1.02 or later
    Board ID: 08DGM-9T6BU-FG3S8-6J1DJ-3SD6M-1SKBFUsed output buffers: 3 of 24 (11 max)
    === RTOS ===
    Static ram: 28044
    Dynamic ram: 93324 of which 24 recycled
    Exception stack ram used: 504
    Never used ram: 9176
    Tasks: NETWORK(ready,116) HEAT(blocked,1228) MAIN(running,1832) IDLE(ready,80)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 01:33:44 ago, cause: software
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 9176 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 8
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 3
    MCU temperature: min 41.6, current 42.4, max 44.1
    Supply voltage: min 23.8, current 24.1, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 61/160
    Driver 1: standstill, SG min/max 22/172
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max 0/1023
    Driver 4: standstill, SG min/max not available
    Date/time: 2020-04-23 14:53:23
    Cache data hit count 4294967295
    Slowest loop: 1577.63ms; fastest: 0.13ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0(0), FreeDm: 169, MinFreeDm: 145, MaxWait: 81521ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 9, StepErrors: 0, LaErrors: 0, Underruns: 0, 4  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    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
    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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 190.69ms; fastest: 0.00ms
    Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is active
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.23
    WiFi MAC address cc:50:e3:15:07:f2
    WiFi Vcc 3.36, reset reason Unknown
    WiFi flash size 4194304, free heap 21496
    WiFi IP address 192.168.6.40
    WiFi signal strength -68dBm, reconnections 0, sleep mode modem
    Socket states: 4 0 0 0 0 0 0 0
    

    Config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Tue Apr 21 2020 23:20:22 GMT+0200 (heure d’été d’Europe centrale)
    
    ; General preferences
    G90                                                ; send absolute coordinates...
    M83                                                ; ...but relative extruder moves
    M550 P"iPrint"                                     ; set printer name
    
    ; Network
    M552 S1                                            ; enable network
    M586 P0 S1                                         ; enable HTTP
    M586 P1 S1                                         ; enable FTP
    M586 P2 S1                                         ; enable Telnet
    
    ; Drives
    M569 P0 S1                                         ; physical drive 0 goes forwards
    M569 P1 S1                                         ; physical drive 1 goes forwards
    M569 P2 S1                                         ; physical drive 2 goes forwards
    M569 P3 S1                                         ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3                                   ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
    M92 X79.81 Y79.92 Z402.30 E92.60                   ; set steps per mm
    M566 X1200.00 Y1200.00 Z24.00 E300.00              ; set maximum instantaneous speed changes (mm/min)
    M203 X3000.00 Y3000.00 Z240.00 E2700.00            ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z100.00 E3000.00              ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30                       ; set motor currents (mA) and motor idle factor in per cent
    M84 S10                                            ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                   ; set axis minima
    M208 X295 Y300 Z400 S0                             ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"!xstop"                               ; configure active-high endstop for low end on X via pin !xstop
    M574 Y1 S1 P"!ystop"                               ; configure active-high endstop for low end on Y via pin !ystop
    M574 Z1 S1 P"!zstop"                               ; configure active-high endstop for low end on Z via pin !zstop
    
    ; Z-Probe
    M558 P0 H5 F120 T6000                              ; disable Z probe but set dive height, probe speed and travel speed
    M557 X15:280 Y15:285 S20                           ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138     ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
    M143 H0 S95                                        ; set temperature limit for heater 0 to 95C
    M307 H0 B1 S1.00                                   ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                            ; map heated bed to heater 0
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138      ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S280                                       ; set temperature limit for heater 1 to 280C
    M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
    
    ; Heater PID parameters
    M307 H0 A27.8 C179.1 D1.7 S1.00 V24.1 B0           ; Plateau
    M307 H1 A498.0 C149.8 D8.2 S1.00 V24.1 B0          ; Buse
    
    ; Fans
    M950 F0 C"fan0" Q50                               ; create fan 0 on pin fan0 and set its frequency
    M106 P0 C"FAN PLATEAU" S0 H-1                      ; set fan 0 name and value. Thermostatic control is turned off
    M950 F1 C"fan1" Q50                               ; create fan 1 on pin fan1 and set its frequency
    M106 P1 C"FAN BUSE" S0.45 H1 T150                   ; set fan 1 name and value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 S"Buse" D0 H1 F0                           ; 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
    
    ; Custom settings are not defined
    
    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
    
    
    

    I provide you all my configuration and the requested photos.

    thank you for your professionalism.



  • my second test same error :

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.01-RC9 running on Duet WiFi 1.02 or later
    Board ID: 08DGM-9T6BU-FG3S8-6J1DJ-3SD6M-1SKBFUsed output buffers: 3 of 24 (11 max)
    === RTOS ===
    Static ram: 28044
    Dynamic ram: 93324 of which 24 recycled
    Exception stack ram used: 528
    Never used ram: 9152
    Tasks: NETWORK(ready,116) HEAT(blocked,1228) MAIN(running,1748) IDLE(ready,80)
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 03:40:18 ago, cause: software
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 9352 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 68.6ms, max retries 4
    MCU temperature: min 40.0, current 40.5, max 44.6
    Supply voltage: min 23.9, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 12/145
    Driver 1: standstill, SG min/max 1/180
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max 0/224
    Driver 4: standstill, SG min/max not available
    Date/time: 1970-01-01 00:00:00
    Cache data hit count 4294967295
    Slowest loop: 2150.65ms; fastest: 0.13ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0(0), FreeDm: 169, MinFreeDm: 142, MaxWait: 36555ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 5, StepErrors: 0, LaErrors: 0, Underruns: 0, 3  CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
    === GCodes ===
    Segments left: 0
    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
    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
    Daemon is idle in state(s) 0
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 1239.61ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    HTTP sessions: 1 of 8
    - WiFi -
    Network state is active
    WiFi module is connected to access point 
    Failed messages: pending 0, notready 0, noresp 0
    WiFi firmware version 1.23
    WiFi MAC address cc:50:e3:15:07:f2
    WiFi Vcc 3.36, reset reason Unknown
    WiFi flash size 4194304, free heap 21568
    WiFi IP address 192.168.6.40
    WiFi signal strength -68dBm, reconnections 0, sleep mode modem
    Socket states: 4 0 0 0 0 0 0 0
    

  • administrators

    That error code does suggest a hardware fault (unless both SD cards are faulty), however it's a cloned Duet (although a legal one) so we can't really help you.



  • I bought the card on Aliexpress, I thought it was an original (Sorry!). If I buy a new card on www.filafarm.de it's OK ?


  • administrators

    @Arnaud-S said in Stuck in spin loop:

    I bought the card on Aliexpress, I thought it was an original (Sorry!). If I buy a new card on www.filafarm.de it's OK ?

    Filafarm is one of our genuine resellers, see https://www.duet3d.com/GenuineResellers.



  • Thks for all @dc42, i test with a 32Gb card (it's new card still wrapped). It's Working so ! I will test with another STL.

    Just for information, now with the command M122 :

    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    

  • administrators

    @Arnaud-S said in Stuck in spin loop:

    Thks for all @dc42, i test with a 32Gb card (it's new card still wrapped). It's Working so ! I will test with another STL.

    Just for information, now with the command M122 :

    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    

    That looks a lot better than the other one!



  • I like to understand the problem then I decided to find a software which allows to check the writing and reading SD card. I checked with the defective SD cards. And the result says that the SD card is defective:
    0.5 KByte corrupted (1 sector)

    Warning: Only 4461 of 7428 MByte tested.
    The media is likely to be defective.
    4.3 GByte OK (9136127 sectors)
    0.5 KByte DATA LOST (1 sector)
    Details:0 KByte overwritten (0 sectors)
    0 KByte slightly changed (< 8 bit/sector, 0 sectors)
    0.5 KByte corrupted (1 sector)
    0 KByte aliased memory (0 sectors)
    First error at offset: 0x000000008123ff80
    Expected: 0x04c122acee44af80
    Found: 0x27a7a1cd8943af80
    Reading speed: 66.8 MByte/s
    

    So now i chek all my SD card with the software H2testw (available on www.heise.de)


  • administrators

    @Arnaud-S said in Stuck in spin loop:

    I like to understand the problem then I decided to find a software which allows to check the writing and reading SD card. I checked with the defective SD cards. And the result says that the SD card is defective:
    0.5 KByte corrupted (1 sector)

    Warning: Only 4461 of 7428 MByte tested.
    The media is likely to be defective.
    4.3 GByte OK (9136127 sectors)
    0.5 KByte DATA LOST (1 sector)
    Details:0 KByte overwritten (0 sectors)
    0 KByte slightly changed (< 8 bit/sector, 0 sectors)
    0.5 KByte corrupted (1 sector)
    0 KByte aliased memory (0 sectors)
    First error at offset: 0x000000008123ff80
    Expected: 0x04c122acee44af80
    Found: 0x27a7a1cd8943af80
    Reading speed: 66.8 MByte/s
    

    So now i chek all my SD card with the software H2testw (available on www.heise.de)

    Interesting! Did the second SD card you tried also report errors?



  • For the first SDCARD no error but writing 14.6MByte/s this is normal but the Reading is 14.9MByte/s maybe not fast enough for the DUET 3D which works in 20Mb.

    Capture.JPG

    First SD CARD : NO NAME 16Gb
    Second SD CARD : EMTEC 8GB Class 10 HCI

    So for the second, Wrinting is 16.14MB/s and Reading is 75.69Mb/s, I format low level the second card and i will check for errors with the software. Finally I use the second card to check the print.



  • To finish, I format three times in low level the second card (EMTEC) and the error is still present.

    I put in trash the two SD cards:

    • the first because too slow
    • the second because defective

    Now on the error "Cannot read file, error code 1" I will use the software to check a malfunction on the card.

    FYI, my second print with the third SD CARD (type TOSHIBA 32GB SDXC I 3, formatted in FAT32 with 32Kb of cluster) works fine.

    Thanks for your help @dc42.


  • Moderator

    Interesting that you used H2testw to find the faulty card. It was on my list of things to investigate for finding faults in SD cards but I hadn't tested it yet (no mac version).

    Thanks for confirming it works. I will add a note to the SD card page about using it to test for a faulty card.


Log in to reply