Jump to content
Perchik

UM2+: Can't install firmware via USB

Recommended Posts

Posted · UM2+: Can't install firmware via USB

I am trying to switch to the tinker firmware and I have the new .hex file. When I connect the printer to the computer via usb, cura see the printer, but when I click upload firmware, it fails do to "communication error." I replaced the usb cable with a brand new one and it still fails to communicate.

 

I can print from octoprint via usb with no problems, so I thought about updating the firmware from octoprint.  My octoprint instance is running on a Raspberry Pi 3 B and I found the firmware updater plugin, but it requires avrdude or bossac and neither seems to make sense for my raspi (although I'm less sure what I'm doing on that side of things.)

Any ideas on what might be wrong w/ the UM communication, or any other ways to update firmware (sd card?)

 

Thanks!

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Well Cura has a bug I think where it only does so many com ports - like from 1 to 20 or maybe the comm port has to be 1 through 10 and I don't think there is a way to specify the com port.

 

HOWEVER, You can update the firmware through octoprint!  Here is an explanation.  It's a bit complicated but really not too bad:

 

 

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Alternatively you could try to find a different computer.  That when you connect the USB cable the COM Port shows up on a low number like COM4 or COM7 and not COM15.

Share this post


Link to post
Share on other sites
Posted (edited) · UM2+: Can't install firmware via USB
3 hours ago, gr5 said:

Well Cura has a bug I think where it only does so many com ports - like from 1 to 20 or maybe the comm port has to be 1 through 10 and I don't think there is a way to specify the com port.

 

HOWEVER, You can update the firmware through octoprint!  Here is an explanation.  It's a bit complicated but really not too bad:

 

Hmm, this is what I've been trying recently but you have to pick the correct MCU. How can I tell what the MCU is on the main board?

 

3 hours ago, gr5 said:

Alternatively you could try to find a different computer.  That when you connect the USB cable the COM Port shows up on a low number like COM4 or COM7 and not COM15.


My computer initially connects to the UM, the display on the UM switches to "printing from USB" then almost immediately disconnects and it goes back to the normal "print | material | maintenance display". The computer still shows the UM connected on COM4.

Edited by Perchik
minor correction to text, formatting

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Although, now I'm unclear if the MCU I care about is on the UM or on my raspi ?

Share this post


Link to post
Share on other sites
Posted (edited) · UM2+: Can't install firmware via USB

The chip on the Ultimaker is Atmega2560. Using firmware updater with "Wiring" mode from octoprint acted like it was doing something and then never did anything (I let it sit for 2hrs)
 

I found https://ultimaker.com/en/resources/18627-change-arduino-drivers which suggested my windows had bad arduino drivers. Updating the arduino drivers didn't fix it. Cura just hangs forever on "Updating firmware"

 

image.thumb.png.88ee9e08f7c76f627256b590de044345.png

 

 

 

Edited by Perchik
Turns out it didn't work earlier.

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

I've also tried using Xloader to upload the firmware and it also just hangs on "Uploading...."  

 

If I click automatically update firmware in Cura 3.6 instead of providing the Tinker .hex file, Cura crashes instantly.

 

When I get to the point it hangs on any of these approaches, the machine's LEDs turn off briefly and turn back on, the display switches to "printing from usb" and then immediately back to Print | Material | Maintenance. What should the display show when the firmware is updating? And roughly how long should it take?

 

 

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB
4 hours ago, Perchik said:

If I click automatically update firmware in Cura 3.6 instead of providing the Tinker .hex file, Cura crashes instantly.

 

Can you share your cura.log? Help->Show configuration folder. It may be large, so please send it to yourself via wetransfer.com or so and post a link here.

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Here's the log after clicking update firmware automatically https://pastebin.com/3FF72Y2h (Relevant part starts atline 639) This time, Cura didn't crash, but immediately failed with "Firmware update failed due to a communication error." Then after dismissing the error, the two options are grayed out :

image.thumb.png.59233947632733e208a2bf093d6bd624.png

 

I get the same behavior on two different computers (Win 7, and Win 10) with two different cables (one brand new). 

 

I have also tried following the directions here https://github.com/TinkerGnome/UM2.1-Firmware#configuring-and-compilation to build the marlin firmware in arduino and upload from the arduino IDE, which throws this error in the console:

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

 

 

