config.g disappears
-
@norwestie
I remember, I edited my config.g on my PC and saved it. But it was namedconfig.g.txt
Had to rename it in a DOS shell (Mac is different) and then could use it on my printer.
IIRC DWC can also rename files with wrong file-type letters, just have to find it. -
I also had this happen recently on the Duet 3 mini 5+. I lost ethernet connection at the same time. I checked the sd card to make sure it was seated and loaded the config.g back on. If it happens again, I will pull the card, inspect closer and report back.
-
@phaedrux it is when you are editing config.g and you press save and it drops the connection while saving it and you get a blank config.g when it reboots.
It only happens to config.g because that is the only file you are editing , I guess it could blank any file you are editing ?. -
@peter247 if it fails during the upload process you're typically left with a config.bak file, that can be renamed config.g
-
@jay_s_uk The problem is you can't connect back into my duet so you reboot it and the config.bak now automatically overwrites config.g , so now config.bak and config.g are both blank .
-
@peter247 yea, sd card removal is typically required. i'm surprised config.bak is being overwritten though as it only gets created by DWC when the existing config.g is editted. its not automatically created by the firmware on boot. but ultimately, always keep a backup of your files as sd cards aren't the most trustworthy devices
-
@peter247 My machine was off for the night, but my duet interface was still open. When I turned the machine back on, there was no connection. When I finally regained connection, config.g was missing. I replaced the card just to be safe.
-
@Tinken @peter247 What board are you using? Can you share a M122 as well?
-
It is for a Blv mgn cube which I'm still building , so it never been fully tested out
5/25/2021, 8:12:08 PM m122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.2.2 running on Duet 3 Mini5plus WiFi (standalone mode)
Board ID: MZSV6-S096U-D65J0-40KMD-3413Z-R7859
Used output buffers: 3 of 40 (24 max)
=== RTOS ===
Static ram: 98732
Dynamic ram: 107852 of which 44 recycled
Never used RAM 38588, free system stack 200 words
Tasks: NETWORK(ready,190) HEAT(blocked,315) CanReceiv(blocked,947) CanSender(blocked,372) CanClock(blocked,363) TMC(blocked,106) MAIN(running,440) IDLE(ready,20) AIN(blocked,269)
Owned mutexes:
=== Platform ===
Last reset 00:01:53 ago, cause: power up
Last software reset at 2021-05-20 20:46, reason: User, GCodes spinning, available RAM 38588, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 5919, writes 0, timeouts 0, DMA errors 0
Driver 1: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 5920, writes 0, timeouts 0, DMA errors 0
Driver 2: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 5920, writes 0, timeouts 0, DMA errors 0
Driver 3: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 5920, writes 0, timeouts 0, DMA errors 0
Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 5920, writes 0, timeouts 0, DMA errors 0
Driver 5: position 0, assumed not present
Driver 6: position 0, assumed not present
Date/time: 2021-05-25 20:12:07
Cache data hit count 255408117
Slowest loop: 6.19ms; fastest: 0.15ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 22.5MBytes/sec
SD card longest read time 3.4ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1, chamberHeaters = -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
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.
=== Network ===
Slowest loop: 200.29ms; fastest: 0.08ms
Responder states: HTTP(0) HTTP(4) HTTP(1) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 1
WiFi firmware version 1.25
WiFi MAC address f0:08:d1:02:eb:a5
WiFi Vcc 3.42, reset reason Power up
WiFi flash size 2097152, free heap 24560
WiFi IP address 192.168.0.186
WiFi signal strength -61dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 2 2 0 0 0 0 0
=== CAN ===
Messages queued 373, send timeouts 373, received 0, lost 0, longest wait 0ms for reply type 0, free buffers 16
- WiFi -
-
@phaedrux said in config.g disappears:
M122
5/27/2021, 8:56:31 AM M122
=== Diagnostics ===
RepRapFirmware for Duet 3 Mini 5+ version 3.2.2 running on Duet 3 Mini5plus Ethernet (standalone mode)
Board ID: AMDTD-5396U-D65J0-40KM2-2N03Z-7RVW6
Used output buffers: 3 of 40 (11 max)
=== RTOS ===
Static ram: 98732
Dynamic ram: 102436 of which 60 recycled
Never used RAM 43988, free system stack 200 words
Tasks: NETWORK(ready,160) ETHERNET(blocked,566) HEAT(blocked,315) CanReceiv(blocked,947) CanSender(blocked,372) CanClock(blocked,363) TMC(blocked,106) MAIN(running,440) IDLE(ready,20) AIN(blocked,260)
Owned mutexes:
=== Platform ===
Last reset 00:00:30 ago, cause: power up
Last software reset at 2021-05-26 04:02, reason: User, GCodes spinning, available RAM 43988, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Aux1 errors 0,0,0
Supply voltage: min 0.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 4254, writes 9, timeouts 0, DMA errors 0
Driver 1: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 4254, writes 9, timeouts 0, DMA errors 0
Driver 2: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 4254, writes 9, timeouts 0, DMA errors 0
Driver 3: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 4253, writes 9, timeouts 0, DMA errors 0
Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 4254, writes 9, timeouts 0, DMA errors 0
Driver 5: position 0, assumed not present
Driver 6: position 0, assumed not present
Date/time: 2021-05-27 08:56:30
Cache data hit count 55958591
Slowest loop: 2.38ms; fastest: 0.12ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 22.5MBytes/sec
SD card longest read time 1.9ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1, chamberHeaters = -1 -1
Heater 1 is on, I-accum = 0.0
=== 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
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.
=== Network ===
Slowest loop: 6.45ms; fastest: 0.03ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8- Ethernet -
State: active
Error counts: 0 0 0 0 0
Socket states: 5 2 2 2 2 0 0 0
=== CAN ===
Messages queued 271, send timeouts 269, received 0, lost 0, longest wait 0ms for reply type 0, free buffers 16
- Ethernet -
-
Could everyone in this thread who has had a config.g file go missing, can you please answer me these questions.
Was it just the config.g file that was gone, or other files as well?
At some point close to that time had you been editing config.g via DWC? -
@tinken Yea my brand New Duet 3 mini is doing that. Lucky for me my friend has a exact clone of my Printer. His Duet 3 mini works great, but mine the Duet 3 mini is crazy as my friend said to me. My Duet 3 mini freezes and the Config file is no more. We think it a bad card reader on mine. as we swap my Duet 3 mini with his and his works perfectly on my Printer. My duet 3 mini has the same problem when we try it on his printer. Please note all firmwares and printers were 100% the same and we tried new SD cards. Also no editing config.g via DWC at the time this was happening. Also It looks like more this just the config file is gone, some time other file go with it.
-
@phaedrux Just the config.g missing, nothing else. I was editing the config.g via DWC the night before. I didn't notice the missing file until I turned the machine back on the next day.
-
@Phaedrux
Just wondering when config.g.bak is created/overwritten? The very moment, I click on edit config.g or when the printer is powered up?
I'm puzzled, because I read that an empty config.g would cause an empty config.g.bak after startup?! -
@o_lampe its created on edit
-
@jay_s_uk said in config.g disappears:
@o_lampe its created on edit
That would make sense, but would imply that this action goes wrong and ends up with an empty .bak file.
A simple routine[pseudo code] if filesize.config.g > 0 => write backup file else echo " warning, SD card read failure"
would help...
-
@phaedrux Yes just the config.g file while I was editing it .
-
We're looking into the config.g disappearances, as it has been reported by a number of people. So far I've seen reports of this from:
@tecno RRF 3.3RC2 (2021-05-11 14:55:40) running on Duet 3 Mini5plus WiFi (standalone mode)
@Tinken RRF 3.2.2 running on Duet 3 Mini5plus Ethernet (standalone mode)
@dino1 Duet 3 Mini 5+
@norwestie RRF3.2.2 running on Duet 3 Mini5plus Ethernet (standalone mode)
@idaho-creator RRF 3.2 running on Duet 3 Mini5plus WiFi (standalone mode)
@peter247 RRF 3.2.2 running on Duet 3 Mini5plus WiFi (standalone mode)If there is anyone else, please post in this thread.
Generally, config.g seems to disappear when it's saved after editing. This is what should happen when you edit config.g:
- When you open the file to edit, it is downloaded to the browser. No saving happens until you click 'Save'.
- When you click 'Save', DWC deletes config.g.bak and renames the existing config.g to config.g.bak
- The edited config.g is uploaded to config.g.part and is CRC32-checked (make sure you have 'Use CRC32 checksums for uploads' enabled in DWC > Settings > Machine-Specific > General > Communication)
- If successful (including correct CRC) config.g.part is renamed to config.g
- If unsuccessful, an error message is written informing the user about a CRC mismatch and config.g.part is deleted. At this point there is no config.g (it's been renamed to config.g.bak), but if reset RRF will boot using config.g.bak.
Notes:
- If there is no config.g file, RRF will attempt to run config.g.bak on startup if it exists (this has been a feature since RRF 2.0). It does not copy/rename/overwrite config.g.bak to config.g
- If you don't choose to reboot after editing and saving config.g, the config.g may still not have uploaded properly, but you won't notice until you try to edit it again, or reboot later.
There appears to be a number of reasons for the config.g disappearing:
- Network dropout during save (Ethernet or WiFi) - some of the users above reported config.g disappeared after a network problem when saving.
- SD card corruption - more difficult to pinpoint, but can cause any file to disappear, and because config.g is the most often changed, it's particularly susceptible. To check/test SD card see https://duet3d.dozuki.com/Wiki/SD_Card#Section_Troubleshooting_SD_Card_issues
- SD card socket failure - clearly a problem for a couple of the users above, and have had their Duet 3 Mini 5+ replaced under warranty. To check, see https://duet3d.dozuki.com/Wiki/SD_Card#Section_SD_Card_Socket
- Firmware issue - the save mechanism hasn't changed for a long time, and has generally been robust, so it doesn't seem like there's a bug. However, this issue does seem specific to Duet 3 Mini 5+, so there may be something specific to this board interfering with the save. Need more feedback to understand if this is where the issue lies.
If you had both config.g and config.g.bak disappear, I'd generally suspect an SD card issue (because the renaming of config.g to config.g.bak has failed, as well as writing config.g to the SD card), but may be caused by a faulty SD socket.
EDIT: to try and catch this error, please save config.g as normal, but donβt reboot. Refresh file list, and check config.g and config.g.bak are present, and content is correct. If not please report what is wrong and any errors reported.
Ian
-
@droftarts I think my case was wifi drop out and I've edited config.g many times without any problems , But my board is not in use as of yet .
My SD card is I think 8gb , but only a part of it is used , should I format the other partition or extend the default one ?
Also how do you know how much space or how much is used ? -
@peter247 there should be a FAT32 partition that the Duet reads directly (check the size and free with M39 https://duet3d.dozuki.com/Wiki/Gcode#Section_M39_Report_SD_card_information ) and ab ext3 (or 4 canβt remember) to boot/run on RPi SBC. If you donβt plan to use an SBC you can reformat the card to use the full size.
Ian