prusa3d / Prusa-Firmware

Firmware for Original Prusa i3 3D printer by PrusaResearch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MK3 When connecting to the printer with Octoprint the MK3 printer reboots every time.

Crunch69 opened this issue · comments

MK3 every firmware version when connecting to the printer with Octoprint the MK3 printer Einsy Rambo reboots every time. Is this a firmware issue or a einsy rambo hardware / bootloader issue?

This does not occur with other brands of printers running marlin only happens with the einsy rambo controller

This is normal and it is working as it is supposed to. (The same is with miniRambo).

The reason to do so is to allow updating firmware via usb.

=================
More detailed:

As you might know the electronics of the prusa printers are MiniRambo and EinsyRambo. These are based on the atmega2560 microcontroller. It is the same used in the Arduino Mega. The boards are programmed via usb over serial (converted on board using another ic). In order to program the board, it needs to be in the bootloader (the program that updates the firmware on the board). To enter the bootloader, the mcu must reset. This is done by connecting the reset line to the DTR pin on the usb to serial IC. This way when the pc opens the serial port, the board is reset. You can see this if you look over the schematics of the printer boards and arduino.

On some other boards the bootloader might be missing or/and the manufacturer decided to cut the connection for the reset (something that can be easily done and reversed). Not sure why you would want that though.

Hope this helps.

If you connect to the internal serial for raspberry pi no reboot occurs, but you cannot update the firmware over this connection. To see wich pins are for serial connection look at einsy schematic.
You should also activate raspberry pi port from settings.

Duplicate of #1253

See my comment for details, and hardware work-around (not recommended).

This is feature.
You can permanently disable this feature by command:
;C32u2_RMD
You can reenable this feature by command (semicolon is part of the command)
;C32u2_RME

You can reset the printer by command:
;C2560_RES

@mkbel I tried the commands via Pronterface, Octoprint even native serial communication and get always and error "unknown" command.
The lsusb -v command shows
For the MK3s

  idVendor           0x2c99
  idProduct          0x0002
  bcdDevice            1.30
  iManufacturer           1 Prusa Research (prusa3d.com)
  iProduct                2 Original Prusa i3 MK3

and MK2

  idVendor           0x2c99
  idProduct          0x0001
  bcdDevice            0.01
  iManufacturer           1 Prusa Research (prusa3d.com)
  iProduct                2 Original Prusa i3 MK2

I can imagine it is not working through Pronterface and Octoprint as this command looks like comment and those software is stripping out comments. But through Serial port terminal it works for me.

You can permanently disable this feature by command:
;C32u2_RMD
You can reenable this feature by command (semicolon is part of the command)
;C32u2_RME

This worked great on the MK3S on the serial terminal. I had read in some other places that the reset was needed to allow for firmware upgrades. Will I need to re-enable the reset function prior to doing a firmware upgrade or should they still work with this permanently disabled?

Thanks!

Yes, otherwise the software that updates won’t be able to reset the firmware through the usual means.
Also, make sure to use PrusaSlicer’s firmware updater to install new firmware as the firmware updater in octoprint is not compatible (in case you want to use other languages)

commented

@leptun hello leptun, Where can I find the code implementation? thanks.

I just released a new plugin for OctoPrint that might help solve this problem. Prusa Reset Mode adds a tab to Octoprint, with buttons that allow you to send serial commands directly from the OctoPrint interface to enable and disable this "automatic reset feature".