Brand new Duet board can't read the SD cards



  • We've bought two duet board and a extension board from your store. But last week, we found one can't work. This one can only work in the beginning. We have to plug in and plug out the SD card to test firmware, every time after we plugging in and out the SD card, it can't read the SD card. We only use it regularly, could you please help us how to fix it?


  • Moderator

    Are you power cycling between removing and inserting the SD card?

    IF you swap the card while powered on you may have to send a command to mount/dismount the card. If you are power cycling, that isn't necessary.

    However, it sounds like you have another Duet that is working properly, so there may be a problem with the SD card slot.

    Please take a close up, well lit photo of the back of the SD card slot that shows the soldering points.



  • @Phaedrux Hi, Phaedrux. I am the EE engineer, and I show the closed photos for you. Please help us how to fix it, thanks.
    1.jpg
    2.jpg
    3.jpg
    4.jpg


  • administrators

    I presume you have tried swapping the SD card between the boards, in case the SD card is faulty?

    Please connect via USB or another terminal emulator. With a SD card inserted:

    • Send M122 and check the response. It should include "SD card detected" and speed 25 Mbytes/sec.
    • If that works, send M21 to try to mount the card, and report the response.

    The soldering on your board looks probably OK but it's hard to be sure because your photo is a little out of focus:

    9ad61293-8933-4f16-947f-111a012d9c00-image.png

    Can you get a more focussed photo of this area? When using a smartphone I find it helpful to pull back the camera to get the focus sharp and use the digital zoom.

    Also please check whether this tab is soldered to the PCB:

    0dc4ed19-c59e-4a11-9c4c-43bbc5408b92-image.png



  • @dc42 When I send M122, the response :
    === Diagnostics ===<LF>RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v0.6 or 1.0<LF>Board ID: 08DJM-956L2-G43S8-6JKDD-3SN6M-TV0QGUsed output buffers: 1 of 40 (1 max)<LF>=== RTOS ===<LF>Static ram: 154572<LF>Dynamic ram: 160680 of which 20 recycled<LF>Exception stack ram used: 280<LF>Never used ram: 77664<LF>Tasks: NETWORK(ready,2084) HEAT(suspended,1452) CanReceiv(suspended,3824) CanSender(suspended,1484) CanClock(blocked,1464) TMC(suspended,256) MAIN(running,5256) IDLE(ready,80)<LF>Owned mutexes:<LF>=== Platform ===<LF>Last reset 00:00:19 ago, cause: power up<LF>Last software reset at 2020-04-16 23:48, reason: User, spinning module GCodes, available RAM 97560 bytes (slot 2)<LF>Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04432000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d<LF>Error status: 0<LF>Free file entries: 10<LF>SD card 0 detected, interface speed: 12.5MBytes/sec<LF>SD card longest block write time: 0.0ms, max retries 0<LF>MCU temperature: min 32.1, current 33.0, max 33.0<LF>Supply vol[Warning: Maximal number of bytes per line exceeded! Check the EOL (end-of-line) settings or increase the limit in the advanced terminal settings.]

    When I send M21, the response :
    Error: M21: Cannot initialise SD card 0: Card is unusable<LF>ok<LF>


  • administrators

    Thanks. Can you repeat that using the SD card from the working board?

    The YAT printout will make more sense if you change the newline sequence in the text settings to LF Only.



  • This post is deleted!


  • @dc42 Yes, I using the SD from the working main board to try the other NG main board. The SD card is on the same condition. The working main board can work, but the other one can't work.

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v0.6 or 1.0
    Board ID: 08DJM-956L2-G43S8-6JKDD-3SN6M-TV0QGUsed output buffers: 1 of 40 (1 max)
    === RTOS ===
    Static ram: 154572
    Dynamic ram: 160680 of which 20 recycled
    Exception stack ram used: 272
    Never used ram: 77672
    Tasks: NETWORK(ready,2084) HEAT(blocked,1452) CanReceiv(suspended,3824) CanSender(suspended,1484) CanClock(blocked,1440) TMC(suspended,256) MAIN(running,5280) IDLE(ready,80)
    Owned mutexes:
    === Platform ===
    Last reset 00:00:27 ago, cause: reset button
    Last software reset at 2020-04-16 23:48, reason: User, spinning module GCodes, available RAM 97560 bytes (slot 2)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x04432000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 12.5MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 32.1, current 34.1, max 34.3
    Supply voltage: min 0.2, current 0.2, max 0.3, under voltage events: 0, over voltage events: 0, power good: no
    12V rail voltage: min 0.1, current 0.1, max 0.2, under voltage events: 0
    Driver 0: ok, reads 0, writes 0 timeouts 0, SG min/max 0/0
    Driver 1: ok, reads 0, writes 0 timeouts 0, SG min/max 0/0
    Driver 2: ok, reads 0, writes 0 timeouts 0, SG min/max 0/0
    Driver 3: ok, reads 0, writes 0 timeouts 0, SG min/max 0/0
    Driver 4: ok, reads 0, writes 0 timeouts 0, SG min/max 0/0
    Driver 5: ok, reads 0, writes 0 timeouts 0, SG min/max 0/0
    Date/time: 1970-01-01 00:00:00
    Slowest loop: 0.22ms; fastest: 0.13ms
    === 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 0, running macro
    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 0, running macro
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 0.21ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 0 of 8

    • Ethernet -
      State: disabled
      Error counts: 0 0 0 0 0
      Socket states: 0 0 0 0 0 0 0 0
      === CAN ===
      Messages sent 0, longest wait 0ms for type 0
      === Linux interface ===
      State: 0, failed transfers: 0
      Last transfer: 27184ms ago
      RX/TX seq numbers: 0/1
      SPI underruns 0, overruns 0
      Number of disconnects: 0
      Buffer RX/TX: 0/0-0
      ok

  • administrators

    Thanks. I approve a warranty replacement for the failed Duet 3. Please contact your supplier. If you purchased it directly from Duet3D, see https://www.duet3d.com/warranty.


Log in to reply