Update to 3.2beta3 failed
-
Hello,
As @Phaedrux suggested I changed my setup to power the Pi separately and as expected it was still working perfectly.
And then I saw that @dc42 released the version 3.2beta3.2 of ReprapFirmware and that one of the purpose of this release is to address communication issues with an attached single board computer. So I decided to give a new shot to the 3.2beta3 and... I encountered the same issue that the one described in my first post
The upgrade is stuck on "Sending update request to DCS..." for 25 minutes now and DuetWebControl is displaying this message: "Please wait while updates are being installed...". Usually this process takes a few seconds and I'm pretty sure that if I stop the upgrade I'll have the same communication problem as before.Here are the upgrade logs:
sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: duetcontrolserver duetruntime duetsd duetsoftwareframework duettools duetwebcontrol duetwebserver reprapfirmware 8 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 33.9 MB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] Get:1 https://pkg.duet3d.com unstable/armv7 armhf duetsoftwareframework armhf 3.2.0-beta3 [2,034 B] Get:2 https://pkg.duet3d.com unstable/armv7 armhf duetsd all 1.1.0 [2,102 B] Get:3 https://pkg.duet3d.com unstable/armv7 armhf duettools armhf 3.2.0-beta3 [62.2 kB] Get:4 https://pkg.duet3d.com unstable/armv7 armhf duetcontrolserver armhf 3.2.0-beta3 [226 kB] Get:5 https://pkg.duet3d.com unstable/armv7 armhf duetruntime armhf 3.2.0-beta3 [28.9 MB] Get:6 https://pkg.duet3d.com unstable/armv7 armhf duetwebserver armhf 3.2.0-beta3 [83.9 kB] Get:7 https://pkg.duet3d.com unstable/armv7 armhf duetwebcontrol all 3.2.0-beta3 [3,507 kB] Get:8 https://pkg.duet3d.com unstable/armv7 armhf reprapfirmware all 3.2.0-beta3-2 [1,157 kB] Fetched 33.9 MB in 10s (3,450 kB/s) Reading changelogs... Done (Reading database ... 57772 files and directories currently installed.) Preparing to unpack .../0-duetsoftwareframework_3.2.0-beta3_armhf.deb ... Unpacking duetsoftwareframework (3.2.0-beta3) over (3.1.1) ... Preparing to unpack .../1-duetsd_1.1.0_all.deb ... Unpacking duetsd (1.1.0) over (1.0.6) ... Preparing to unpack .../2-duettools_3.2.0-beta3_armhf.deb ... Unpacking duettools (3.2.0-beta3) over (3.1.1) ... Preparing to unpack .../3-duetcontrolserver_3.2.0-beta3_armhf.deb ... Unpacking duetcontrolserver (3.2.0-beta3) over (3.1.1) ... Preparing to unpack .../4-duetruntime_3.2.0-beta3_armhf.deb ... Unpacking duetruntime (3.2.0-beta3) over (3.1.1) ... Preparing to unpack .../5-duetwebserver_3.2.0-beta3_armhf.deb ... Unpacking duetwebserver (3.2.0-beta3) over (3.1.0) ... Preparing to unpack .../6-duetwebcontrol_3.2.0-beta3_all.deb ... Unpacking duetwebcontrol (3.2.0-beta3) over (3.1.1) ... Preparing to unpack .../7-reprapfirmware_3.2.0-beta3-2_all.deb ... Unpacking reprapfirmware (3.2.0-beta3-2) over (3.1.1-1) ... Setting up duetruntime (3.2.0-beta3) ... Setting up duetcontrolserver (3.2.0-beta3) ... Installing new version of config file /opt/dsf/conf/config.json ... Creating group dsf with gid 995. Creating user dsf (n/a) with uid 995 and gid 995. Setting up duettools (3.2.0-beta3) ... Setting up duetwebserver (3.2.0-beta3) ... Setting up duetsoftwareframework (3.2.0-beta3) ... To modify config files consider adding yourself to the dsf groupd: # usermod -a -G dsf <username> Setting up duetwebcontrol (3.2.0-beta3) ... Setting up duetsd (1.1.0) ... Setting up reprapfirmware (3.2.0-beta3-2) ... Sending update request to DCS...
So before I reboot and flash everything again, do you want me to try something or get some logs?
-
Once you update your Pi to 3.2-b3.2, you should be able to connect to RRF 3.1.1. But it's quite odd that you cannot connect to it any more when you update the firmware on the board via DSF. Can you attempt to flash the b3.2 binary manually via bossa and check if it boots then? Does the diag LED pulse once the new firmware binary is installed?
-
@chrishamm Hi, I flashed the Duet to version b3.2 via bossa, the dial LED was pulsing but the communication between the Duet and the Pi was still broken. So I flashed version 3.1.1 to the Duet and now the communication works again even if the Pi is still on version 3.2-b3.2.
-
@Lucas Can you please run
sudo journalctl -u duetcontrolserver -e
over SSH or from a local terminal when the latest firmware is installed and check what error is reported? It sounds really strange that it works with 3.1.1 but not with 3.2.0-b3.2. -
@chrishamm Here is the result of "sudo journalctl -u duetcontrolserver -e" after I tried again to upgrade to 3.2b3.2:
-- Logs begin at Sat 2020-11-14 23:00:45 CET, end at Sat 2020-11-14 23:05:01 CET. -- Nov 14 23:00:49 duet3 systemd[1]: Started Duet Control Server. Nov 14 23:00:52 duet3 DuetControlServer[388]: Duet Control Server v3.1.1 Nov 14 23:00:52 duet3 DuetControlServer[388]: Written by Christian Hammacher for Duet3D Nov 14 23:00:52 duet3 DuetControlServer[388]: Licensed under the terms of the GNU Public License Version 3 Nov 14 23:00:53 duet3 DuetControlServer[388]: [info] Settings loaded Nov 14 23:00:53 duet3 DuetControlServer[388]: [info] Environment initialized Nov 14 23:00:53 duet3 DuetControlServer[388]: [info] Connection to Duet established Nov 14 23:00:54 duet3 DuetControlServer[388]: [info] IPC socket created at /var/run/dsf/dcs.sock Nov 14 23:01:32 duet3 DuetControlServer[388]: [info] System time has been changed Nov 14 23:02:22 duet3 systemd[1]: Stopping Duet Control Server... Nov 14 23:02:22 duet3 DuetControlServer[388]: [warn] Received SIGTERM, shutting down... Nov 14 23:02:22 duet3 systemd[1]: duetcontrolserver.service: Main process exited, code=exited, status=143/n/a Nov 14 23:02:22 duet3 systemd[1]: duetcontrolserver.service: Failed with result 'exit-code'. Nov 14 23:02:22 duet3 systemd[1]: Stopped Duet Control Server. Nov 14 23:02:42 duet3 systemd[1]: Started Duet Control Server. Nov 14 23:02:42 duet3 DuetControlServer[1132]: Duet Control Server v3.2.0-beta3 Nov 14 23:02:42 duet3 DuetControlServer[1132]: Written by Christian Hammacher for Duet3D Nov 14 23:02:42 duet3 DuetControlServer[1132]: Licensed under the terms of the GNU Public License Version 3 Nov 14 23:02:43 duet3 DuetControlServer[1132]: [info] Settings loaded Nov 14 23:02:44 duet3 DuetControlServer[1132]: [info] Environment initialized Nov 14 23:02:44 duet3 DuetControlServer[1132]: [warn] Downgrading protocol version 3 to 2 Nov 14 23:02:44 duet3 DuetControlServer[1132]: [warn] Incompatible firmware, please upgrade as soon as possible Nov 14 23:02:44 duet3 DuetControlServer[1132]: [info] Connection to Duet established Nov 14 23:02:44 duet3 DuetControlServer[1132]: [info] IPC socket created at /var/run/dsf/dcs.sock Nov 14 23:02:45 duet3 DuetControlServer[1132]: [error] Failed to merge JSON: {"key":"spindles","flags":"d99vn","result":[{"active":0,"current":0,"frequency":0,"max":10000.0000000,"tool":-1},{"active":0,"current":0,"frequency":0,"max":100 Nov 14 23:02:45 duet3 DuetControlServer[1132]: System.Text.Json.JsonException: Failed to deserialize property [Spindle].Max (type Int32) from JSON 10000.0000000 Nov 14 23:02:45 duet3 DuetControlServer[1132]: ---> System.Text.Json.JsonException: The JSON value could not be converted to System.Int32. Path: $ | LineNumber: 0 | BytePositionInLine: 13. Nov 14 23:02:45 duet3 DuetControlServer[1132]: ---> System.FormatException: Either the JSON value is not in a supported format, or is out of bounds for an Int32. Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.Utf8JsonReader.GetInt32() Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.Serialization.Converters.JsonConverterInt32.Read(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options) Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.JsonPropertyInfoNotNullable`4.OnRead(ReadStack& state, Utf8JsonReader& reader) Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.JsonPropertyInfo.Read(JsonTokenType tokenType, ReadStack& state, Utf8JsonReader& reader) Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack) Nov 14 23:02:45 duet3 DuetControlServer[1132]: --- End of inner exception stack trace --- Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& readStack, Utf8JsonReader& reader, Exception ex) Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.JsonSerializer.ReadCore(JsonSerializerOptions options, Utf8JsonReader& reader, ReadStack& readStack) Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.JsonSerializer.ReadCore(Type returnType, JsonSerializerOptions options, Utf8JsonReader& reader) Nov 14 23:02:45 duet3 DuetControlServer[1132]: at System.Text.Json.JsonSerializer.Deserialize(String json, Type returnType, JsonSerializerOptions options) Nov 14 23:02:45 duet3 DuetControlServer[1132]: at DuetAPI.ObjectModel.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/ObjectModel/Base/ModelO Nov 14 23:02:45 duet3 DuetControlServer[1132]: --- End of inner exception stack trace --- Nov 14 23:02:45 duet3 DuetControlServer[1132]: at DuetAPI.ObjectModel.ModelObject.UpdateFromJson(JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/ObjectModel/Base/ModelO Nov 14 23:02:45 duet3 DuetControlServer[1132]: at DuetAPI.ObjectModel.ModelCollectionHelper.UpdateFromJson(IList list, Type itemType, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/Duet3D/DuetSoftwareFramewor Nov 14 23:02:45 duet3 DuetControlServer[1132]: at DuetAPI.ObjectModel.ObjectModel.InternalUpdateFromModel(String key, JsonElement jsonElement, Boolean ignoreSbcProperties) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/Ob Nov 14 23:02:45 duet3 DuetControlServer[1132]: at DuetAPI.ObjectModel.ObjectModel.UpdateFromFirmwareModel(String key, JsonElement jsonElement) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetAPI/ObjectModel/ObjectModel.cs:line Nov 14 23:02:45 duet3 DuetControlServer[1132]: at DuetControlServer.Model.Updater.Run() in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetControlServer/Model/Updater.cs:line 212 Nov 14 23:02:50 duet3 DuetControlServer[1132]: [info] Flashing IAP binary Nov 14 23:02:51 duet3 DuetControlServer[1132]: [info] Flashing RepRapFirmware Nov 14 23:02:57 duet3 DuetControlServer[1132]: [info] Verifying checksum Nov 14 23:02:59 duet3 DuetControlServer[1132]: [info] Firmware update successful Nov 14 23:03:00 duet3 DuetControlServer[1132]: [warn] Lost connection to Duet (Timeout while waiting for transfer ready pin)
And for information it worked great with versions 3.2b1 and 3.2b2
-
Very strange. I suspect you have a microSD card in the Duet that prevents the SBC from connecting. If that is not the case, can you connect once again via YAT with 3.2.0-b3.2 installed and post the output of M122?
-
Yes I do have a SD card on the Duet, am I not supposed to?
-
I removed the SD card on the duet and rebooted and now the communication works even with version 3.2b3.2
Thank you @chrishamm for your help!
-
@Lucas no. The SD card is the indicator for whether the duet is in standalone mode or not.
SD card = standalone
No SD card = SBC mode -
@jay_s_uk Okay thanks I didn't know. I had this SD card on the Duet since the beginning without any trouble and I forget about it.
Anyway I removed it and it works great now