ATMEGA644 ISP - Uzebox

Morning all, I recently contructed a uzebox. It work great for about a week and then it broke. I ended up narrowing down to the problem to the chip that (probably) mis-flashed itself. The obvious solution would be to re flash it on the computer. Currently I have it connected to my arduino which has been uploaded with the arduino ISP sketch. And I've been trying to reflash it using avrdude but to no avail. Real quick this is my hook up:

MISO -> 12 MOSI -> 11 SCK -> 13 RESET -> 10 Vcc -> V5 GND -> GND

And here is the code I've been using:

avrdude -c avrisp -p m644 -P /dev/ttyACM0 -v -U flash:w:Bootloader.hex

Which results in:

avrdude: Version 5.11.1, compiled on Apr 28 2013 at 18:46:46                                                        
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/                                                
         Copyright (c) 2007-2009 Joerg Wunsch                                                                       
                                                                                                                    
         System wide configuration file is "/etc/avrdude.conf"                                                      
         User configuration file is "/home/bolle/.avrduderc"                                                        
         User configuration file does not exist or is not a regular file, skipping                                  
                                                                                                                    
         Using Port                    : /dev/ttyACM0                                                               
         Using Programmer              : avrisp                                                                     
         AVR Part                      : ATMEGA644                                                                  
         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   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 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
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel AVR ISP
         Hardware Version: 3
         Firmware Version: 3.3
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

As a note I have posted on the uzebox forum to see if they could help, but there community is considerably smaller than this one, and the problem isn't with the uzebox itself.

On another note I did buy a different ATMEGA644 just in case and I can't flash that one either.

Add a few more dash-Vs to that command-line…

avrdude -c avrisp -p m644 -P /dev/ttyACM0 -v -U flash:w:Bootloader.hex

You will have to also clear / set the lock bits.

How did you disable auto-reset on the programmer (your Uno)?

avrdude: Version 5.11.1, compiled on Apr 28 2013 at 18:46:46
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/bolle/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : avrisp
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
         AVR Part                      : ATMEGA644
         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   128    0 no       2048    8      0  9000  9000 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------                        
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff                        
                                  Block Poll               Page                       Polled                        
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack                        
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------                        
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00                        
                                  Block Poll               Page                       Polled                        
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack                        
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------                        
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00                        
                                  Block Poll               Page                       Polled                        
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack                        
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------                        
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00                        
                                  Block Poll               Page                       Polled                        
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack                        
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------                        
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00                        
                                  Block Poll               Page                       Polled                        
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack                        
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------                        
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00                        
                                  Block Poll               Page                       Polled                        
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack                        
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel AVR ISP
avrdude: Send: A [41] . [80]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [98]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
         Hardware Version: 3
         Firmware Version: 3.3
avrdude: Send: A [41] . [84]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [85]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [86]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [87]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [89]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: B [42] . [82] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [01] . [00] . [08] . [00] . [00] . [01] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: E [45] . [05] . [08] . [d7] . [a0] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: P [50]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: AVR device initialized and ready to accept instructions

Reading |                                                    | 0% 0.00savrdude: Send: V [56] 0 [30] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
Reading | #################                                  | 33% 0.01savrdude: Send: V [56] 0 [30] . [00] . [02] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 

avrdude done.  Thank you.

Here yah go.

And I didn't disable the autoreset...

The programmer responded. The target did not. The usual culprit is wiring.

Could be. I actually think that it’s something on the computer’s end. Somebody on the uzebox forum, decided to try it out on ubuntu. and it didn’t work even though it did on windows. In fact he got the exact same error that I did. We think something is hogging ttyACM0

HolyCarHorn:
I actually think that it’s something on the computer’s end. Somebody on the uzebox forum, decided to try it out on ubuntu. and it didn’t work even though it did on windows. In fact he got the exact same error that I did. We think something is hogging ttyACM0

Does not fit the symptoms. The middle section…

         Programmer Type : STK500
         Description     : Atmel AVR ISP
avrdude: Send: A [41] . [80]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [98]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
         Hardware Version: 3
         Firmware Version: 3.3
avrdude: Send: A [41] . [84]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [85]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [86]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [87]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [89]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [03] 
avrdude: Recv: . [10] 
avrdude: Send: B [42] . [82] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [01] . [00] . [08] . [00] . [00] . [01] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: E [45] . [05] . [08] . [d7] . [a0] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: P [50]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: AVR device initialized and ready to accept instructions

Reading |                                                    | 0% 0.00savrdude: Send: V [56] 0 [30] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
Reading | #################                                  | 33% 0.01savrdude: Send: V [56] 0 [30] . [00] . [02] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10]

…is avrdude communicating successfully with the programmer via ttyACM0. The failure occurs at the point where the programmer tries to communicate with the target. For the given symptoms the usual culprits in order are: wiring; lack of a clock on the target / misconfigured fuse bits; the target is toast.

Sorry for the bump, but swapping to a windows computer fixed the problem. I read somewhere that sometimes ubuntu treats acm0 as an ethernet device or something, and in some way hinders communication.