Error: Invalid remote handle
-
Hardware: Using a Duet 3 6HC Mainboard with a 1LC toolboard wired directly to RJ11 CAN Connector
Problem: Getting an "Error: Invalid remote handle" when running M98 P"config.g" and can't figure out why.
Details: The boards seem to be communicating fine w/ the toolboard when checking with M115. Updated both boards' firmware. 6HC has v3.4.6 and the 1LC has v3.4.4. Is that difference the problem? That seems to be the most up-to-date 1LC firmware so do I need to downgrade my 6HC board to 3.4.4? The CAN address for the board is 20.
I realize there's some other issues in my M98, but starting with this one
M98 result:
Error: Invalid remote handle
Error: Pin 20.io0.out is not free
Error: Invalid Z probe index
Error: bad drive number
Error: in file macro line 65: G10: Invalid tool number
Error: in file macro line 66: G10: Invalid tool number
Warning: Macro file config-override.g not foundConfig:
; Enable network if {network.interfaces[0].type = "ethernet"} M552 P192.168.1.14 S1 else M552 S1 ;Enable PanelDue M575 P1 S1 B57600 ;General Prefrences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"RL1 V3" ; set printer name M669 K1 ; switch to CoreXY mode ; Drives M569 P0.0 S1 ; X motor runs forwards M569 P0.1 S0 ; Y motor runs forwards M569 P0.2 S1 ; Z1 motor runs M569 P0.4 S1 ; Z2 motor runs M569 P0.5 S1 ; Z3 motor runs M569 P20.0 S1 ; E moves forward M584 X0.0 Y0.1 Z0.2:0.4:0.5 E20.0 ; Set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E690 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E300 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E7200 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E3000 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 I30 ; set motor currents (mA) and motor idle factor in per cent M906 E1200 I10 ; extruder current and idle factor M572 D0 S0.02 ; pressure advance-to be calibrated M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ;set axis minima M208 X100 Y100 Z125 S0 ;set axis maxima ; Endstops M574 X1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in M574 Y2 S1 P"io2.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io1.in M574 Z2 S1 P"io3.in+io4.in+io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on Z ; Z-Probe M950 S0 C"20.io0.out" ; create servo pin 0 for BLTouch (use IO_4/5/7 for 6HC) M558 P9 C"20.io0.out" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X25 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:75 Y15:75 S10 ; define mesh grid ; Heaters M308 S1 P"20.temp1" Y"pt1000" ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"20.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"20.out1" Q500 ; create fan 0 on toolboard out1 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"20.out2" Q500 ; create fan 1 on toolboard io2 and set its frequency M106 P1 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on ;Tool Definitions M563 P1 D20.0 H1 F0:1 ; tool 0 uses extruder drive 0 and heater 1. Fan 0 and Fan 1 are mapped to tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Epilogue M556 S100 X0 Y0 Z0 ; Put your axis compensation here M912 P0 S0 ; Put your CPU temperature sensor correction here M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
-
-
Add a G4 S5 command to the start of your config.g to give expansion boards a chance to startup before the configuration is issued.
To ensure all boards are up to date, you can upload the full zip file release again. (assuming you're not using an SBC)
https://github.com/Duet3D/RepRapFirmware/releases/download/3.4.6/Duet2and3Firmware-3.4.6.zip
-
@Phaedrux Not using an SBC. Added the G4 command and uploaded the system files to be safe. Still getting the Invalid Remote Handle error
-
Can you send M122 and M122 B# where # is the canbus address of each expansion board you have and copy and paste them here?
-
@JRCL said in Error: Invalid remote handle:
M563 P1 D20.0 H1 F0:1
D20 is incorrect here. The drives are sequencial starting at 0, so your first extruder is drive 0, then drive 1, etc. So change that to D0.
The tools also start counting at 0, so it should be P0, not P1.
And the F value for fans should be F0 only, not F0:1 as that would bin both the part cooling fan and the hotend fan to the tool fan.
So it should look like this
;Tool Definitions M563 P0 D0 H1 F0 ; tool 0 uses extruder drive 0 and heater 1. Fan 0 and Fan 1 are mapped to tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
-
@JRCL said in Error: Invalid remote handle:
M950 S0 C"20.io0.out" ; create servo pin 0 for BLTouch (use IO_4/5/7 for 6HC)M558 P9 C"20.io0.out"
I also notice now that you're trying to use the same pin twice for the bltouch.
M950 S0 C"20.io0.out" M558 P9 C"20.io0.out"
The pin defined in the M950 is for servo control, the pin defined in M558 is for trigger detection, so you likely want
20.io0.in
-
@Phaedrux only have one toolboard for this setup
M122:
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.4.6 (2023-07-21 14:11:38) running on Duet 3 MB6HC v1.02 or later (standalone mode)
Board ID: 08DJM-9P63L-DJ3T8-6J9DG-3S46J-1V5Z8
Used output buffers: 3 of 40 (13 max)
=== RTOS ===
Static ram: 153252
Dynamic ram: 97256 of which 384 recycled
Never used RAM 96924, free system stack 200 words
Tasks: NETWORK(ready,35.1%,172) ETHERNET(notifyWait,0.1%,432) HEAT(notifyWait,0.0%,373) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,798) CanSender(notifyWait,0.0%,335) CanClock(delaying,0.0%,349) TMC(notifyWait,7.5%,90) MAIN(running,57.0%,925) IDLE(ready,0.3%,30), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 00:00:48 ago, cause: power up
Last software reset at 2023-09-07 17:11, reason: User, GCodes spinning, available RAM 96924, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Aux0 errors 0,0,0
Step timer max interval 559
MCU temperature: min 28.1, current 38.4, max 38.5
Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.3, max 12.5, under voltage events: 0
Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/12/12, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, mspos 8, reads 7431, writes 14 timeouts 0
Driver 1: standstill, SG min 0, mspos 8, reads 7432, writes 14 timeouts 0
Driver 2: standstill, SG min 0, mspos 8, reads 7432, writes 14 timeouts 0
Driver 3: standstill, SG min 0, mspos 8, reads 7435, writes 11 timeouts 0
Driver 4: standstill, SG min 0, mspos 8, reads 7432, writes 14 timeouts 0
Driver 5: standstill, SG min 0, mspos 8, reads 7433, writes 14 timeouts 0
Date/time: 2023-09-08 09:07:23
Slowest loop: 5.50ms; fastest: 0.05ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 2.4ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 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, chamber heaters -1 -1 -1 -1, ordering errs 0
=== 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 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
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty
=== CAN ===
Messages queued 260, received 918, lost 0, boc 0
Longest wait 3ms for reply type 6053, peak Tx sync delay 6, free buffers 50 (min 49), ts 243/242/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 3.96ms; fastest: 0.03ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
= Ethernet =
State: active
Error counts: 0 0 0 0 0 0
Socket states: 5 2 2 2 2 0 0 0
= WiFi =
Interface state: disabled
Module is disabled
Failed messages: pending 0, notready 0, noresp 0
Socket states: 0 0 0 0 0 0 0 0
=== Multicast handler ===
Responder is inactive, messages received 0, responses 0M122 B20:
Diagnostics for board 20:
Duet TOOL1LC rev 1.1 or later firmware version 3.4.6 (2023-07-21 14:17:33)
Bootloader ID: SAMC21 bootloader version 2.4 (2021-12-10)
All averaging filters OK
Never used RAM 2564, free system stack 88 words
Tasks: Move(notifyWait,0.0%,155) HEAT(notifyWait,0.1%,115) CanAsync(notifyWait,0.0%,65) CanRecv(notifyWait,0.0%,76) CanClock(notifyWait,0.0%,65) ACCEL(notifyWait,0.0%,61) TMC(delaying,3.0%,67) MAIN(running,91.9%,351) IDLE(ready,0.0%,26) AIN(delaying,4.9%,142), total 100.0%
Last reset 00:00:58 ago, cause: VDD brownout
Last software reset data not available
Driver 0: pos 0, 690.0 steps/mm,standstill, SG min 0, read errors 0, write errors 0, ifcnt 11, reads 29271, writes 11, timeouts 0, DMA errors 0, CC errors 0, steps req 0 done 0
Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
Peak sync jitter 1/5, peak Rx sync delay 205, resyncs 0/0, no step interrupt scheduled
VIN voltage: min 24.4, current 24.4, max 24.4
MCU temperature: min 23.6C, current 29.5C, max 29.6C
Last sensors broadcast 0x00000002 found 1 99 ticks ago, 0 ordering errs, loop time 0
CAN messages queued 1145, send timeouts 0, received 317, lost 0, free buffers 37, min 37, error reg 0
dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
Accelerometer: LIS3DH, status: 00
I2C bus errors 0, naks 3, other errors 0 -
@Phaedrux Yeah this was one of the other issues I was aware of but was too lazy to rid before posting. It's since been taken care of
-
@Phaedrux Does it only need the part cooling fan noted here because the other fan has been associated with the heatsink through the heater definitions?
-
@Phaedrux this actually ended up fixing it. The error message went away once the tool definition was correct.
-