Extruder count error - Prusa MK3S+ w/MMU2S

What is the problem?

I have recently added an MMU2S to my Prusa MK3S+. Works fine on its own using the SD card. I tried updating my profile to add the MMU and the 5 extruders with the "shared nozzle" setting checked, when that didn't work I added a new profile. The new printer profile also has 5 extruders with a shared nozzle selected.

When I take the same Gcode file and use with Octoprint, I get an "Extruder Count Error - Your printer profile has fewer extruders (1) defined than your gcode file (5)."

What did you already try to solve it?

I tried updating my existing profile for multiple extruders. Then tried adding a new profile which had the multiple extruder settings. Also some updating and restarting. I verified that my old profile still works with single color prints. The printer complains that the file was made for a different type of printer, but I can print single color still via Octoprint.

I also noticed that the Filament Manager plugin shows 5 tools. So it would seem that somewhere Octoprint knows I have 5 possible extrusion possibilities.

Have you tried running in safe mode?

No

Did running in safe mode solve the problem?

WRITE HERE

Systeminfo Bundle

You can download this in OctoPrint's System Information dialog ... no bundle, no support!)
octoprint-systeminfo-20210723231525.zip (38.0 KB)

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible
Octoprint version: v1.6.1
OctoPi version: 0.18.0, running on RPi 4B
Printer: Prusa MK3S+ / MMU2S
Firmware: 3.10.0-4481 / MMU2S v1.0.6
Browser: Firefox 90.0.1
OS: Mac OS 11.4

Last bit of info from octoprint.log when I tried to print an MMU gcode file:
2021-07-23 22:51:30,128 - octoprint.printer.standard.job - INFO - Print job selected - origin: local, path: BBQmagnets/MaTE_MMU_0.2mm_PETG_MK3SMMU2S_1h18m.aw.gcode, owner: dad, user: dad
2021-07-23 22:51:30,158 - octoprint.plugins.DisplayLayerProgress - INFO - File '/home/pi/.octoprint/uploads/BBQmagnets/MaTE_MMU_0.2mm_PETG_MK3SMMU2S_1h18m.aw.gcode' selected. Determining number of layers.
2021-07-23 22:51:30,166 - octoprint.plugins.DisplayLayerProgress - INFO - Read total height from MetaFile
2021-07-23 22:51:30,186 - octoprint.util.comm - INFO - Starting job on behalf of user dad
2021-07-23 22:51:30,202 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Starting"
2021-07-23 22:51:30,211 - octoprint.printer.standard.job - INFO - Print job started - origin: local, path: BBQmagnets/MaTE_MMU_0.2mm_PETG_MK3SMMU2S_1h18m.aw.gcode, owner: dad, user: dad
2021-07-23 22:51:30,285 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer.
2021-07-23 22:51:30,828 - octoprint.plugins.DisplayLayerProgress - INFO - Store layer count in MetaFile
2021-07-23 22:51:31,337 - octoprint.util.comm - INFO - Cancelling job on behalf of plugin octolapse
2021-07-23 22:51:31,411 - octoprint.util.comm - INFO - Changing monitoring state from "Starting" to "Cancelling"
2021-07-23 22:51:31,429 - octoprint.printer.standard.job - INFO - Print job cancelled - origin: local, path: BBQmagnets/MaTE_MMU_0.2mm_PETG_MK3SMMU2S_1h18m.aw.gcode, owner: dad, user: None
2021-07-23 22:51:31,509 - octoprint.util.comm - INFO - Changing monitoring state from "Cancelling" to "Printing"
2021-07-23 22:51:31,659 - octoprint.util.comm - INFO - Changing monitoring state from "Printing" to "Operational"
2021-07-23 22:51:31,954 - octoprint.plugins.DisplayLayerProgress - INFO - File select-event processing done!'
2021-07-23 22:51:32,094 - octoprint.plugins.DisplayLayerProgress - INFO - Printing started. Detailed progress started.{'name': 'MaTE_MMU_0.2mm_PETG_MK3SMMU2S_1h18m.aw.gcode', 'path': 'BBQmagnets/MaTE_MMU_0.2mm_PETG_MK3SMMU2S_1h18m.aw.gcode', 'origin': 'local', 'size': 1690977, 'owner': 'dad', 'user': 'dad'}
2021-07-23 22:51:32,137 - octoprint.plugins.DisplayLayerProgress - INFO - Printing stopped. Detailed progress stopped.
2021-07-23 22:51:32,140 - octoprint.plugins.filamentmanager - INFO - Updating Filament usage for octoprint configured toolcount: 5
2021-07-23 22:51:32,140 - octoprint.plugins.filamentmanager - INFO - Filament tracked toolcount: 1
2021-07-23 22:51:32,140 - octoprint.plugins.filamentmanager - INFO - Filament tracked values: [0.0]
2021-07-23 22:51:32,140 - octoprint.plugins.filamentmanager - INFO - Filament used: 0.0 mm (tool0)
2021-07-23 22:51:32,147 - octoprint.plugins.filamentmanager - WARNING - No selected spool for tool0
2021-07-23 22:51:32,451 - octoprint.plugins.tracking - INFO - Sent tracking event print_started, payload: {'origin': 'local', 'file': '03f7d361b2c3f0702e81f65e3ae52bb3798e0a9e'}
2021-07-23 22:51:32,923 - octoprint.plugins.tracking - INFO - Sent tracking event print_cancelled, payload: {'origin': 'local', 'file': '03f7d361b2c3f0702e81f65e3ae52bb3798e0a9e', 'elapsed': 1}
2021-07-23 22:51:33,825 - octoprint.plugins.DisplayLayerProgress - INFO - Printing stopped. Detailed progress stopped.
2021-07-23 22:51:34,540 - octoprint.plugins.tracking - INFO - Sent tracking event print_failed, payload: {'origin': 'local', 'file': '03f7d361b2c3f0702e81f65e3ae52bb3798e0a9e', 'elapsed': 1, 'reason': 'cancelled'}
2021-07-23 22:57:48,654 - octoprint.server.heartbeat - INFO - Server heartbeat <3
2021-07-23 22:57:57,129 - octoprint.plugins.tracking - INFO - Sent tracking event ping, payload: {'octoprint_uptime': 6308, 'printer_state': 'OPERATIONAL'}
2021-07-23 23:06:07,874 - octoprint.server.util.sockjs - INFO - Client connection closed: ::ffff:172.16.7.136

