SOLVED Problems with Duet3 Expansion 3HC Connecting
I cannot get my expansion board to connect to my mainboard. I am getting errors:
Error: M906: Response timeout: CAN addr 1, req type 6017, RID=4
Response timeout: CAN addr 1, req type 6017, RID=5
Error: M350: Response timeout: CAN addr 1, req type 6021, RID=2
Response timeout: CAN addr 1, req type 6021, RID=3
So I tried to update the firmware with M997 B1 and getting errors for this as well so not sure how to proceed. Does anyone know what I should do? Am tired of these errors blowing up my console on the web control interface.
Please provide us with your config.g and the results of sending M122 and M122 B# where # is the CAN address of your expansion board. Also the results of M98 P"config.g" can be helpful.
Thanks for the reply! Config.g and results of commands are below except M98 P"config.g" which didn't seem to run for me.
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Wed Jun 23 2021 23:47:21 GMT-0400 (Eastern Daylight Time) ; 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 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; 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 M569 P1.1 S1 ; physical drive 1.1 goes forwards M569 P1.2 S1 ; physical drive 1.2 goes forwards M584 X0.0 Y0.1 Z0.2:0.3:0.4:0.5 E1.1:1.2 ; set drive mapping M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation M92 X40.00 Y40.00 Z400.00 E420.00:420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z120.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z10.00 E250.00:250.00 ; set accelerations (mm/s^2) M906 X1500 Y1500 Z1500 E800:800 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 X635 Y540 Z511 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io4.in" ; configure active-low endstop for low end on X via pin !io1.in M574 Y1 S1 P"!io5.in" ; configure active-low endstop for low end on Y via pin !io5.in M574 Z2 S1 P"!io3.in" ; configure active-low endstop for low end on Z via pin !io3.in ; Z-Probe M950 S0 C"io7.out" ; create servo pin 0 for BLTouch M558 P9 C"^io7.in" H7 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X0 Y0 Z1.67 ; set Z probe trigger value, offset and trigger height M557 X50:500 Y50:500 S25 ; define mesh grid ; Heaters M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1 M950 H0 C"out1" T0 ; create nozzle heater output on out1 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H0 S280 ; set temperature limit for heater 0 to 280C M308 S1 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp2 M950 H1 C"out2" T1 ; create nozzle heater output on out2 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"out7" Q500 ; create fan 0 on pin out7 and set its frequency M106 P0 S1 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; 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 ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue
M122 B1 Error: M122: Response timeout: CAN addr 1, req type 6024, RID=6
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9DJ-3SJ6N-980QG Used output buffers: 1 of 40 (11 max) === RTOS === Static ram: 154604 Dynamic ram: 162608 of which 52 recycled Exception stack ram used: 224 Never used ram: 75728 Tasks: NETWORK(ready,1968) HEAT(blocked,1200) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1452) TMC(blocked,204) MAIN(running,4952) IDLE(ready,76) Owned mutexes: === Platform === Last reset 00:00:30 ago, cause: software Last software reset at 2021-07-03 04:25, reason: User, spinning module LinuxInterface, available RAM 75408 bytes (slot 1) Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN Error status: 0 MCU temperature: min 37.8, current 39.3, max 40.7 Supply voltage: min 22.4, current 22.5, max 22.8, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.3, current 11.3, max 11.6, under voltage events: 0 Driver 0: standstill, reads 17677, writes 14 timeouts 0, SG min/max 0/0 Driver 1: standstill, reads 17678, writes 14 timeouts 0, SG min/max 0/0 Driver 2: standstill, reads 17678, writes 14 timeouts 0, SG min/max 0/0 Driver 3: standstill, reads 17678, writes 14 timeouts 0, SG min/max 0/0 Driver 4: standstill, reads 17679, writes 14 timeouts 0, SG min/max 0/0 Driver 5: standstill, reads 17679, writes 14 timeouts 0, SG min/max 0/0 Date/time: 2021-07-03 04:26:07 Slowest loop: 2102.30ms; fastest: 0.14ms === 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 === 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 CDDA state: -1 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 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 ready with "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. === Network === Slowest loop: 0.86ms; 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 76, longest wait 0ms for type 0 === Linux interface === State: 0, failed transfers: 8 Last transfer: 17ms ago RX/TX seq numbers: 765/766 SPI underruns 3, overruns 3 Number of disconnects: 0 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.2.2 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 28.32 Maximum length of RX/TX data transfers: 3164/892
RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode)
Can you try updating your pi and firmware with sudo apt update sudo apt upgrade?
except M98 P"config.g" which didn't seem to run for me.
That's actually normal with an SBC since there are no network commands in there to echo back, and if you don't have any other syntax errors.
M122 B1 Error: M122: Response timeout: CAN addr 1, req type 6024, RID=6
Can you add a G4 S5 command to the start of your config.g?
What lights do you see on your 3HC?
How do you have the CAN bus wired?
Do you have the jumpers fitted?
@feynman137 have you ever had communication working between the main board and the expansion board? If not, and the expansion board status LED is blinking rapidly, it probably means faulty CAN wiring. In particular, check that the RJ11 cable is wired straight through. Many RJ11 cables using flat cable are crossed.
Also check that the address switches on the expansion board are correctly set for address 1.
Alright so I went through the update process. Actually hadn't even connected to the Pi yet and gone through the process of allowing SSH ..etc. Upon setting up the Pi the software auto scanned for new updates and downloaded much newer firmware versions for expansion boards. Before this I think the board's firmware was showing last modified in Feb 2021 now it shows June 2021.
I also did the sudo apt upgrade/update just to verify, but no new updates were found during this.
Here is a link to the exact cable I purchased: https://www.amazon.com/gp/product/B07WJB5DS4/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
The expansion board's CAN IN port is what I have connected to the mainboard and the light to the left of this port "DIAG" is constantly blinking several times a second. Also yes I have verified that the address is set to 1 and that both jumpers are on the pins since there are no other CAN boards connected to it.
M122 B1 still returns:
M122 B1 Error: M122: Response timeout: CAN addr 1, req type 6024, RID=8
@feynman137 I think that cable has crossed connections. See the photos of good and bad CAN cables at https://duet3d.dozuki.com/Wiki/CAN_connection#Section_Example_of_a_good_cable and compare them with yours. Click on the photos to expand them.
fcwilt last edited by
Yout link does not work unless cut and pasted.
Please check your link tag.
Do you have a link to a recommended cable? I see the link you sent but I am not sure how to search for a cable with these specs.
@dc42 the link says sometimes these cables are referred to as "High Speed ADSL cables" I found this product that matches that description... Is this something that will work?
The links you post don't work for me, but they work if I delete /ref= and all that follows.
The image on that listing shows a cable wired-straight through, so if that is to be believed then it should be OK. However, pre-made cables using round cable instead of flat cable are usually a better bet, because round cables are usually twisted pair. So I suggest you search for "high speed dsl cable rj11" and pick a round cable.
Did you establish that your existing cable has crossed connections?
@dc42 I appologize about the links I tried a few different times to post a link and haven't got one to work yet. Attached is an image of what the cable I was using looks like. It is crossed, correct?
The link to the cable I am planning on ordering is called a "high speed adsl cable" similar to what you are suggesting now... Picture below.
@feynman137 yes that cable in your photo is crossed.
Round twisted pair cables are best, such as https://www.amazon.com/Detroit-Packing-Co-Broadband-Telephone/dp/B088T7W124. But for a short cable it doesn't really matter, as long as it is wired straight through.
@dc42 Thanks for the help man, I just ordered this. Will be testing it out early this week!
@dc42 The cable did the trick sir. Thank you for your advice!