Failing firmware update.

I am trying to flash my Taz4s firmware with Cura and getting an error, " failed to write firmware verification error at 0x0" or something like that. To be honest I am not 100% sure Cure is even seeing my printer as the CONTROL icon is darkened. Any help will be appreciated. Thanks

Edit: It is connected to my printer as I can home the printhead, but it still fails the upgrade, which is the only reason I installed Cura in the first place.

change the baud rate?

Same thing at any baud rate. It even appears like the printer resets when it gets to the error so I know it’s communicating.

Maybe try a different USB cable and port if you have one on the computer. Uploading takes a lot better connection than just sending gcode commends to the printer.

Tried another cable and another computer, same results. Curious that I tried to download Cura on another computer and Trend Micro has thrown up a warning.

what operating system are you using?

On Linux (and maybe Mac) i think that error can show up if you are not using root privileges. I’ve seen the same error when uploading hex files to AVR micro-controllers and Arduinos. If you have an Arduino or another serial device connected at the same time it’s possible that cura is trying to upload the hex to the wrong device.

Have you tried pronterface?

Maybe you have to go into the driver of the rambo board and re load it from the one provided on aleph site. Sometimes the bootloader isnt recognizing properly and windows enjoys loading incorrect driver.

I can print using pronterface from either computer, it is only the firmware update that fails. One computer is Windows 7, the other 8.1. No other ardunio devices are connected.

https://www.arduino.cc/en/Guide/Troubleshooting#toc24
https://www.arduino.cc/en/Guide/Troubleshooting#toc1

Though this guide is specifically for Arduino boards and some of it will not translate to you entirely try following any tips or ideas it has for windows and see if you can figure out the problem. The Rambo is basically a glorified Arduino board with built in stepper drivers.

I see nothing there that applies to what I am experiencing. Pronterface communicated with the board fine on Com3. The Arduino IDE shows Com3 under Tools>Port. The IDE compiles, claims to write, then read all the way to 100%, then shows the following error message:


Sketch uses 126,096 bytes (49%) of program storage space. Maximum is 253,952 bytes.
Global variables use 5,129 bytes (62%) of dynamic memory, leaving 3,063 bytes for local variables. Maximum is 8,192 bytes.
C:\Program Files\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cwiring -PCOM3 -b115200 -D -Uflash:w:C:\Users\gghouck\AppData\Local\Temp\build764f12f198845bfeec834d38758580bc.tmp/Marlin.ino.hex:i

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
Copyright © 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright © 2007-2009 Joerg Wunsch

System wide configuration file is “C:\Program Files\Arduino\hardware\tools\avr/etc/avrdude.conf”

Using Port : COM3
Using Programmer : wiring
Overriding Baud Rate : 115200
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Wiring
Description : Wiring
Programmer Model: AVRISP
Hardware Version: 15
Firmware Version Master : 2.10
Vtarget : 0.0 V
SCK period : 43.5 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801
avrdude: reading input file “C:\Users\gghouck\AppData\Local\Temp\build764f12f198845bfeec834d38758580bc.tmp/Marlin.ino.hex”
avrdude: writing flash (126096 bytes):

Writing | ################################################## | 100% 16.16s

avrdude: 126096 bytes of flash written
avrdude: verifying flash memory against C:\Users\gghouck\AppData\Local\Temp\build764f12f198845bfeec834d38758580bc.tmp/Marlin.ino.hex:
avrdude: load data flash data from input file C:\Users\gghouck\AppData\Local\Temp\build764f12f198845bfeec834d38758580bc.tmp/Marlin.ino.hex:
avrdude: input file C:\Users\gghouck\AppData\Local\Temp\build764f12f198845bfeec834d38758580bc.tmp/Marlin.ino.hex contains 126096 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 16.14s

avrdude: verifying …
avrdude: verification error, first mismatch at byte 0x0000
0x14 != 0x0c
avrdude: verification error; content mismatch

avrdude done. Thank you.

the selected serial port
does not exist or your board is not connected

Well that info certainly helps. What i gather from the error is that the hex file is actually working up until the verification part which either means a fuse setting is set wrong (unlikely unless you are using the wrong hex file), your usb cable is bad/serial port is funky, or your arduino bootloader is old, missing, or partially corrupted.

In your case i suspect you have a partially corrupted arduino bootloader as other people have run into this problem before (even myself once though not on a rambo board) and i think we pretty much eliminated the other two possibilities. If that is indeed the case you will need to upload a new arduino bootloader for the atmega2560 using a manual ISCP programmer. Once that is done the hex file should (knock on wood) upload correctly.

And if the problem is caused by the auto reset feature of the bootloader working too quickly (a similar but possible bootloader problem) you should be able to upload the hex file with the iscp programmer directly with avrdude.

Thanks. I’m not sure I can pull that off though, a little beyond what I’ve done before.

You are getting a transmission mismatch error. That’s not a good thing. Basically its the equivalent of you telling someone “apple” but they hear you say “blue penguin”.