You only have ONE extruder. The MMU2 is not an extruder.

Yes obviously. Hence the checkbox setting for "shared nozzle" in the hotend settings in the profile. At least that's what I read. That "shared nozzle" option does not appear if you only have a single extruder set.

This is where I read that (from Foosel): Prusa MMU2s Not working in 1.3.12 - #23 by johnnyruz

Not quite true:

This is a profile for a MMU2 setup:

grafik

1 Like

You need to create virtual extruders in Prusaslicer.

Never heard of that.

Huh, that's a new one to me. How would I set that up? Looking through the PS docs, I don't see anything about virtual extruders.

I've got gcode files that were already set up for an MMU that don't work with this profile (and that profile looks just like what @Ewald_Ikemann has illustrated above). I have my own slices that are simple - they just change color at a layer, and they don't work either. In that case, I have the slicer start with a default tool/extruder, and then switch to another when the appropriate layer is reached.

The concept of a virtual extruder doesn't explain to me why Octoprint thinks I don't have multiple extruders. I do have the printer preset in PS set up as an MMU, it shows all 5 extruders.

If you have a Prusa printer then the slicer profiles of PrusaSlicer are ready to go. You don't have to change anything.

I never had any problems, neither in single mode nor in multi colour mode

When you connect to the printer, do you have more than one profile to select in the connection box? Is the one with multiple extruders the default profile?

Pedantic I know but important to remember, 5 virtual extruders but only one extruder as far as anything non-MMU is concerned.

In Prusaslicer Printer Settings/Extruders any value except 1
Gives a Plater screen like this (I used 2 extruders)

Image 1

Then select Filament profile for each.

Never thought of calling them virtual.

grafik

For me those are quite real for selecting a real filament.

BTW: This thinking works fine with my T-Rex 3 too. And that one has two very real extruders.

I may be using the wrong nomenclature but isn't it necessary to differentiate between "real" multiple extruders (Octoprint is aware) and "virtual" (a filament change).

1 Like

I think it depends on the printer:
For a Prusa with MMU2 it's a filament selector,
For other machines, like the T-Rex 3, it's the extruder selector, what - in the end - is also selecting the filament.
In the end its the printer firmware that has to work in the correct way when a tool change (Tx) occurs.

I'm still thinking, based on the above that it is not the slicer's problem but OctoPrint, since it is outputting gcode for multiple tools already.

1 Like

I would suggest trying safe mode to rule out a plugin actually throwing that error. I searched through OctoPrint's github, and I don't even see the error that you are getting in there anywhere. I also don't see the error in the octoprint.log you submitted.

Also, if you wanna attach the gcode, I can try it with my MMU2S to rule out a gcode (slicing) problem.

I think your error may be coming from octolapse. I noticed in your log:
octoprint.util.comm - INFO - Cancelling job on behalf of plugin octolapse

Looking at the octolapse source on github, I see the error that you specify in error_message.py.

I've never used Octolapse, but it looks like it has it's own profile settings and looking at the screenshots I see a place to set the number of extruders.

1 Like

Hey OP, I had the same problem until User gmccauley mentioned the octoprint plugin. Head over to its setting and update you printer to the MKS+ with MMU2.
image

3 Likes

oh man. totally missed that in the log!! that certainly seems like it could be the culprit - I will try it later today. I assume that's my problem. really great catch and appreciate the help!

safe mode would have caught the octolapse issue. lesson learned!! thank you again

1 Like