[3.4.0b4] Toolboard 1LC V1.1 not available after update via CAN
-
I've run into a similar issue again (see here ), however this time while updating via apt-get on the SBC instead of DWC.
When power cycling the toolboard sometimes the error code [4x blink red] [pause] [2x red] appears.
Resetting the toolboard via the holding down both buttons during startup doesn't seem to work either.
M122
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0beta4 (2021-09-27 11:31:18) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TJ-6J9F6-3SD6M-TB96T Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 151080 Dynamic ram: 62236 of which 756 recycled Never used RAM 136600, free system stack 200 words Tasks: SBC(ready,0.6%,342) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,299) CanReceiv(notifyWait,0.1%,698) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,7.9%,92) MAIN(running,89.1%,921) IDLE(ready,2.3%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:08:28 ago, cause: software Last software reset at 2021-09-27 21:15, reason: User, GCodes spinning, available RAM 136600, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 134 MCU temperature: min 52.1, current 52.2, max 53.6 Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: pos 0, standstill, SG min/max 0/0, reads 14948, writes 11 timeouts 0 Driver 1: pos 0, standstill, SG min/max 0/0, reads 14941, writes 19 timeouts 0 Driver 2: pos 0, standstill, SG min/max 0/0, reads 14941, writes 19 timeouts 0 Driver 3: pos 0, standstill, SG min/max 0/0, reads 14946, writes 14 timeouts 0 Driver 4: pos 0, standstill, SG min/max 0/0, reads 14946, writes 14 timeouts 0 Driver 5: pos 0, standstill, SG min/max 0/0, reads 14946, writes 14 timeouts 0 Date/time: 2021-09-27 21:24:13 Slowest loop: 1.19ms; fastest: 0.03ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, 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 = 0 -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 doing "M122" 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 45580, received 146, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 41469, free buffers 49 (min 48), ts 2543/2024/0 Tx timeouts 0,0,30,2,0,0 last cancelled message type 30 dest 127 === SBC interface === State: 4, failed transfers: 0, checksum errors: 0 Last transfer: 2ms ago RX/TX seq numbers: 24468/24468 SPI underruns 0, overruns 0 Disconnects: 0, timeouts: 0, IAP RAM available 0x2c488 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.4-b4 Code buffer space: 4096 Configured SPI speed: 8000000Hz Full transfers per second: 48.41, max wait times: 1765.5ms/12.1ms Codes per second: 0.12 Maximum length of RX/TX data transfers: 3000/796
config.g
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Nov 14 2020 08:19:21 GMT+0100 (CET) G4 S1 ;wait for expansion boards to start ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M669 K1 ; select CoreXY mode ; Drives M569 P20.0 S0 ; toolboard drive 0.0 goes forwards M569 P0.1 S1 D3 H49 V49 ; physical drive 0.1 goes forwards M569 P0.2 S0 D3 H49 V49 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M569 P0.5 S1 ; physical drive 0.5 goes forwards M584 X0.2 Y0.1 Z0.3:4:5 E20.0 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z1600.00 E655 ; set steps per mm M566 X1000.00 Y1000.00 Z50.00 E600.00 ; set maximum instantaneous speed changes (mm/min) M203 X60000.00 Y60000.00 Z400.00 E3600.00 ; set maximum speeds (mm/min) M201 X10000.00 Y10000.00 Z80.00 E600.00 ; set accelerations (mm/s^2) M906 X1600 Y1600 Z800 E450 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X300 Y250 Z200 S0 ; set axis maxima ; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; configure Z-probe endstop for low end on Z M915 X Y R0 F0 S3 H200 ; enable sensorless homing ; Z-Probe M558 P9 C"20.io0.in" H3 F200 T15000 A4 S0.02 ; set Z probe type to bltouch and the dive height + speeds M950 S0 C"20.io0.out" G31 X0 Y-20.0 Z3.10 P25 ; set Z probe trigger value, offset and trigger height M671 X-8:295:144 Y-15:-15:290 S10 ; leadscrews at front left, front right and rear middle M557 X10:290 Y0:230 P4:4 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"20.temp0" Y"pt1000" ; configure sensor 1 as PT1000 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 ; Fans M950 F0 C"out1" Q1000 ; create fan 0 on pin out7 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out2" Q1000 ; create fan 1 on pin out8 and set its frequency M106 P1 S1 H1 T50 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define 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 ; Miscellaneous M501 ; load saved parameters from non-volatile memory T0 ; select first tool
relevant apt-get output
Setting up duettools (3.4-b4) ... Setting up duetwebserver (3.4-b4) ... Installing new version of config file /opt/dsf/conf/http.json ... Setting up duetsoftwareframework (3.4-b4) ... To modify config files consider adding yourself to the dsf groupd: # usermod -a -G dsf <username> Setting up duetwebcontrol (3.4-b4) ... Setting up duetcontrolserver (3.4-b4) ... Setting up reprapfirmware (3.4-b4-1) ... There are 2 outdated boards: - Duet 3 MB6HC (3.4.0beta3 -> 3.4.0beta4) - (3.3beta2+2 (2021-04-16 13:48:06) -> 3.4.0beta4) @ CAN address 20 Would you like to update them all (Y/n)? Y Updating firmware on board #20... Done! Updating firmware on mainboard... Done! Setting up duetpluginservice (3.4-b4) ...
-
@pakue said in [3.4.0b4] Toolboard 1LC V1.1 not available after update via CAN:
Resetting the toolboard via the holding down both buttons during startup doesn't seem to work either.
In what way doesn't it work? Do you mean that you get the same blinking pattern?
Note, resetting the board in that way will reset its CAN address to 121.
Error codes are listed at https://duet3d.dozuki.com/Wiki/CAN_connection#Section_LED_behaviour_and_error_codes. The tool board appears to be trying to tell you that the main board didn't respond to its request for firmware. Check the DWC console for error messages while the tool board is flashing that error code pattern.
-
@dc42 The blinking pattern shows maybe once in every ten power resets. Both when factory resetting by pressing the buttons and not. The console doesn't log any error.
I've checked M122 for 121 and 20; both error in a timeout.
Would it help to empty the config.g in case there is some lockup due to not finding the board on address 20 during boot?
-
@dc42 After a bit of trial and error I managed to get the toolboard to communicate with the mainboard again. What worked in the end was:
- Setting up the Duet3 MB6HC board in standalone mode (latest 3.4b)
- That gave me the DWC Error you mentioned about the toolboard trying to update (missing firmware)
- However the TB still didn't respond to CAN commands even after factory resetting (with TB firmware 3.3 or 3.4b in the firmware folder)
- reverting the MB6HC back to 3.3
- TB installed the 3.3 firmware from MB
- Updating TB to 3.4b
- Updating MB to 3.4b
Something with the shipping firmware of the toolboard (3.2.2 IIRC) and the 3.4b seems to break communication after a firmware upgrade. I hope this helps.
- Setting up the Duet3 MB6HC board in standalone mode (latest 3.4b)