Connection error to 1XD boards after reset, but OK at power on.
-
Hi everyone,
We have a problem with a printer who has all axis with 1XD boards (XYYZUV), SBC mode and v3.4.0B5.
When power it on, everything works right after booting up, but if we made a reset or any modification in config.g, after rebooting it shows that:
Error: M584: Driver 40.0 does not exist Driver 41.0 does not exist Driver 42.0 does not exist Driver 43.0 does not exist Driver 44.0 does not exist Driver 45.0 does not exist
Of course, in this moment test each board with M122 B40 to B45 and reports OK all of them (ex. B40):
m122 b40 Diagnostics for board 40: Duet EXP1XD firmware version 3.4.0beta5 (2021-10-12 13:58:21) Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1) Never used RAM 5504, free system stack 2743 words Tasks: Move(notifyWait,0.0%,111) HEAT(notifyWait,0.1%,115) CanAsync(notifyWait,0.0%,60) CanRecv(notifyWait,0.0%,75) CanClock(notifyWait,0.0%,64) MAIN(running,96.3%,448) IDLE(ready,0.0%,40) AIN(delaying,3.5%,142), total 100.0% Last reset 00:09:25 ago, cause: power up Last software reset data not available Driver 0: pos -8132, 150.5 steps/mm, steps req 204110 done 180927 Moves scheduled 785, completed 785, in progress 0, hiccups 0, step errors 0, maxPrep 447, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0 Peak sync jitter 5/9, peak Rx sync delay 210, resyncs 0/1, no step interrupt scheduled VIN voltage: min 24.3, current 24.4, max 24.4 MCU temperature: min 21.8C, current 26.2C, max 26.2C Last sensors broadcast 0x00000000 found 0 154 ticks ago, loop time 0 CAN messages queued 4555, send timeouts 0, received 7930, lost 0, free buffers 37, min 37, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 325, adv 35228/98869
The same with the other boards.
We have a 3 seconds delay in the config.g to have time enough the boards to start, and increase this time doesn't fix the problem having said when booting from powered off always load them and works.
This wasn't happening in the beta4 with same configs.What can we look for?
-
@marcossf does sending M98 P"config.g" fix the issue?
-
@t3p3tony No, it doesn't.
21/10/2021 10:28:03 M98 P"config.g" 21/10/2021 10:28:03 PRINTER READY, TRY HOMING ALL 21/10/2021 10:28:03 Error: M584: Driver 40.0 does not exist Driver 41.0 does not exist Driver 42.0 does not exist Driver 43.0 does not exist Driver 44.0 does not exist Driver 45.0 does not exist 21/10/2021 10:27:58 Error: M550: Machine name must consist of the same letters and digits as configured by the Linux hostname 21/10/2021 10:27:58 CORS disabled 21/10/2021 10:27:58 CORS disabled 21/10/2021 10:27:58 CORS disabled 21/10/2021 10:27:28 PRINTER READY, TRY HOMING ALL 21/10/2021 10:27:28 Error: M584: Driver 40.0 does not exist Driver 41.0 does not exist Driver 42.0 does not exist Driver 43.0 does not exist Driver 44.0 does not exist Driver 45.0 does not exist 21/10/2021 10:27:23 Error: M550: Machine name must consist of the same letters and digits as configured by the Linux hostname 21/10/2021 10:27:23 CORS disabled 21/10/2021 10:27:23 Connection established 21/10/2021 10:27:23 CORS disabled 21/10/2021 10:27:23 CORS disabled 21/10/2021 10:27:19 Connection interrupted, attempting to reconnect... DCS has been stopped 21/10/2021 10:27:18 Upload of config.g successful after 0s 21/10/2021 10:27:11 Connected to 192.168.2.191:3000
-
@marcossf this is a known issue. If you reset the main board but not the expansion boards, then the expansion boards don't announce themselves to the main board, therefore the main board doesn't know about them. We plan to fix it in release 3.5 or possibly in 3.4 stable.
The following may resolve it:
-
In your config.g file make sure you have a M569 command for each remote driver before the M584 command.
-
In config.g you will have a command something like:
M569 P40.0 S#
where # is 0 or 1 s required by your machine. Change it to this, preserving your current S parameter in both M569 lines:
M569 P40.0 S# if result > 1 M999 B40 G4 S2 M569 P40.0 S#
This attempts to reset the expansion board if the M569 command fails, which will make the board announce itself again, and re-run the M569 command after a delay. Repeat for the other expansion boards.
-
-
@dc42 OK, we'll try this workaround.
When do you expect a stable (long term) version to be available?
-
@dc42 We added the proposed code to the config.g M569 but it couldn't fix the problem. Still happens.
M569 P40.0 S1 ; physical drive 40 goes forwards X if result > 1 M999 B40 ; restart board 40 G4 S2 ; wait 2 sec M569 P40.0 S1 ; retry command M569 P41.0 S0 ; physical drive 41 goes forwards Y1 if result > 1 M999 B41 ; restart board 41 G4 S2 ; wait 2 sec M569 P41.0 S0 ; retry command M569 P42.0 S0 ; physical drive 42 goes forwards Y2 if result > 1 M999 B42 ; restart board 42 G4 S2 ; wait 2 sec M569 P42.0 S0 ; retry command M569 P43.0 S0 ; physical drive 43 goes backwards Z1 (Z) if result > 1 M999 B43 ; restart board 43 G4 S2 ; wait 2 sec M569 P43.0 S0 ; retry command M569 P44.0 S0 ; physical drive 44 goes backwards Z2 (U) if result > 1 M999 B44 ; restart board 44 G4 S2 ; wait 2 sec M569 P44.0 S0 ; retry command M569 P45.0 S0 ; physical drive 45 goes backwards Z3 (V) if result > 1 M999 B45 ; restart board 45 G4 S2 ; wait 2 sec M569 P45.0 S0 ; retry command M584 X40.0 Y41.0:42.0 Z43.0 U44.0 V45.0 E20.0:21.0:22.0 ; set axis drive mapping
This only happens with the 1XD boards, the 1LC boards are well detected after the reset.
A M112+M999 cause the boards were detected fine as well without need to switch it off completely.
-
@marcossf I guess my theory was incorrect.
Please can you do the following:
- Power up so that everything is working.
- Send M409 k"boards" and save the response.
- Reset the main board only, in such a way that you get these errors.
- Send M409 k"boards" again and save the response.
Then post the two M409 messages in this thread.
I've just tried this on a system that includes a single EXP1XD, and in this case after resetting the main board using M999, all boards were recognised including the 1XD. Maybe it's different on your system.
-
@dc42
After power on and sucessfull homing:M409 k"boards" { "key": "boards", "flags": "", "result": [ { "canAddress": 0, "firmwareDate": "2021-10-12", "firmwareFileName": "Duet3Firmware_MB6HC.bin", "firmwareName": "RepRapFirmware for Duet 3 MB6HC", "firmwareVersion": "3.4.0beta5", "iapFileNameSBC": "Duet3_SBCiap32_MB6HC.bin", "iapFileNameSD": "Duet3_SDiap32_MB6HC.bin", "mcuTemp": { "current": 47.7, "max": 47.8, "min": 27.4 }, "name": "Duet 3 MB6HC", "shortName": "MB6HC", "uniqueId": "08DJM-956L2-G43S4-6J9F4-3S46N-TU4QD", "v12": { "current": 12.2, "max": 12.3, "min": 12.1 }, "vIn": { "current": 24, "max": 24.1, "min": 23.7 } }, { "canAddress": 20, "firmwareDate": "2021-10-12 13:59", "firmwareFileName": "Duet3Firmware_TOOL1LC.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 37.6, "max": 38, "min": 25.7 }, "shortName": "TOOL1LC", "state": "running", "uniqueId": "4DXBX-8KANL-M25J0-401GQ-1V40Z-RKLP5", "vIn": { "current": 23.8, "max": 23.9, "min": 11.1 } }, { "canAddress": 21, "firmwareDate": "2021-10-12 13:59", "firmwareFileName": "Duet3Firmware_TOOL1LC.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 34.4, "max": 34.5, "min": 22.2 }, "shortName": "TOOL1LC", "state": "running", "uniqueId": "HM418-9LANL-M25J0-401G6-2JD0Z-HLUHQ", "vIn": { "current": 24.1, "max": 24.1, "min": 24 } }, { "canAddress": 22, "firmwareDate": "2021-10-12 13:59", "firmwareFileName": "Duet3Firmware_TOOL1LC.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 36.8, "max": 37, "min": 25.2 }, "shortName": "TOOL1LC", "state": "running", "uniqueId": "YN62R-PLANL-M25J0-401G2-J9D0Z-7XPM9", "vIn": { "current": 24.2, "max": 24.2, "min": 24.1 } }, { "canAddress": 40, "firmwareDate": "2021-10-12 13:58", "firmwareFileName": "Duet3Firmware_EXP1XD.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 30.4, "max": 30.5, "min": 23.7 }, "shortName": "EXP1XD", "state": "running", "uniqueId": "SF2PJ-GDA7A-N25J0-40KM4-LNS2Z-76T99", "vIn": { "current": 24.4, "max": 24.5, "min": 24.3 } }, { "canAddress": 41, "firmwareDate": "2021-10-12 13:58", "firmwareFileName": "Duet3Firmware_EXP1XD.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 32.5, "max": 32.7, "min": 25.1 }, "shortName": "EXP1XD", "state": "running", "uniqueId": "QMG9N-ZHA7A-N25J0-40KMS-K3W2Z-ZB5KL", "vIn": { "current": 24, "max": 24.1, "min": 24 } }, { "canAddress": 42, "firmwareDate": "2021-10-12 13:58", "firmwareFileName": "Duet3Firmware_EXP1XD.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 31.8, "max": 32, "min": 23.2 }, "shortName": "EXP1XD", "state": "running", "uniqueId": "KYY79-QFA7A-N25J0-40KM0-3NS2Z-ZHMSB", "vIn": { "current": 24.3, "max": 24.3, "min": 24.2 } }, { "canAddress": 43, "firmwareDate": "2021-10-12 13:58", "firmwareFileName": "Duet3Firmware_EXP1XD.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 32.6, "max": 32.6, "min": 22.7 }, "shortName": "EXP1XD", "state": "running", "uniqueId": "3XP3F-HB9R9-N25J0-40TKU-2PS1Z-RR2JK", "vIn": { "current": 24.6, "max": 24.6, "min": 24.5 } }, { "canAddress": 44, "firmwareDate": "2021-10-12 13:58", "firmwareFileName": "Duet3Firmware_EXP1XD.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 33.2, "max": 33.3, "min": 22.8 }, "shortName": "EXP1XD", "state": "running", "uniqueId": "F0SDL-N89R9-N25J0-40TKU-K0S1Z-Z90QN", "vIn": { "current": 24.3, "max": 24.3, "min": 24.2 } }, { "canAddress": 45, "firmwareDate": "2021-10-12 13:58", "firmwareFileName": "Duet3Firmware_EXP1XD.bin", "firmwareVersion": "3.4.0beta5", "mcuTemp": { "current": 35.7, "max": 35.8, "min": 25.7 }, "shortName": "EXP1XD", "state": "running", "uniqueId": "UB3BT-189R9-N25J0-40TK6-L8W1Z-HN3M8", "vIn": { "current": 24.3, "max": 24.4, "min": 24.3 } } ], "next": 0 }
After reset the board with M999:
21/10/2021 18:47:10 M409 k"boards" { "key": "boards", "flags": "", "result": [ { "canAddress": 0, "firmwareDate": "2021-10-12", "firmwareFileName": "Duet3Firmware_MB6HC.bin", "firmwareName": "RepRapFirmware for Duet 3 MB6HC", "firmwareVersion": "3.4.0beta5", "iapFileNameSBC": "Duet3_SBCiap32_MB6HC.bin", "iapFileNameSD": "Duet3_SDiap32_MB6HC.bin", "mcuTemp": { "current": 47.8, "max": 47.9, "min": 47.5 }, "name": "Duet 3 MB6HC", "shortName": "MB6HC", "uniqueId": "08DJM-956L2-G43S4-6J9F4-3S46N-TU4QD", "v12": { "current": 12.2, "max": 12.2, "min": 12.1 }, "vIn": { "current": 24, "max": 24, "min": 24 } }, { "canAddress": 20, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 37.7, "max": 38, "min": 25.7 }, "shortName": "", "state": "running", "vIn": { "current": 23.8, "max": 23.9, "min": 11.1 } }, { "canAddress": 21, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 34.6, "max": 34.6, "min": 22.2 }, "shortName": "", "state": "running", "vIn": { "current": 24.1, "max": 24.1, "min": 24 } }, { "canAddress": 22, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 36.9, "max": 37, "min": 25.2 }, "shortName": "", "state": "running", "vIn": { "current": 24.2, "max": 24.2, "min": 24.1 } }, { "canAddress": 40, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 30.6, "max": 30.6, "min": 23.7 }, "shortName": "", "state": "running", "vIn": { "current": 24.4, "max": 24.5, "min": 24.3 } }, { "canAddress": 41, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 32.8, "max": 32.9, "min": 25.1 }, "shortName": "", "state": "running", "vIn": { "current": 24, "max": 24.1, "min": 24 } }, { "canAddress": 42, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 31.9, "max": 32, "min": 23.2 }, "shortName": "", "state": "running", "vIn": { "current": 24.3, "max": 24.3, "min": 24.2 } }, { "canAddress": 43, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 32.7, "max": 32.7, "min": 22.7 }, "shortName": "", "state": "running", "vIn": { "current": 24.6, "max": 24.6, "min": 24.5 } }, { "canAddress": 44, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 33.4, "max": 33.5, "min": 22.8 }, "shortName": "", "state": "running", "vIn": { "current": 24.3, "max": 24.3, "min": 24.2 } }, { "canAddress": 45, "firmwareDate": "", "firmwareFileName": "", "firmwareVersion": "", "mcuTemp": { "current": 35.9, "max": 35.9, "min": 25.7 }, "shortName": "", "state": "running", "vIn": { "current": 24.3, "max": 24.4, "min": 24.3 } } ], "next": 0 }
Boot console after the M999 reset :
21/10/2021 18:46:15 PRINTER READY, TRY HOMING ALL 21/10/2021 18:46:14 Error: M584: Driver 40.0 does not exist Driver 41.0 does not exist Driver 42.0 does not exist Driver 43.0 does not exist Driver 44.0 does not exist Driver 45.0 does not exist 21/10/2021 18:46:11 Connection established 21/10/2021 18:46:07 Connection interrupted, attempting to reconnect... DCS has been stopped 21/10/2021 18:46:07 m999
If reset from DWC with M112 + M999, it loads all the tools like the way it does at power on.
-
@dc42 Hi David, have you been able to see this? It's very annoying to be doing resets every time we test a configuration.
Is this happening to anyone else?
-
@marcossf please post your config.g file.
After you run M999 and get those errors on the console, if you then run M98 P"config.g" do you get the same errors again?