RepRapFirmware 3.01-RC6 released
-
Running a Duet3 with an RPi4 as an SBC. Updated using apt and have ended up with loads of issues. The first was the "drive is unmounted" error everywhere and a screen the same as teh one in the post above which I could only get rid of by power cycling.
The web interface now loads but while the extruder is listed under tools, the bed isn't. The status also continually says "Busy" in a yellow box. Pressing emergency stop / M112 results in the Duet crashing and not starting up again (the thermostatic fan runs constantly) until the power is cycled.
Allowing a restart after editing config.g results in no tools being shown at all.
M122 Dump:
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.01-RC6 running on Duet 3 MB6HC v0.6 or 1.0 Board ID: 08DJM-956L2-G43S8-6J1FJ-3SD6M-9S3GF Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 154084 Dynamic ram: 161268 of which 24 recycled Exception stack ram used: 320 Never used ram: 77520 Tasks: NETWORK(ready,2076) HEAT(blocked,1196) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1436) TMC(blocked,216) MAIN(running,4920) IDLE(ready,76) Owned mutexes: === Platform === Last reset 00:06:48 ago, cause: power up Last software reset at 2020-04-03 21:25, reason: User, spinning module LinuxInterface, available RAM 77760 bytes (slot 3) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 43.4, current 46.9, max 47.0 Supply voltage: min 11.9, current 12.0, max 12.2, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.2, current 11.2, max 11.5, under voltage events: 0 Driver 0: standstill, reads 54044, writes 14 timeouts 0, SG min/max 0/0 Driver 1: standstill, reads 54044, writes 14 timeouts 0, SG min/max 0/0 Driver 2: standstill, reads 54045, writes 14 timeouts 0, SG min/max 0/0 Driver 3: standstill, reads 54046, writes 13 timeouts 0, SG min/max 0/0 Driver 4: standstill, reads 54047, writes 12 timeouts 0, SG min/max 0/0 Driver 5: standstill, reads 54048, writes 12 timeouts 0, SG min/max 0/0 Date/time: 2020-04-03 21:40:44 Slowest loop: 3.62ms; fastest: 0.21ms === 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 = 0 -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 ready with "M122" 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 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 0.66ms; 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 === Filament sensors === Extruder 0: pos 0.00, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 === CAN === Messages sent 1544, longest wait 0ms for type 0 === Linux interface === State: 0, failed transfers: 0 Last transfer: 18ms ago RX/TX seq numbers: 12011/12012 SPI underruns 0, overruns 0 Number of disconnects: 0 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v1.3.0.0 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 22.67
-
@ChrisP said in RepRapFirmware 3.01-RC6 released:
Running a Duet3 with an RPi4 as an SBC. Updated using apt and have ended up with loads of issues. The first was the "drive is unmounted" error everywhere and a screen the same as teh one in the post above which I could only get rid of by power cycling.
Glad to hear i'm not alone.
I don't know what the issue is. I did a back up of the pi sd a while ago and even when I revert to that and then update It has the same issues. Nothing works because the DWC says "drive is unmounted". -
@chas2706 Did power cycling fix that issue for you? It did for me. MInd you, even when that works, the printer is still unusable.
A colleague of mine is just upgrading an E3D toolchanger to the same Duet3 + SBC setup, has just updated before we saw all this and is now in the same situation. (edit: post below)
-
@tobias_munich I got the same behaviour after updating.
-
@ChrisP said in RepRapFirmware 3.01-RC6 released:
drive is unmounted
by the sound of it its unable to load the config.g so that could explain why nothing else works.
could you also try doing
ls -l /opt/dsf/sd
andls -l /opt/dsf/sd/sys
in an ssh shell to see what permissions you have?edit: or did the power cycle solve it?
-
@elliott-griffiths it’s frustrating.
After setting it up from scratch.
Means... downloading the current image, and setup a new sd...
still issues.
Stand-alone with SD, no problem.But the SBC version.
After starting with the new image the sbc connects to the duet. So far so good.
DWC is able to acces the virtual SD with all folders.
But after uploading the config.g to the sys folder and rebooting,
the system has problems to access to the virtual SD with a lot of error messages .
It’s not able to read and access any folder of the virtual SDIt’s so frustrating
-
@bearer said in RepRapFirmware 3.01-RC6 released:
@ChrisP said in RepRapFirmware 3.01-RC6 released:
drive is unmounted
by the sound of it its unable to load the config.g so that could explain why nothing else works.
could you also try doing
ls -l /opt/dsf/sd
andls -l /opt/dsf/sd/sys
in an ssh shell to see what permissions you have?Thanks for picking this up, but that is not the porblem at this point. I've only seen that error once immediately after update and after power cycle, that hasn't happened again.
Everything now seems to load and I can see all the files on the interface, however, it's still not booting properly. After a reinstall, I'm still getting a persistant "busy" state and no the tools show the bed, but not the extruder, temperature chart still sows both. Pressing emergency stop now seems to work, but then nothing is listed in the tools and it still sits being "Busy" - see image.
-
@tobias_munich said in RepRapFirmware 3.01-RC6 released:
But after uploading the config.g to the sys folder and rebooting,
care to share the file and/or try a empty file?
-
@bearer I tried a lot of ways ....
And after all the tests I made it seems it’s a problem with the virtual SD. -
But after uploading the config.g to the sys folder and rebooting,
the system has problems to access to the virtual SDAnd after all the tests I made it seems it’s a problem with the virtual SD.
no doubt about it, just curious if its the content or presence of the config.g file that makes a difference; as it seemed it did make a difference from your earlier post.
-
I'd also be interested to see what (if any) errors you have in the log for the DCS service:
sudo journalctl -u duetcontrolserver.service
Because I get a massive log full of this repeating. So I guress it's to do with my laser filament monitor in this case.
Apr 03 22:20:52 starttex DuetControlServer[359]: [error] Failed to merge JSON: {"key":"","flags":"d99fn","result":{"boards":[{"mcuTemp":{"current":47.2},"v12":{"current":11.3},"vIn":{"current":12.0}}],"fans":[{"actualValue":0,"requestedValue":1.00,"rpm":0},{"actualValue":0,"requestedValue":0,"rpm":-1}],"heat":{"heaters":[{"active":50.0,"current":20.5,"standby":0,"state":"standby"},{"active":200.0,"current":23.0,"standby":0,"state":"off"}]},"inputs":[{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":2450,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"},{"feedRate":50.0,"lineNumber":0,"state":"idle"}],"job":{"build":null,"duration":null,"filePosition":0,"layerTime":null,"timesLeft":{"filament":null,"file":null,"layer":null}},"move":{"axes":[{"homed":false,"machinePosition":0,"userPosition":0},{"homed":false,"machinePosition":0,"userPosition":0},{"homed":false,"machinePosition":0,"userPosition":0}],"currentMove":{"acceleration":0,"deceleration":0,"requestedSpeed":0,"topSpeed":0},"extruders":[{"position":0,"rawPosition":0}],"speedFactor":1.0},"sensors":{"analog":[{"lastReading":20.5},{"lastReading":23.0}],"endstops":[{"triggered":false},{"triggered":false},{"triggered":true}],"filamentMonitors":[{"filamentPresent":null}],"inputs":[{"value":null},{"value":true}],"probes":[{"value":[1000]}]},"seqs":{"boards":0,"directories":0,"fans":4,"heat":7,"inputs":1,"job":0,"move":13,"network":3,"reply":0,"sensors":2,"spindles":0,"state":0,"tools":5,"volumes":0},"spindles":[{"current":0},{"current":0}],"state":{"atxPower":null,"currentTool":-1,"laserPwm":null,"nextTool":-1,"previousTool":-1,"status":"idle","upTime":779},"tools":[{"active":[200.0],"standby":[0],"state":"off"}]}} Apr 03 22:20:52 starttex DuetControlServer[359]: System.Text.Json.JsonException: Failed to deserialize property [FilamentMonitor].FilamentPresent (type Boolean) from JSON null Apr 03 22:20:52 starttex DuetControlServer[359]: ---> System.Text.Json.JsonException: The JSON value could not be converted to System.Boolean. Path: $ | LineNumber: 0 | BytePositionInLine: 4. Apr 03 22:20:52 starttex DuetControlServer[359]: ---> System.InvalidOperationException: Cannot get the value of a token type 'Null' as a boolean. Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.Utf8JsonReader.GetBoolean() Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.Serialization.Converters.JsonConverterBoolean.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.JsonPropertyInfoNotNullable`4.OnRead(ReadStack& state, Utf8JsonReader& reader) Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader) Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.JsonSerializer.HandleNull(Utf8JsonReader& reader, ReadStack& state) Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack) Apr 03 22:20:52 starttex DuetControlServer[359]: --- End of inner exception stack trace --- Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& readStack, Utf8JsonReader& reader, Exception ex) Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack) Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader) Apr 03 22:20:52 starttex DuetControlServer[359]: at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options) Apr 03 22:20:52 starttex DuetControlServer[359]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 282 Apr 03 22:20:52 starttex DuetControlServer[359]: --- End of inner exception stack trace --- Apr 03 22:20:52 starttex DuetControlServer[359]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 287 Apr 03 22:20:52 starttex DuetControlServer[359]: at DuetAPI.Machine.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelCollection.cs:line 227 Apr 03 22:20:52 starttex DuetControlServer[359]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 264 Apr 03 22:20:52 starttex DuetControlServer[359]: at DuetAPI.Machine.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/Base/ModelObject.cs:line 248 Apr 03 22:20:52 starttex DuetControlServer[359]: at DuetAPI.Machine.MachineModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Machine/MachineModel.cs:line 134 Apr 03 22:20:52 starttex DuetControlServer[359]: at DuetControlServer.Model.Updater.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 140
Edit: and sure enough, commenting out my filament monitor in the config.g and everything (except for the filament monitor) is working again. Think this is one for @chrishamm .
-
@ChrisP said in RepRapFirmware 3.01-RC6 released:
Did power cycling fix that issue for you? It did for me. MInd you, even when that works, the printer is still unusable
How can you say that power cycling fixed it for you if the printer is still unusable?
-
@chas2706
Because power cycling fixed that issue (ie. the drive mounted and read file and config etc), but after rebooting it hit a different bug (mentioned in my post above) that still rendered the printer unusable at that point. -
Ok that's an improvement but for me power cycling, resetting or re-installing made no difference.
I've had to revert to RRF3.01RC3 but now running on the wrong version of DWC because there is no indication anywhere how we SBC users can download a specific version of DWC. -
This has learnt me a big lesson. Always, always, always make a current back up before you download a "new release"! My latest back up was from a few previous releases.
-
edit: NOPE, that was not a good idea.
maybe this works better, specifying all the packages to fulfill dependencies for duetsoftwareframework=1.2.5.0
grep duet3d -r /etc/apt | grep unstable && sudo apt install duetcontrolserver=1.2.5.0 duetsd=1.0.5 duettools=1.2.5.0 duetwebserver=1.2.3.1 duetwebcontrol=2.0.7-1 reprapfirmware=1.2.5.0-1 duetruntime=1.2.5.0 duetsoftwareframework=1.2.5.0 || echo Please swtich to unstable list.
edit changed to fail if not on unstable list.
Also according to chrishamm switching to instead of adding the unstable list may be the way to go
#comment out stable list sudo sed -i '/ stable/s/^/#/g' /etc/apt/sources.list.d/duet3d.list #add unstable list echo "deb https://pkg.duet3d.com/ unstable armv7" | sudo tee /etc/apt/sources.list.d/duet3d-unstable.list
-
@chas2706 said in RepRapFirmware 3.01-RC6 released:
Ok that's an improvement but for me power cycling, resetting or re-installing made no difference.
I've had to revert to RRF3.01RC3 but now running on the wrong version of DWC because there is no indication anywhere how we SBC users can download a specific version of DWC.As @bearer pointa out, rolling back isn't tricky. Tbh, theres a reason that it's a beta firmware, so it should be obvious that backups are wise when trying a new "upgrade".
I'd still be interested to know the output of you logs for the DCS service.
-
the start of the log is probably more relevant than the end of it.
-
@ChrisP said in RepRapFirmware 3.01-RC6 released:
As @bearer pointa out, rolling back isn't tricky. Tbh, theres a reason that it's a beta firmware, so it should be obvious that backups are wise when trying a new "upgrade".
I understand the meaning of beta firmware but if you have Duet3 with SBC and dare to "upgrade" there is no guarantee that if upon failure an older backup will work.
I now have this problem running RRF3.01.RC3 from a backup:So now I will be spending numerous hours starting afresh!
-
@chas2706 said in RepRapFirmware 3.01-RC6 released:
there is no guarantee that if upon failure an older backup will work.
that would imply your backup isn't covering your needs. simply shutting down the pi and cloning or imaging the SD card would take care of all but the RRF firmware on the Duet which can be flashed after restoring an old SD card. (caveat if they changed the iap binary)