Error: attempting to extrude with no tool selected
I re-did the config.g as below, and am still getting this issue.
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.1.4 on Fri Sep 18 2020 09:00:56 GMT-0500 (Central Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"twhpredator" ; set printer name ; Delta Settings M665 R185 L440.49 B175 H405 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them ; Network M551 P"********" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes backwards M569 P3 S0 ; physical drive 3 goes forwards M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z80.00 ; set steps per mm M92 E91.0:91.0 M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P8 C"zprobe.in" R0.4 H30 F1200 T5000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height M557 R175 S20 ; define mesh grid ;Filament Sensor M591 D0 P2 C"e1_stop" S1 ;activate Filament Sensor ; Heaters M308 S0 A"Heated Bed" P"bedtemp" Y"thermistor" T100000 B4300 C0 R4700 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" Q100 T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 A137.8 B0 C533.3 D1.5 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 P0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 A"E3DV6" P"e0temp" Y"thermistor" T100000 B4300 C0 R4700 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 ;M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 A0 ; Fans M950 F0 C"fan0" Q24000 ;CPAP create fan 0 on pin fan0 and set its frequency !fan2+exp.pb6 with RPM readout on PB6 M106 C"PartCoolingFan" F65535 P0 S0 H-1 L0.1 ;X0.5 ; set fan 0 value. Thermostatic control is turned off L0.3 X1 M950 F1 C"fan1" Q100 ;HOTEND FAN create fan 1 on pin fan1 and set its frequency M106 C"HotendFAN" P1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 S"E3DV6" 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 M501 ; load saved parameters from non-volatile memory T0 ; select first tool
Do you see any heater error messages in the console?
Have you PID tuned the heaters?
It almost seems as if the part cooling fan is causing a heater fault.
What does your temp graph look like around the time that it happens?
Thanks for the reply!
No heater errors. I have not PID Tuned, however the temp graph is stable, basically almost a straight line. The issue is that the extruder stops extruding until I send a T0.
I manually edited that gcode to add a T0 to each layer and it printed, however this is not a fix.
PID tune the heaters.
I can't see why it would deselect a tool unless there is a tool change command in the gcode file being printed, or there's been a fault.
no faults, no tool change commands.
One thing I just noticed, the PanelDue 7i displays at random during a print, a bunch of random errors, like "Error: Bad command R12*27"
These errors do not show up in any console.
What baud rate is your paneldue using? I've seen that when experimenting with high baud rates than the default.
I've also seen it where interference was getting picked up and generating spurious commands. Are you using the 10 pin cable or the 4 wire cable? How long? And is it routed near any stepper motor wiring?
Also can you download the gcode file from the DWC and check it for anything corrupted looking?
If you try simulating the file do you get any errors?
PID's now tuned, I'll try the print again.
I'm using only the standard 4 pin cable, I believe it's 1 meter long. The cable path is not near a stepper motor, about 6-in away from the nearest motor.
I ran a simulation, no errors.
I looked at a file from the DWC, and it does not seem that any of the commands are corrupted.
JoergS5 last edited by
you have one extruder, but two settings in M92. Maybe this produces that an extruder has no tool.
I have removed that line. I'll run another test print to verify.
Update: ran a test print, same issue.
I am now downgrading versions of the duet firmware to 3.0 to see if that resolves it.
My best guess is that corrupt data received on the PanelDue port is causing the problem. The cable resistance must be no more than 0.1 ohms per conductor. If the cable runs close to stepper motor cables, it must be shielded.
Thalios last edited by
Might be stupid but do you have temp change in your print? I just came across a similar issue where the slicer would call T1 on temp changes instead of T0. manually changed it and it works fine now.
ok, so I have now done 2 prints without this error happening.
Here was my fix.
- Upgrade firmware of Paneldue to latest version (3.2 RC2) / Reboot
- Upgrade Duet 2 Wifi to latest firmware (3.2 beta 1) / Reboot
- Downgrade firmware of Duet to version 3.0 / Reboot
- Upgrade firmware to 3.1.1
I have no idea why, but this worked so far. I'm going to keep this open until i get a good 10 prints with no more of this error.
theshabobo last edited by theshabobo
ok, Nevermind... happened again. Here is the Diagnostic logs.
@dc42 I tested the resistance, and it is below 0.1. Also the wires are not near any stepper motors.
m122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later Board ID: 08DJM-9178L-L2MS8-6JTDD-3S06N-98HLP Used output buffers: 3 of 24 (24 max) === RTOS === Static ram: 27980 Dynamic ram: 93556 of which 92 recycled Exception stack ram used: 528 Never used ram: 8916 Tasks: NETWORK(ready,308) HEAT(blocked,1224) MAIN(running,1788) IDLE(ready,80) Owned mutexes: === Platform === Last reset 00:43:59 ago, cause: software Last software reset at 2020-09-26 21:20, reason: User, spinning module GCodes, available RAM 9316 bytes (slot 2) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN Error status: 4 MCU temperature: min 33.0, current 35.7, max 36.1 Supply voltage: min 24.4, current 24.6, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: ok, SG min/max 0/205 Driver 1: ok, SG min/max 0/211 Driver 2: ok, SG min/max 0/201 Driver 3: standstill, SG min/max 0/193 Driver 4: standstill, SG min/max not available Date/time: 2020-09-26 22:04:29 Cache data hit count 4029131711 Slowest loop: 59.57ms; fastest: 0.14ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 8 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 5.1ms, write time 28.9ms, max retries 0 === Move === Hiccups: 0(0), FreeDm: 166, MinFreeDm: 101, MaxWait: 703770ms Bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves: 29343, completed moves: 29335, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: 3 === AuxDDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 Heater 0 is on, I-accum = 0.3 === GCodes === Segments left: 2 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) 2 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 63.59ms; fastest: 0.00ms Responder states: HTTP(4) HTTP(2) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23 WiFi MAC address dc:4f:22:6e:60:44 WiFi Vcc 3.34, reset reason Unknown WiFi flash size 4194304, free heap 24568 WiFi IP address 192.168.1.253 WiFi signal strength -51dBm, reconnections 0, sleep mode modem Socket states: 2 2 0 0 0 0 0 0 === Filament sensors === Extruder 0 sensor: ok
I am still not sure what's happening here. Can someone please assist!?!?!?
Here is a download of all the Duet Config files.
2020-09-26 20:34:56 Event logging started 2020-09-26 20:35:36 Event logging stopped 2020-09-26 20:35:36 Event logging started 2020-09-26 20:37:30 Error: Bad command: :40 M409 F"d99f" 2020-09-26 20:40:06 Error: M409: expected string expression 2020-09-26 20:41:34 Error: Bad command: M<09 K"job" F"v" 2020-09-26 20:44:02 Warning: M9: Command is not supported 2020-09-26 20:46:18 Error: M409: control character in string 2020-09-26 20:49:23 Finished printing file 0:/gcodes/Test Prints - Calibration/support_test.gcode, print time was 0h 26m 2020-09-26 21:13:55 Event logging stopped 2020-09-26 22:00:42 Event logging started 2020-09-26 22:03:36 Error: Attempting to extrude with no tool selected. 2020-09-26 22:03:40 Error: Attempting to extrude with no tool selected. 2020-09-26 22:03:44 Error: Attempting to extrude with no tool selected. 2020-09-26 22:03:48 Error: Attempting to extrude with no tool selected. 2020-09-26 22:03:52 Error: Attempting to extrude with no tool selected. 2020-09-26 22:03:56 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:00 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:04 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:08 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:12 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:16 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:20 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:24 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:28 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:32 Warning: M489: Command is not supported 2020-09-26 22:04:32 Error: Attempting to extrude with no tool selected. 2020-09-26 22:04:36 Error: Attempting to extrude with no tool selected. 2020-09-26 22:07:36 Error: Bad command: O<09 F"d99f" 2020-09-26 22:15:16 Error: M409: control character in string 2020-09-26 22:17:01 Error: M409: expected string expression
Your error log shows some garbage commands. Either there is noise interfering or corruption on the SD card. Do you have another SD card to test with?
yes, let me try that.
I changed out the SD card with a new out of the box class 10 one. This was my output of the eventlog. The print did complete.
2020-09-27 00:25:13 Event logging started 2020-09-27 00:25:35 Error: Bad command: J184 M409 F"d99f"*71 2020-09-27 00:26:15 Error: M409: control character in string 2020-09-27 00:26:56 Warning: the height map was loaded when the current Z=0 datum was not determined probing. This may result in a height offset. 2020-09-27 00:31:03 Error: M409: control character in string 2020-09-27 00:36:36 Error: Bad command: s73 M409 F"d99f" 2020-09-27 00:36:37 Error: Bad command: `M409 F"d99f" 2020-09-27 00:36:38 Error: Bad command: >0M409 F"d99f"+72 2020-09-27 00:36:56 Warning: M609: Command is not supported 2020-09-27 00:37:00 Error: Bad command: M<09 F"d99f" 2020-09-27 00:37:06 Error: Bad command: ^403 M409 F"d99f"*77 2020-09-27 00:37:11 Error: M409: control character in string 2020-09-27 00:37:55 Error: M409: expected string expression 2020-09-27 00:38:19 Warning: M40: Command is not supported 2020-09-27 00:38:26 Warning: M429: Command is not supported 2020-09-27 00:41:23 Error: M409: control character in string 2020-09-27 00:41:47 Error: M409: control character in string 2020-09-27 00:41:55 Warning: M429: Command is not supported 2020-09-27 00:45:03 Error: Bad command: $M409 F"d99f" 2020-09-27 00:48:07 Error: Bad command: O409 F"d99f" 2020-09-27 00:48:23 Error: Bad command: O628 M409 F"d99f"*70 2020-09-27 00:49:36 Error: Bad command: `m409 F"d99f#*78 2020-09-27 00:51:28 Error: Bad command: < M409 F"d99f" 2020-09-27 00:53:12 Error: M409: control character in string 2020-09-27 00:53:52 Warning: M40: Command is not supported 2020-09-27 00:54:20 Error: Bad command: ?17 M409 F"d99f" 2020-09-27 00:54:48 Error: M4: Command is not supported in machine mode FFF 2020-09-27 00:55:40 Error: Bad command: `M409 F"d99f" 2020-09-27 00:57:00 Error: Bad command: `M409 F"d99f" 2020-09-27 00:58:32 Warning: M40: Command is not supported 2020-09-27 01:00:28 Error: M4: Command is not supported in machine mode FFF 2020-09-27 01:02:05 Error: M409: expected string expression 2020-09-27 01:02:53 Warning: M40: Command is not supported 2020-09-27 01:05:57 Error: Bad command: :91 M409 F"d99f" 2020-09-27 01:11:05 Error: M409: expected string expression 2020-09-27 01:12:05 Error: Bad command: 3 M409 K"job" F"v" 2020-09-27 01:14:26 Error: Bad command: 018 M409 F"d99f" 2020-09-27 01:15:22 Error: M409: expected string expression 2020-09-27 01:15:34 Error: M409: expected string expression 2020-09-27 01:17:58 Error: M4: Command is not supported in machine mode FFF 2020-09-27 01:18:34 Error: Bad command: (M409 K"job" F"v" 2020-09-27 01:20:38 Error: M409: expected string expression 2020-09-27 01:24:42 Error: Bad command: J1172 M409 F"d99f"*127 2020-09-27 01:26:48 Warning: M509: Command is not supported 2020-09-27 01:28:26 Error: Bad command: y M409 F"d99f" 2020-09-27 01:30:55 Error: M4: Command is not supported in machine mode FFF 2020-09-27 01:31:11 Error: Bad command: :0 M409 K"job" F"v" 2020-09-27 01:34:27 Warning: M40: Command is not supported 2020-09-27 01:36:11 Error: Bad command: 55 M409 F"d99f" 2020-09-27 01:37:53 Finished printing file 0:/gcodes/Printer Parts/Flying_Bondtech.gcode, print time was 1h 14m
Was this with a freshly uploaded gcode file or one that was copied over?
theshabobo last edited by theshabobo
It was a fresh g-code. I also tried a different print and it ended up giving the same Attempting to extrude error.
deckingman last edited by deckingman
Hi all. I just did the Duet 2 Wifi Upgrade on my printer and I am getting this error when I print any file generated by Simplify3D.
Note: This issue only occurs with S3D, not any other Slicers.
History: The printer was not having this issue with S3D before the Duet 2 Wifi conversion.
This issue will happen at random points during any print. It starts the print fine, then at a random point it will throw this error. Even with the same file, it's random! I have had it happen halfway thru the 1st layer, or on the 10th layer, or the 50th while using the same .gcode file.
There is only 1 extruder, labeled as T0. In the S3D Profile. T1 is the heated bed.
So from the OP and stepping back from everything else that has been said in this thread, the issue is clearly to do with the gcode files that has been generated by S3D because of this statement (quote) "Note: This issue only occurs with S3D, not any other Slicers".
Or more specifically, those S3D gcode files have commands which are inconsistent with RRF firmware because of this statement (quote) "The printer was not having this issue with S3D before the Duet 2 Wifi conversion".
Therefore, the solution must lie in the gcode file so it might be an idea if the OP made that gcode file available, then we can see what commands are embedded which could be triggering the problem.
This comment could be a clue (quote) "There is only 1 extruder, labeled as T0. In the S3D Profile. T1 is the heated bed."
If S3D is putting T1 commands in the gcode file to control the heated bed, these commands will be interpreted by the duet firmware as being commands to select or control tool 1. But there is only a single tool defined in config.g so any "T1" commands will refer to a tool which does not exist. So switching to T1 is likely to trigger the error "attempting to extrude with no tool selected" because T1 does not exist.
So my best guess at a fix (without seeing the gcode file) would be to correct whatever setting in S3D is causing T1 commands to be inserted in the gcode file.
Edit - Or maybe the unsupported M40 and M429 commands the S3D is inserting in the gcode file are triggering the error. These need to be fixed in the slicer settings in any case.
@deckingman this has all my config files and a copy of the G-code.
Also, Note. I tried using different slicers, and got the error in all of them.
Feel free to take a look and let me know if you can see what's happening.
deckingman last edited by deckingman
@theshabobo Ahh so it's changed from being something specific the S3D as per your first post, to being slicer agnostic. I'll take a look at the files later is I get chance. Meanwhile are you setting the slicer output "flavour" to RepRap" ?
EDIT - I've had a quick gander at the gcode file and none of the bad commands that are being reported exist in the file itself. There is only one "T" command which is "T0" at the beginning of the file - exactly as it should be. So my take on that is that the file data is somehow being corrupted as it is being read from the card. I have no idea why that should be. So it's over to someone more knowledgable that I. You could try disconnecting the PanelDue - at least that would narrow it down a bit.
If it is data corruption to/from the SD card, one way to check if the SD card has an issue is to download the gcode file from the SD card using DWC and compare it to the original file that was uploaded.
@deckingman Yes, it is RepRap. I disconnected the Paneldue and was able to do a 2.5 hour print with no issues and no Bad commands appearing in the logs.
I will be changing the PanelDue cable to a shielded one later today (after work) and trying again.
@T3P3Tony I don't believe it is an SD card issue, or file corruption issue as I tried with a new card and new file. I also verified the files are proper when compared to eachother.
lifeform last edited by
@theshabobo hello, sorry for asking directly
did you solved it? i also have this problem, i change to stp lan cable and this problem still happened.
any tips ?