SOLVED: Duet Wifi Stopped Responding
Everything was working fine last night when I powered down. This morning I can't connect. All three LEDs are lit (Vin, 5V, 3.3). LED between MicroUSB and MicroSDHC lights up for a few secs at power-on, then goes off. It lights up and stays on when I connect a USB cable to my PC.
Router does not see Duet's MAC address, so obviously can't ping or connect with DWC.
I can connect via USB - Device Manager finds "USB Serial Device (COM5)". Can connect to COM5 with Pronterface but don't know what to do next.
On a whim, I tried to move X and Y with the Pronterface GUI. Printer vibrated and I got this in the terminal:
[ERROR] Traceback (most recent call last):
File "printrun\printcore.pyc", line 241, in _readline
File "printrun\pronterface.pyc", line 1713, in recvcb
File "printrun\pronterface.pyc", line 1669, in update_pos
ValueError: could not convert string to float:
So it's at least partly alive - seems like the Wifi may be the only part not working. Multiple resets and power cycling have not helped. Have not yet tried erasing yet, would like to avoid if possible. Got as far as the end of Step 6 of the https://duet3d.com/wiki/What_to_do_if_your_Duet_or_Duet_WiFi_won%27t_respond wiki.
What should I try next?
You can install the USB device driver from https://github.com/dc42/RepRapFirmware/tree/dev/Driver to get a more meaningful description in Device Manager.
Next step is to run M552 S0 followed by M552 S1 from Pronterface, and see what response you get after a few seconds.
Found it - my config.g file had been "emptied out" - it was there, but it was 0 bytes long. Replaced it with my backup and everything seems fine (except I wish I'd made more frequent backups).
Any idea how config.g might have been clobbered? I don't remember editing it, accidentally deleting everything, and then saving it…
The only way I can think of is if you had a network disconnect while saving config.g in the web editor.
Man you're good. I do have a marginal WiFi connection in my garage - about once an hour I get disconnected for a few seconds. Didn't think it mattered since printer is controlled by Atmel.
Would you consider adding some sort of rudimentary checksum for WiFi communications to the wishlist?
A checksum wouldn't help because there is no evidence that data corruption has occurred. But I guess it would be possible for DWC to save the edited file under a different name e.g. config.g.new, then when that is successful, delete the old config.g and rename the new file to config.g. At worst you would then end up with no config.g file, but you would have config.g.new ready to rename. Even better would be for the Duet to implement delete-and-rename as a single operation.