Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Error: Invalid remote handle

    Scheduled Pinned Locked Moved Solved
    General Discussion
    2
    10
    315
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JRCLundefined
      JRCL
      last edited by JRCL

      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 found

      Config:

      ; 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
      
      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • JRCLundefined JRCL marked this topic as a question
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        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

        Z-Bot CoreXY Build | Thingiverse Profile

        JRCLundefined 1 Reply Last reply Reply Quote 0
        • JRCLundefined
          JRCL @Phaedrux
          last edited by

          @Phaedrux Not using an SBC. Added the G4 command and uploaded the system files to be safe. Still getting the Invalid Remote Handle error

          1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator
            last edited by

            Can you send M122 and M122 B# where # is the canbus address of each expansion board you have and copy and paste them here?

            Z-Bot CoreXY Build | Thingiverse Profile

            JRCLundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @JRCL
              last edited by

              @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
              

              Z-Bot CoreXY Build | Thingiverse Profile

              JRCLundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator
                last edited by

                @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

                Z-Bot CoreXY Build | Thingiverse Profile

                JRCLundefined 1 Reply Last reply Reply Quote 1
                • JRCLundefined
                  JRCL @Phaedrux
                  last edited by

                  @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 0

                  M122 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

                  1 Reply Last reply Reply Quote 0
                  • JRCLundefined
                    JRCL @Phaedrux
                    last edited by

                    @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

                    1 Reply Last reply Reply Quote 0
                    • JRCLundefined
                      JRCL @Phaedrux
                      last edited by JRCL

                      @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?

                      JRCLundefined 1 Reply Last reply Reply Quote 1
                      • JRCLundefined
                        JRCL @JRCL
                        last edited by

                        @Phaedrux this actually ended up fixing it. The error message went away once the tool definition was correct.

                        1 Reply Last reply Reply Quote 0
                        • JRCLundefined JRCL has marked this topic as solved
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA