[Solved] Bricked my Shruthi XT due to too large FW update

About two years ago there was a discussion regarding an unseccessfull firmware upgrade: http://www.mutable-instruments.net/forum/discussion/1227/firmware-update-fail-solved/p1

I’m in nearly the same situation as “dr3tri” described in his post.

Unfortunatley I did not realize that the size of my FW was too large. So the upgrade proceeded but never finished as the Shruthi XT ran out of memory.
Now nothing works anymore. Sometimes I can make it to get back into upgrade mode by pressing the two OSC2 shape buttons but this does not always work.
Even if I can make it: unfortunately all of the LEDs are on, so it seems that the device is expecting a kind of finalization. I tried to resend a smaler, working FW but of course this does not work.
As I don’t have a programmer I do not have a chance to update the chip any other way as via MIDI.

Does anybody have a last advice for what I can try to get the Shruthi XT back in a normal update mode without changing any chips?
To be honest, i’m a little bit desperate now.

Edit: now it seems that I even can’t get back into the upgrade mode with all the LEDs lit anymore :frowning:

> unfortunately all of the LEDs are on, so it seems that the device is expecting a kind of finalization. I tried to resend a smaler, working FW but of course this does not work.

If this is what you see, then you are not in the firmware upgrade mode.

When you enter the firmware upgrade mode, you should see the 1, 3, 5, 7 LED pattern.

Remember that on the XT a different key has to be pressed.

Yes, I know. It was just a mode which signaled or comes up at the end of the update.
Anyway, seems that bootloader has been overwritten as you explained in a few years old post: http://www.mutable-instruments.net/forum/discussion/544/firmware-update-issue-via-midi/p1

It’s a shame because during the night I achieved to implement a very, very cool sequencer remix functionality which I worked on for some time. Everything worked well and I just wanted to add some more remix patterns. Obviously this was too much and the FW file got too big (for some unknown reason “make size” does not work here) and caused the chip to become bricked.
What a pity. So I have to order an AVR programmer which is not a bad investment (but I will go for the cheaper Diamex device).

An AVR programmer is a sound investment. There are lots of devices around that use Amtel chips.

I don’t think you broke your bootloader… This should be impossible with midi updating…
You have to press S6 during power on to update.
Use a proper v1.00 firmware .syx file from one of the threads on the forum Olivier has posted them in.

from the manual:

Updating the Shruthi firmware by MIDI

To update the Shruthi firmware, hold the S6 switch (or the OSC 2 SHAPE + switch on the XT) while the synth is being powered on.

The screen remains empty, and the LEDs L1, L3, L5 and L7 are lit. The Shruthi is now waiting for SysEx data containing firmware update commands.

No, I did (broke it). I have more than two years of experience hacking the FW and updating the device. And yes, there are options to override your bootloader via Midi update.
So, believe me, it seems there is no way anymore to bring the bootloader back to life.
Btw.: at the XT it’s not the S6 button you have to press. :wink:
Anyway, thanks a lot for your help.

Is that the chip that originally came with the XT? Because I’ve been burning the chips with the bootloader area protection since the first bricking incidents occurred.

No’ it’s a replacment and I think it’s not the original one as the first Atmel got defect after a few weeks. I wasn’t the one who build the XT and replaced the first Atmel but I will check.

You can burn a chip without the bootloader can’t you? so that might be why it doesn’t work?

I bricked my MIDIpal once. After 10 unsuccessful update attempts through MIDI it died. I bought an AVR programmer and haven’t used MIDI since.

If you have overwritten the bootloader, you have only two options:

  1. Order a new pre-programmed Atmel from MI
  2. Buy an AVR programmer. That’s a really good investment and I can recommend this one from myAVR. They have also a really nice and easy to use software.

I should prolly look into using software. I’m old schooling it with command lines.

@cj55: Yes, I went for the scond option. Programmer should arrive the next three days.

Question: what are the exact steps I have to do (yes, avrdude works on my noteook) and what exactly is the trick to set the “don’t override the bootloader - flag” ?

Add the following bit:

-U lock:w:0x2f:m

To the command line when flashing to set the lock bits.

Olivier may wish to comment on this, but if you have an AVR programmer, then you should be able to omit the bootloader and gain some extra program space - I think it was 512 words from memory. Every little bit of space counts on the Shruthi.

Oh dear, this really becomes a nightmare. I’m messing with avrdude and the avr drivers for hours now.
First I installed Atmel studio 6 just to recognized after one hour that the drivers will not work with avrdude. So I spent endless time on finding a AVRISPmkII driver for Win7 64-bit which I finally found (http://mightyohm.com/blog/2010/09/avrisp-mkii-libusb-drivers-for-windows-7-vista-x64/) - even if it still behaves a littly bit strange sometimes.

Now I can’t get avrdude to recognize the chip (or programmer?).
This is the first error message when using the “avrdude -B 10 -V -p m644p -c avrispmkII -P usb” command:

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_command(): unknown status 0xc9
avrdude: stk500v2_program_enable(): cannot get connection status
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

O.K., next time with the “-F” option I do get this:

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_command(): unknown status 0xc9
avrdude: stk500v2_program_enable(): cannot get connection status
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA644P is 1E 96 0A

To be honest I don’t have a clue how to proceed and I’m a little bit desperate now.

I saw an older post from somebody having the same problem but couldn’t see a proper solution in that thread.

The programmer is connected to the controller board (I use a Shruthi NOT a XT version) with the correct cable orientation and there is NO power connected to the board as this should be handled by the programmer.

So, any more advice?

You have an AVR ISP mkII, right? If so, the chip needs to be externally powered.

My programmer needs the shruthi to be powered… AVRisp mkII

As usual Olivier is faster :slight_smile:

Oh no, really? Dow!
Edit: stupid question deleted (as the power socket is on the filter board).