At this point, I'm worried that it's something on the board itself that's broken.  I was really hoping to be able to upload firmware so that I can upgrade to the Mark2 setup.

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

I don't know if this is the cause, but have a look at this thread, it helped me out 😀

 

 

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Thanks for the pointer. I tried cura 15.04 and that didn't work. It doesn't look like the links for cura 2.5, 2.6 work anymore 😞

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Thanks! (also big thanks for not embedding a virus or malware 😉 )

I've now tried Cura 15.04, 2.3, 2.5, 3.2, 3.4, 3.6, and 4.0beta. None of them can successfully update the firmware, and I've tried the firmware that came with 2.5, 3.6, Mark2Dual, and Tinker and still no dice.  From 15.04 the UM2 lights continually flashed on and off, and I thought something was happening, but it didn't actually do anything for the firmware.


At this point, I think it's something wrong with the programmer on the Atmega chip. I suspect I could upload a new bootloader or something similar through the arduino IDE but I'm hesitant to muck with any of that, since currently my printer works.

 

I was really excited to upgrade to Mark2 and I've got everything except the firmware 😞 

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

When you start Cura with your printer connected over USB, does the printer reset?

 

17 hours ago, Perchik said:

Here's the log after clicking update firmware automatically https://pastebin.com/3FF72Y2h 

I was hoping for a log of the crash you mentioned.

Share this post


Link to post
Share on other sites
Posted (edited) · UM2+: Can't install firmware via USB

Yeah, I figured you wanted the crash but I can't seem to reproduce that. 

When cura turns on with my printer attached, the printer clicks and flashes the leds twice. Is that what you mean by reset? From Cura, I can control my printer in the Monitor tab normally. 

When I try to update the firmware and it fails, I can no longer access my printer in cura (it says not connected) until I close cura and reboot.

 

Today, I went through and uninstalled every Cura and Arduino, to the point that windows no longer recognized the printer as Atmega2560 in device manager. Then I reinstalled Cura 3.6 with the arduino drivers. Updated the driver in device manager. Still no luck in uploading firmware.

Edited by Perchik

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Sounds like the bootloader on your board is somehow broken, as you suspect. If you don't want to risk further mucking up the printer by replacing the bootloader, you could get a cheap chinese motherboard and keep the one with the broken bootloader as a spare.

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

If I wanted to fix the bootloader how would I do that? Do I have to use an ISP device? Where can I get the right bootloader?

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

I think the default Atmega 2560 bootloader for Arduinos should do. And you would use an ISP device on the header marked ICSP1.

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

The happiest 3 words I've seen all week

 

image.thumb.png.117385783b1d5d8e1f81f596a0e74a52.png

 


I burned a new bootloader to the UM2+. I used an Arduino Leonardo that  I had lying around and gammon's bootloader for the atmega2560. After a tense moment when the screen on the Um2+ went black, I tried uploading the marlin firmware from source in Arduino IDE and it worked. After that, I can now use Cura again to successfully update the firmware.

 

Thanks so much for your help!

  • Like 1

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Awesome! To be honest I don’t really know how you could have broken the bootloader without breaking the rest*, but logically it was the only thing that was left to try. Glad it worked!

 

*: it is possible to flash Marlin to the atmega instead of the bootloader. This would have given you a working printer without a bootloader. But that is not something that happens accidentally.

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Well, almost 4 months later, I finally got the expansion board and the rest of the wires I needed to upgrade to a mark2 um2+ and I'm unable to install any of the mark2 firmware .hex files 😞

 

From Cura, I can successfully upload the stock firmware, and upload tinker marlin firmware, but it times out trying to install the Mark2 firmware. I've tried every variant of the Mark2 firmware that exists and none of those work for me.

 

