Jump to content
Ultimaker Community of 3D Printing Experts

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!

  • 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:

     

     

  • 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.

  • 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
  • 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.
  • 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?

     

     

  • 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.

  • 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.

  • 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 😀

     

     

  • 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 😞

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

    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 😞

     

    Try my Dropbox link: https://www.dropbox.com/s/3rfmjxsymrgvgf4/Cura-2.5.0-win64.exe?dl=0

     

  • 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 😞 

  • 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.

  • 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
  • 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.

  • 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?

  • 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.

  • 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
    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.

  • 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)

  • 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

  • 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
  • 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?

  • 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
  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×
    ×
    • Create New...