Trying to bootload atmega 8 (lock fuse error)

Hi,

I spent all night trying to fix this problem.

I`m trying to bootload an arduino(atmega8) with the parallel programmer(http://www.arduino.cc/en/Hacking/ParallelProgrammer). Using the command line + avrdude

I`m using these tutorials:

  1. https://web.archive.org/web/20200610013744/http://www.uchobby.com/index.php/2007/09/12/how-to-update-the-arduino/
  2. Arduino on a prototype board – tinkerlog

The first one doesnt start with setting the fuses.
avrdude -c dapa -i 800 -p m8 -U flash:w:ATmegaBOOT.hex

This starts bootloading directly. But whet its finished led 13 doesnt do anything. And i cant upload sketches using serial.

I hope that that`s beacause of the fuses needed to be set.

That`s described in tutorial 2.
avrdude -v -c dapa -p ATmega8 -C avrdude.conf -U hfuse:w:0xCA:m -U lfuse:w:0xDF:m -U lock:w:0xFF:m

But this gives me an error:

C:\Arduino IDE\hardware\tools\avr\bin>avrdude -v -c dapa -p ATmega8 -C avrdude.c
onf -U hfuse:w:0xCA:m -U lfuse:w:0xDF:m -U lock:w:0xFF:m

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         System wide configuration file is "avrdude.conf"

         Using Port            : lpt1
         Using Programmer      : dapa
         AVR Part              : ATMEGA8
         Chip Erase delay      : 10000 us
         PAGEL                 : PD7
         BS2                   : PC2
         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  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
           eeprom         4    20   128    0 no        512    0      0  9000  90
00 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128  4500  45
00 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0  2000  20
00 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  2000  20
00 0x00 0x00
           lock           0     0     0    0 no          1    0      0  2000  20
00 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0
 0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0
 0 0x00 0x00

         Programmer Type : PPI
         Description     : Direct AVR Parallel Access cable
           VCC     = 3
           BUFF    =  (not used)
           RESET   = 16
           SCK     = 1
           MOSI    = 2
           MISO    = 11
           ERR LED = 0
           RDY LED = 0
           PGM LED = 0
           VFY LED = 0

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9307
avrdude: safemode: lfuse reads as DF
avrdude: safemode: hfuse reads as CA
avrdude: reading input file "0xCA"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

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

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

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xDF"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

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

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lock (1 bytes):

Writing |                                                    | 0% 0.00s ***faile
d;
Writing | ################################################## | 100% 0.10s

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

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

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xff != 0x3f
avrdude: verification error; content mismatch

avrdude: safemode: lfuse reads as DF
avrdude: safemode: hfuse reads as CA
avrdude: safemode: Fuses OK

avrdude done.  Thank you.

So it fails at the lock fuse. I can`t figure out how to fix it...

I hope someone here spots the problem.

Thanks in advance!!

Collin

Noone?

Ok, i think i now have programmed the chip correctly.

I used these commands:
avrdude -c dapa -p m8 -e -F -u -U lock:w:0x3f:m -U hfuse:w:0xca:m -U lfuse:w:0xdf:m

avrdude -c dapa -p m8 -U flash:w:ATmegaBOOT.hex -U lock:w:0x0f:m

For the first time i didnt see any errors.

So does that give a guarenty the chip is loaden correctly?

When i press reset afterwards led 13 does not blink :frowning: