Device Signature 0x000

Go To Last Post
23 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I know this is a common problem, and yes I have searched the forums for similar problems , but most of them seem to be caused by incorrect wiring or fuse settings.

Ok so heres my problem, I'm using an ATmega 32 and a usbasp programmer along with AVRdude on a Windows XP SP3.
All was well until a few days ago somehow the device signature got overwritten to 0x0000 (I have no idea how this happened) but upon google-ing a bit , found out that this can be temporarily resolved by using the -F option in AVRdude. And it did indeed work, I burnt a few HEX files and everything was ok.

Now after around 2 weeks im getting a "device not responding error" , even after triple-checking connections and over-riding the check by the -F option, it gives me the same device signature error, and refuses to write/read/verify.

I have not crossed the maximum voltage limit (so im guessing its fine in that respect).Also i have not messed with the fuse settings (intentionally).

So, is there any way i can rewrite the device signature? or anything at all that can be done to fix this problem?

If theres any other information you need regarding the problem pls do ask

Cheers!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You should never use the -F option.

As a general rule, reading '0x00' means your clock speed is too slow.

Reduce your ISP frequency by using the -B5 option (or even -B10 ).
If your usbasp is very old, it does not understand -B# option. Then you will need to use the 'SLOW' jumper.

Remove the CKDIV8 fuse. It serves no purpose at all (apart from confusing people)

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Should have googl-ed a bit more about the -F option I guess.

I tried with the jumper removed(which according to the manual enables slower frequencies) ,also i tried with the -B# option but still i get the same message


avrdude.exe: error: programm enable: target doesn't answer. 1 
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.

And with the -F option

avrdude.exe: error: programm enable: target doesn't answer. 1 
avrdude.exe: initialization failed, rc=-1
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes!  Invalid device signature.
avrdude.exe: Expected signature for ATMEGA32 is 1E 95 02

avrdude.exe done.  Thank you.
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Surely the jumper is SLOW.
If your usbasp did not whinge about the -B# option, it must understand the option.

I suspect that your prior use of -F has probably produced the duff 'clock fuse'. If you use -F then anything can happen.

So supply a 1MHz clock to XTAL1 pin. Program the correct fuses. Life is sweet.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Will try it once I'm home

Cheers!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello guys,

i was flasing my 88PA board (on screen display circuit) with some old code i had around, and all was fine for a few times, but when i built the code the last time and came to flash it told me the fuses have changed and do i want to change them back.

i hit Y to change them back, but probably messed them up as the current configuration was OK.

anyway now all im getting is device signature 0x00000 if i use -F, and if i dont i only get rc=-1.

I tried the -B5 and -B10 but same results - target doesnt answer and signature 0x00000. it did also say it cant set this sck frequency and that i need to check for USBASP firmware updates.

how can i fix this board ?
this is my first time with these kinds of jobs so please explain thoroughly if possible :)

thanks so much.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As long as it's not RSTDISBL...

http://www.avrfreaks.net/index.p...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So i removed the crystal (24Mhz) that was connected to pin 7 of my atmega88PA on my board, and used a signal generator set to 0-5V square wave 1Mhz on pin 7.

but still the exact same lack of response from AVRdude.

any ideas guys ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

so 24MHz was already overclocking, so god knows what the fuse settings are.

You do not mention that you reduced the programming speed to be lower than 125KHz....

Also the clock can be the internal 32KHz oscillator (fuse 0000 setting) then the programming speed has to be below 1KHz

did you try everything that is in the thread link given by Clawson?

problem is that if a 00 00 is written the reset pin is also disabled and programming will no longer work. At least I did not see you mentioning having an STK500/STK600 or AVR dragon to do high voltage programming (that will always work)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

meslomp wrote:
so 24MHz was already overclocking, so god knows what the fuse settings are.

You do not mention that you reduced the programming speed to be lower than 125KHz....

Also the clock can be the internal 32KHz oscillator (fuse 0000 setting) then the programming speed has to be below 1KHz

did you try everything that is in the thread link given by Clawson?

problem is that if a 00 00 is written the reset pin is also disabled and programming will no longer work. At least I did not see you mentioning having an STK500/STK600 or AVR dragon to do high voltage programming (that will always work)

i didnt try everything in that thread, some very extreme methods there :)

any idea how i set my USBASP progrmaming speed ?

I dont think i have access to a STK500/600 or AVR Dragon.
I do have an AVR USB KEY if that helps..

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

GOOD NEWS ! i just found an STK 600 at hand !

can anyone explain how to do HV programming and set the fuses correctly to this uC ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

meslomp wrote:
so 24MHz was already overclocking, so god knows what the fuse settings are.

You do not mention that you reduced the programming speed to be lower than 125KHz....

Also the clock can be the internal 32KHz oscillator (fuse 0000 setting) then the programming speed has to be below 1KHz

did you try everything that is in the thread link given by Clawson?

problem is that if a 00 00 is written the reset pin is also disabled and programming will no longer work. At least I did not see you mentioning having an STK500/STK600 or AVR dragon to do high voltage programming (that will always work)

so i jumpered pin 25 from the Atmega 8A of the USBASP to the ground (for slow SCK) and the result is the same - target doesnt answer, rc=-1, it just takes 1-2 seconds longet to get to the same result, ptobably because its now running slower.

still says device signature is 0x000000.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

reading a little bit about HV programmiong, this sounds far too complicated for this cheap Atmega88PA so i dont htink ill be using the STK600.

but if there are any other tricks to try with the USBASP im open to suggestions.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

i3dmavr wrote:
reading a little bit about HV programmiong, this sounds far too complicated...
Not at all. You can breadboard it. Have a look atYou'll have to adapt it to your device, but it shouldn't be that difficult. Then, you'll be able to fix anything :)

JJ

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"Read a lot.  Write a lot."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dont you just stick it in the STK socket and hit the erase button in atmel studio?

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bob, he has an STK600

that no longer has the sockets, but he would nee a load of configuration boards to put it in.

I guess it should not take that much effort to attach a few wires to the chip for high voltage programming,
than again if you have an stk600 why not attach its programming interface to your board and see if it can comunicate using also the atmel studio, it might give you some more information.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am using ATmega64 and trying to program it using USBasp programmer. I am stuck at the same point 

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

 

I am trying to use internal oscillator which would be 8MHz by default I guess (I don't want to change any fuse setting as I am not so sure about it yet), but even after doing that, I still have the same issue. 

Is there any other way of doing it without using an external oscillator and changing the fuse settings(to keep things simple)? Thank you

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am using ATmega64 and trying to program it using USBasp programmer. I am stuck at the same point 

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

I did tried doing -F but you know the rest of the story.

I am trying to use internal oscillator which would be 8MHz by default I guess (I don't want to change any fuse setting as I am not so sure about it yet), but even after doing that, I still have the same issue. 

Is there any other way of doing it without using an external oscillator for now and without changing the fuse settings(to keep things simple)? Thank you

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you wired the isp correctly? Mega64/128 use different pins. Read the datasheet carefully.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gak543 wrote:

I am using ATmega64 and trying to program it using USBasp programmer. I am stuck at the same point 

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

I did tried doing -F but you know the rest of the story.

I am trying to use internal oscillator which would be 8MHz by default I guess (I don't want to change any fuse setting as I am not so sure about it yet), but even after doing that, I still have the same issue. 

Is there any other way of doing it without using an external oscillator for now and without changing the fuse settings(to keep things simple)? Thank you

 

How is the MPU powered?  Do you have power on all VCC and AVCC pins?  All GND pins grounded?

 

Jim

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here are my connection details which I did based on ATmega64 datasheet,

 

usbasp MOSI to ATmega64 pin-12

usbasp MISO to ATmega64 pin-13

usbasp SCK to ATmega64 pin-11

usbasp RST to ATmega64 pin-20 with 10K resistor via +5V

usbasp Vcc to ATmega64 21,52,64 pins 

usbasp GND to ATmega64 22,53,63 pins

 

Please correct me if I did anything wrong. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

You didn’t read the datasheet regarding isp connections! Mosi/miso connect to pdi/pdo which is pin 2 & 3 (check the order!). Just about everyone falls for that trap.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I did try to use pin 2 and 3 but I messed up some other connection at that time, later on, my overlooked that option and eventually fell into the same trap as u said. Thank you, it worked.