That can be caused by a few things. If you are running the printer via a USB cable longer than 16 feet, via an unshielded cable next to a strong magnet (transformer electrical panel or speaker), using a USB active power injector to go past 16 feet, a bad USB port, a bad driver, etc. Its usually either hardware, or a really weird hard to track down esoteric software issue. A bad USB cable or USB hub is a good place to start.

Seems that Biolumo was right, replacing the board cleared up everything, all else being the same. Makes sense though because every time the very first byte of the verification failed the test but absolutely nothing else did.

I purchased a USBTinyISP and now I get the following error:

Arduino: 1.6.11 (Windows 7), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbtiny -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD8:m -Ulfuse:w:0xFF:m

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
Copyright © 2000-2005 Brian Dean, > http://www.bdmicro.com/
Copyright © 2007-2009 Joerg Wunsch

System wide configuration file is “C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf”

Using Port : usb
Using Programmer : usbtiny
avrdude: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\.\libusb0-0001–0x1781-0x0c9f
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : USBtiny
Description : USBtiny simple USB programmer, > http://www.ladyada.net/make/usbtinyisp/
avrdude: programmer operation not supported

avrdude: Using SCK period of 10 usec
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801
avrdude: erasing chip
avrdude: Using SCK period of 10 usec
avrdude: reading input file “0x3F”
avrdude: writing lock (1 bytes):

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbtiny -Uflash:w:C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:i -Ulock:w:0x0F:m
Writing | ################################################## | 100% 0.00s


avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying …
avrdude: 1 bytes of lock verified
avrdude: reading input file “0xFD”
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xFD:
avrdude: load data efuse data from input file 0xFD:
avrdude: input file 0xFD contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying …
avrdude: 1 bytes of efuse verified
avrdude: reading input file “0xD8”
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD8:
avrdude: load data hfuse data from input file 0xD8:
avrdude: input file 0xD8 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying …
avrdude: 1 bytes of hfuse verified
avrdude: reading input file “0xFF”
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying …
avrdude: 1 bytes of lfuse verified

avrdude done. Thank you.

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
Copyright © 2000-2005 Brian Dean, > http://www.bdmicro.com/
Copyright © 2007-2009 Joerg Wunsch

System wide configuration file is “C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf”

Using Port : usb
Using Programmer : usbtiny
avrdude: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\.\libusb0-0001–0x1781-0x0c9f
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : USBtiny
Description : USBtiny simple USB programmer, > http://www.ladyada.net/make/usbtinyisp/
avrdude: programmer operation not supported

avrdude: Using SCK period of 10 usec
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801
avrdude: NOTE: “flash” memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: Using SCK period of 10 usec
avrdude: reading input file “C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex”
avrdude: writing flash (261406 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 261406 bytes of flash written
avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:
avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:
avrdude: input file C:\Program Files (x86)\Arduino\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex contains 261406 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying …
avrdude: verification error, first mismatch at byte 0x3e000
0xff != 0x0d
avrdude: verification error; content mismatch

avrdude done. Thank you.

Error while burning bootloader.

Any ideas?

Same kind of error. It Sent “fred” but the device recieved “aardvaark”. Something is garbling your transmissions. I’d reccommend trying a different computer, if it works on a different computer then reload the one that is failing. If it still fails, replace the computer.

Well this time i think it may be that the USBTinyISP may not be compatible with that version of Atmel chip. According to Adafruit (https://www.adafruit.com/product/46):

It cannot program chips > with more than 64K of flash, > such as the > Atmega1280/1281, or > Atmega2560> /2561

.

I believe the RAMBO board uses the Atmega2560, so if that’s the case the USBTinyISP probably wont work and a different ISP programmer is needed. (sorry if you bought that because of my earlier comment. I tried to edit my original post but i may not have been clear as to why i removed my suggestion for the USBTinyISP. That’s just the only ISP Atmel chip programer i have ever used.)

Same with all 3 computers I tried.

Well this time i think it may be that the USBTinyISP may not be compatible with that version of Atmel chip. According to Adafruit (> https://www.adafruit.com/product/46> ):
It cannot program chips with more than 64K of flash, such as the Atmega1280/1281, or Atmega2560/2561
.

I believe the RAMBO board uses the Atmega2560, so if that’s the case the USBTinyISP probably wont work and a different ISP programmer is needed. (sorry if you bought that because of my earlier comment. I tried to edit my original post but i may not have been clear as to why i removed my suggestion for the USBTinyISP. That’s just the only ISP Atmel chip programer i have ever used.)

Lol, that’s my luck lately. Any ideas of what one can work?

well i’ve heard that “The genuine AVRISP mkII programmer” should work on the Atmega2560. There might be others, but you’ll have to do some googling. a quick google also produces “AVR ISP Programmer MKII Clone - Supports Atmega 2560”. AND i believe a standard arduino or arduino mega can be converted into an ISP programmer that i think can program the Atmega2560…

You will have to do some internet searching, but here is a start:

http://forum.arduino.cc/index.php?topic=113680.0

http://forum.arduino.cc/index.php?topic=157633.0
http://soc.ninja/documentation/programming-atmega2560-with-arduino-uno-or-mega/