Probable SDcard slot issue



  • So I recently bought 2 Duet3, Toolboard packs and more

    I started with testing on a printer I'm building with SBC: all fine, no issues whatsoever.

    I decided to try the same without SBC: after a few seconds could not edit config.g , DWC with errors of missing files, etc
    The SDcard that came with the Duet3 on my Mac runs fine, checked filesystem, all ok
    The SDcard from the other Duet3: same symptoms.

    Toolboard wouldn't stop the fan, meaning it wasn't configured, no PanelDue, no networking.

    Both SDcards on the other Duet3 run fine.

    I see a clue on M122 as it says the card is working at 12.5MB/s when the documentation states a Duet3 should be able to do 25MB/s:

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

    M22:
    SD card 0 may now be removed
    M21:
    Error: M21: Cannot initialise SD card 0: Card is unusable

    Is there anything else I can check? Is my board SDcard dead?

    M122:

                                                                          === Diagnostics ===
    

    RepRapFirmware for Duet 3 MB6HC version 3.2-beta2 running on Duet 3 MB6HC v1.01 or later (SBC mode)
    Board ID: 08DJM-956BA-NA3TJ-6J9DA-3SN6T-9AAYV
    Used output buffers: 1 of 40 (13 max)
    === RTOS ===
    Static ram: 157532
    Dynamic ram: 134196 of which 20 recycled
    Exception stack ram used: 320
    Never used ram: 101148
    Tasks: Linux(ready,426) HEAT(blocked,354) CanReceiv(blocked,864) CanSender(blocked,371) CanClock(blocked,353) TMC(blocked,54) MAIN(running,1033) IDLE(ready,20)
    Owned mutexes: USB(MAIN)
    === Platform ===
    Last reset 00:05:12 ago, cause: software
    Last software reset at 2058-01-24 11:14, reason: HardFault imprec, none spinning, available RAM 187280, slot 1
    Software reset code 0x4072 HFSR 0x40000000 CFSR 0x00000400 ICSR 0x0440f803 BFAR 0x00000000 SP 0x20418438 Task MAIN
    Stack: 20431f24 00000000 204185b8 20431efc 3f800000 00416481 00416090 81000000 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5 a5a5a5a5
    Error status: 0x00
    MCU temperature: min 30.7, current 31.6, max 31.7
    Supply voltage: min 23.9, current 23.9, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 12.1, current 12.1, max 12.1, under voltage events: 0
    Driver 0: position 0, standstill, reads 41374, writes 0 timeouts 0, SG min/max not available
    Driver 1: position 0, standstill, reads 41373, writes 0 timeouts 0, SG min/max not available
    Driver 2: position 0, standstill, reads 41374, writes 0 timeouts 0, SG min/max not available
    Driver 3: position 0, standstill, reads 41373, writes 0 timeouts 0, SG min/max not available
    Driver 4: position 0, standstill, reads 41373, writes 0 timeouts 0, SG min/max not available
    Driver 5: position 0, standstill, reads 41374, writes 0 timeouts 0, SG min/max not available
    Date/time: 1970-01-01 00:00:00
    Slowest loop: 15.76ms; fastest: 0.21ms
    === Storage ===
    Free file entries: 10
    SD card 0 detected, interface speed: 12.5MBytes/sec
    SD card longest read time 0.0ms, write time 0.0ms, max retries 0
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, 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 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -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 ready with "M122" 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 sent 10, send timeouts 10, longest wait 4ms for type 6024, free CAN buffers 48
    === SBC interface ===
    State: 0, failed transfers: 0
    Last transfer: 312891ms ago
    RX/TX seq numbers: 0/1
    SPI underruns 0, overruns 0
    Number of disconnects: 0
    Buffer RX/TX: 0/0-0
    ok


  • Moderator

    Can you post a photo of the affected SD card slot?

    When and where was the Duet 3 purchased?



  • Hi,

    The boards where purchased from Dold Mechatronik on 9/9/20
    Best picture I can take with my phone:
    F9796DD0-D35A-40E2-A001-DA832576AC3B_1_201_a.jpeg


  • administrators

    Please share the config.g file that you were using when trying to run in standalone mode. The software reset data you posted above looks like a crash while processing a M667 or M669 command, so I can't rule out a firmware bug.



  • I have no M667 or M669 commands on my config, I just tried to run a M122 P104 S1 before

    config.g:

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Oct 05 2020 20:18:46 GMT+0100 (Western European Summer Time)
    
    ; General preferences
    G90                                             ; send absolute coordinates...
    M83                                             ; ...but relative extruder moves
    M550 P"V-Cast"                                  ; set printer name
    
    M575 P1 S1 B57600                               ; enable support for PanelDue
    
    ; Network
    M552 P0.0.0.0 S1                                ; enable network and acquire dynamic address via DHCP
    M586 P0 S1                                      ; enable HTTP
    M586 P1 S0                                      ; disable FTP
    M586 P2 S0                                      ; disable Telnet
    
    ; Drives
    M569 P0.0 S1                                    ; physical drive 0.0 goes forwards
    M569 P0.1 S1                                    ; physical drive 0.1 goes forwards
    M569 P0.2 S1                                    ; physical drive 0.2 goes forwards
    M569 P1.0 S1                                    ; physical drive 1.0 goes forwards
    M569 P2.0 S1                                    ; physical drive 2.0 goes forwards
    M584 X0.0 Y0.1 Z0.2 E20.0:21.0                    ; set drive mapping
    M350 X16 Y16 Z16 E16:16 I1                      ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E830.00:830.00        ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00:120.00      ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00:250.00      ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800:800 I30                ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                         ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                ; set axis minima
    M208 X300 Y300 Z200 S0                          ; set axis maxima
    
    ; Endstops
    M574 X1 S3                                      ; configure sensorless endstop for low end on X
    M574 Y1 S3                                      ; configure sensorless endstop for low end on Y
    M574 Z1 S2                                      ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M950 S0 C"20.io0.out"                            ; create servo pin 0 for BLTouch
    M558 P9 C"^20.io0.in" H5 F120 T6000               ; set Z probe type to bltouch and the dive height + speeds
    M558 H30                                        ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
    G31 P500 X0 Y0 Z2.5                             ; set Z probe trigger value, offset and trigger height
    M557 X15:215 Y15:195 S20                        ; define mesh grid
    
    ; Heaters
    M308 S0 P"temp3" Y"thermistor" T100000 B4138    ; configure sensor 0 as thermistor on pin temp3
    M950 H0 C"out3" T0                              ; create bed heater output on out0 and map it to sensor 0
    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
    M143 H0 S120                                    ; set temperature limit for heater 0 to 120C
    M308 S1 P"20.temp0" Y"thermistor" T100000 B4138  ; configure sensor 1 as thermistor on pin 1.temp0
    M950 H1 C"20.out0" T1                            ; create nozzle heater output on 1.out0 and map it to sensor 1
    M307 H1 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
    ;M308 S2 P"21.temp0" Y"thermistor" T100000 B4138  ; configure sensor 2 as thermistor on pin 2.temp0
    ;M950 H2 C"21.out0" T2                            ; create nozzle heater output on 2.out0 and map it to sensor 2
    ;M307 H2 B0 S1.00                                ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"20.out1+out1.tach" Q500                          ; create fan 0 on pin 1.out1 and set its frequency
    M106 P0 S0 H-1                                  ; set fan 0 value. Thermostatic control is turned off
    ;M950 F1 C"21.out1" Q500                          ; create fan 1 on pin 2.out1 and set its frequency
    ;M106 P1 S0 H-1                                  ; set fan 1 value. Thermostatic control is turned off
    M950 F2 C"20.out2+out2.tach" Q500                          ; create fan 2 on pin 1.out2 and set its frequency
    M106 P2 S1 H1 T45                               ; set fan 2 value. Thermostatic control is turned on
    ;M950 F3 C"21.out2+out2.tach" Q500                          ; create fan 3 on pin 2.out2 and set its frequency
    :M106 P3 S1 H2 T45                               ; set fan 3 value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 S"Extruder0" 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
    M563 P1 S"Extruder1" D1 H2 F1                 ; define tool 1
    G10 P1 X0 Y0 Z0                                 ; set tool 1 axis offsets
    G10 P1 R0 S0                                    ; set initial tool 1 active and standby temperatures to 0C
    
    ; Custom settings are not defined
    
    ; Miscellaneous
    ;M501                                            ; load saved parameters from non-volatile memory
    T0                                              ; select first tool
    

  • administrators

    Thanks, in that case I guess it was corrupt data from the SD card interface that caused the crash.

    Are you able to try the same SD card in the other Duet 3 running in standalone mode? Or have you already done that?



  • I have already done that:

    • Both cards on this Duet fail
    • Both cards on the other Duet work as expected

  • administrators

    Thanks! I approve a warranty replacement for this Duet 3 main board. Please contact your supplier.



  • Thank you!


Log in to reply