Update to 3.2beta3 failed
-
Hello,
I have a Duet 3 MB6HC with a Raspberry Pi attached running RRF3.2 beta 2. I tried to update to version 3.2beta3 with:
sudo apt-get update sudo apt-get upgrade
But it stayed blocked on "Sending DWC update" or "Sending DCS update" I can't remember. After a few hours I had to reboot the raspberry. Now if I try to go to Duet Web Control I have the following error message: "Failed to connect to Duet, please check your connection (DCS is not started)".
I tried to downgrade to 3.1.1 following this topic: https://forum.duet3d.com/topic/19257/downgrade-from-3-2beta2-to-3-1-1/9 but I got an error as well: "[fatal] Could not connect to Duet (Timeout while waiting for transfer ready pin)"Any idea of what I can do?
Thanks
-
@Lucas
You have two choices.
Either setup a usb card to use the duet in standalone mode. In there you can downgrade the firmware to 3.1.1 and then go back to using the pi.Or you'll need to use bossa to sort out the firmware on the duet.
If you've got 3.1.1 installed on the pi, downgrade the duet to that.
https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_Fallback_procedure_Num_3 -
@jay_s_uk Thanks I'll look into it
-
-
I managed to connect to the duet via USB and YAT and the firmware version is 3.2 beta3 and it seems to work well.
Here is the M122 diagnostic:
=== Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2-beta3 running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode) Board ID: 08DJM-956L2-G43S8-6J1F0-3SS6K-9A1QH Used output buffers: 1 of 40 (1 max) === RTOS === Static ram: 122124 Dynamic ram: 166656 of which 228 recycled Never used RAM 103184, free system stack 188 words Tasks: NETWORK(ready,547) HEAT(blocked,365) CanReceiv(blocked,948) CanSender(blocked,371) CanClock(blocked,356) TMC(blocked,66) MAIN(running,1352) IDLE(ready,19) Owned mutexes: USB(MAIN) === Platform === Last reset 00:00:42 ago, cause: power up Last software reset time unknown, reason: User, GCodes spinning, available RAM 103184, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0x00 MCU temperature: min 30.2, current 35.7, max 35.9 Supply voltage: min 0.2, current 0.2, max 1.9, under voltage events: 0, over voltage events: 0, power good: no 12V rail voltage: min 0.1, current 0.1, max 0.2, under voltage events: 0 Driver 0: position 0, ok, reads 0, writes 0 timeouts 0, SG min/max 0/0 Driver 1: position 0, ok, reads 0, writes 0 timeouts 0, SG min/max 0/0 Driver 2: position 0, ok, reads 0, writes 0 timeouts 0, SG min/max 0/0 Driver 3: position 0, ok, reads 0, writes 0 timeouts 0, SG min/max 0/0 Driver 4: position 0, ok, reads 0, writes 0 timeouts 0, SG min/max 0/0 Driver 5: position 0, ok, reads 0, writes 0 timeouts 0, SG min/max 0/0 Date/time: 1970-01-01 00:00:00 Slowest loop: 8.44ms; fastest: 0.14ms === Storage === Free file entries: 10 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 3.2ms, write time 0.0ms, max retries 0 === 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, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, StepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = -1 -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 idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is ready with "M122" 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: 0.23ms; fastest: 0.01ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions 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 === CAN === Messages sent 0, send timeouts 0, longest wait 0ms for type 0, free CAN buffers 47 ok
Version 3.2beta3 seems to be installed on the Raspberry too but the connection between the duet and the Pi doesn't works.
Should I still try to flash the duet to install version 3.1.1 or run it in standalone mode or is there something I can do to restore the connection between the Pi and the duet?
-
On the Pi side you might want to try preparing a new SD card with the latest DuetPi image and then trying to update to the unstable branch.
https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_DuetPi
https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Software_Installation
-
@Phaedrux Okay thanks I'll do that
-
Hello, I prepared a new SD card with the latest DuetPi image but I still have an error while trying to update to the unstable branch:
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 34.0 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-1 [1,260 kB] Fetched 34.0 MB in 9s (3,647 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-1_all.deb ... Unpacking reprapfirmware (3.2.0-beta3-1) 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-1) ... [fatal] Could not connect to Duet (Timeout while waiting for transfer ready pin)
I don't understand why the connection between the Duet and the Pi doesn't work anymore.
-
-
@chrishamm I think he's got 3.2beta3 on the duet and on the Pi, but no communication between them.
@Lucas Can you test continuity of your ribbon cable?
How do you have the Pi and Duet powered?
-
@Phaedrux the Pi is powered by the Duet via the ribbon cable and the duet is powered by a 24V power supply on the "Power In" connector.
I flashed the Duet to the version 3.1.1 and flashed the Pi again too and now it's working. I'll stay on the stable version for now.
I don't really know why the communication was broken because both the Duet and the Pi seemed to work fine on their own.
Anyway, thanks everyone for your help!
-
@Lucas said in Update to 3.2beta3 failed:
the Pi is powered by the Duet via the ribbon cable and the duet is powered by a 24V power supply on the "Power In" connector.
Pi3 or Pi4? Any peripherals? It's probably a good idea to power both the duet and Pi separately.
https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Hardware_Overview#Section_5V
-
@Phaedrux It's a Pi3 and the only peripheral is the official raspberry camera. I didn't knew it's recommended to power them separately, I'll change my wiring. Thanks for the information!
-
@Lucas It was originally hoped that powering the SBC from the duet would be possible, and with the Pi3 it usually is, provided there are no high powered peripherals, but the pi4 uses more power than the pi3. And once you add a peripheral like a usb powered display all bets are off.
It would be worth testing with them powered separately at any rate.
-
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?