Any ideas on what to try? Is there a way to compile my own .hex from a Mark2 firmware source? (Doesn't seem to be that source on github)

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB

Weird..., perhaps an older Cura version behaves different? You can even use the "legacy Cura" (15.04.6) to upload firmware. At least it's worth a try.

 

10 hours ago, Perchik said:

Is there a way to compile my own .hex from a Mark2 firmware source?

 

Sources are in the "Tinker" repository, branch "Mark2":

https://github.com/TinkerGnome/Ultimaker2Marlin/tree/Mark2

Share this post


Link to post
Share on other sites
Posted (edited) · UM2+: Can't install firmware via USB

Ah I didn't see the Mark2 branch, thanks for the pointer.

 

I built that firmware in Ardunio and uploaded it, but it doesn't seem to have any dual nozzle support? I found a note somewhere that I'd need to run /.package.sh to build it myself, so I'm attempting that on linux.  That script is throwing an error that looks like one others have seen on this forum:

  RM    _Mark2Dual/*
  RMDIR _Mark2Dual/
make: *** No rule to make target '_Mark2Dual/wiring.o', needed by '_Mark2Dual/Marlin.elf'.  Stop.
cp: cannot stat '_Mark2Dual/Marlin.hex': No such file or directory
  RM    _Mark2DualFan/*
  RMDIR _Mark2DualFan/
make: *** No rule to make target '_Mark2DualFan/wiring.o', needed by '_Mark2DualFan/Marlin.elf'.  Stop.
cp: cannot stat '_Mark2DualFan/Marlin.hex': No such file or directory
  RM    _Mark2DualExpansionBoard/*
  RMDIR _Mark2DualExpansionBoard/
make: *** No rule to make target '_Mark2DualExpansionBoard/wiring.o', needed by '_Mark2DualExpansionBoard/Marlin.elf'.  Stop.
cp: cannot stat '_Mark2DualExpansionBoard/Marlin.hex': No such file or directory
  RM    _Mark2DualExtended/*
  RMDIR _Mark2DualExtended/
make: *** No rule to make target '_Mark2DualExtended/wiring.o', needed by '_Mark2DualExtended/Marlin.elf'.  Stop.
cp: cannot stat '_Mark2DualExtended/Marlin.hex': No such file or directory
  RM    _Mark2DualExtExpansionBoard/*
  RMDIR _Mark2DualExtExpansionBoard/
make: *** No rule to make target '_Mark2DualExtExpansionBoard/wiring.o', needed by '_Mark2DualExtExpansionBoard/Marlin.elf'.  Stop.

Initially I was using Arduino 1.8.5 but also tried pointing at 1.6.5 since that's what previous posts mentioned.

Edited by Perchik

Share this post


Link to post
Share on other sites
Posted · UM2+: Can't install firmware via USB
12 hours ago, Perchik said:

I built that firmware in Ardunio and uploaded it, but it doesn't seem to have any dual nozzle support?

 

In "package.sh" you can explore the additional "DEFINES" for each variant. This may help if you want to compile a specific variant with a different method.

 

12 hours ago, Perchik said:

run /.package.sh to build it myself, so I'm attempting that on linux

 

For compiling on Windows i run the build script inside of "Git Bash", which was included in the "Git for Windows" installation (if i'm not wrong...)

Depending on your environment you may need to change some of the path variables in the build script or in "Makefile".

In the case from above probably the "HARDWARE_SRC" path in Makefile.

This path has changed several times in the past, it depends on the used Arduino version. Simply locate the sub-directory that contains "wiring.c" to determine the correct path.

 

....but:

while "package.sh" creates the *.hex" files for you, it does not solve the upload problem. So I'm not sure, if it is of any help for your particular problem?

Share this post


Link to post
Share on other sites
Posted (edited) · UM2+: Can't install firmware via USB
1 hour ago, tinkergnome said:

while "package.sh" creates the *.hex" files for you, it does not solve the upload problem. So I'm not sure, if it is of any help for your particular problem?

Sure. My thought is that there's something specifically wrong with the mark2 hex files, since I can upload other hex files fine (including the Tinker firmware). I figured if I could rebuild the mark2 hex it might work.

 

I tried uploading the mark2 hex with avrdude and it uploaded fine, but then had verification errors (which  led to my UM2 screen being black :!)  I was able to upload the stock firmware to get it back to a working state. Now I'm looking at the makefile to try to figure out what might be wrong.

Edited by Perchik

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Our picks

    • Ultimaker Cura 4.0 | Stable available!
      Ultimaker Cura 4.0 is mainly focused on the improved user interface and cloud integration.
      As always, we want to collect your user feedback for this release. If there are any improvements you can think of, feel free to mention it here and help us to shape the next release.
      • 98 replies
×
×
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!