Duet Ethernet SD reader fail
I bought my Duet board back in May, worked with it for a little while but I had to pause my 3d printer progress over the summer.
I now tried to get it running again and it no longer seems to read the SD cards.
I powered it on yesterday and I get the message "cannot mount sd card 0: code 13"
I've tried several different SD cards and fully reflashed them all, no successes.
Is there any reason why it would fail like that after sitting cold for 4 months?
Which firmware version are you running?
Please run M122 and see whether it says the SD card was detected.
The board's startup message is
RepRapFirmware for Duet 2 WiFi/Ethernet Version 2.02(RTOS) dated 2018-12-24b1 Cannot mount SD card 0: code 13 Network disabled. RepRapFirmware for Duet 2 WiFi/Ethernet is up and running.
After running M122 I get
```=== Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.02(RTOS) running on Duet Ethernet 1.02 or later Board ID: 08DGM-917DA-G4MS4-6JKDL-3SJ6R-TBXR9 Used output buffers: 1 of 20 (1 max) === RTOS === Static ram: 25524 Dynamic ram: 97732 of which 0 recycled Exception stack ram used: 256 Never used ram: 7560 Tasks: NETWORK(ready,2048) HEAT(blocked,1232) MAIN(running,4748) IDLE(ready,200) Owned mutexes: === Platform === Last reset 00:01:29 ago, cause: reset button or watchdog Last software reset at 2019-06-21 03:58, reason: User, spinning module GCodes, available RAM 6944 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 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: 0.0ms, max retries 0 MCU temperature: min 35.8, current 36.6, max 36.7 Supply voltage: min 1.6, current 1.7, max 1.7, under voltage events: 0, over voltage events: 0, power good: no Driver 0: ok, SG min/max not available Driver 1: ok, SG min/max not available Driver 2: ok, SG min/max not available Driver 3: ok, SG min/max not available Driver 4: ok, SG min/max not available Date/time: 1970-01-01 00:00:00 Cache data hit count 155096071 Slowest loop: 0.15ms; fastest: 0.06ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0 === Move === Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 240, MaxWait: 0ms, Underruns: 0, 0 Scheduled moves: 0, completed moves: 0 Bed compensation in use: none Bed probe heights: 0.000 0.000 0.000 0.000 0.000 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 === GCodes === Segments left: 0 Stack records: 0 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 ready with "M122" 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: 0.15ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 0 of 8 Interface state 0, link down ok
Thanks. The M122 report says the SD card was detected, so it's not the card detect pin (which is the most common problem when the SD card can't be read).
Code 13 means "There is no valid FAT volume". Are you certain that the SD cards you tried were formatted using the FAT filesystem? Note, RRF does not read EXFAT volumes because of patent issues. SD cards with capacity greater than 32GB cannot be formatted using FAT.
Curse you exFAT, my eternal nemesis!!
Yep, that did it. Reformatted my card and now we're all hunky-dory.