Hi,
I was checking datasheet for Atmega128, not for Atmega128rfa1. I taught
that they are same - obviously not. Sorry for confusion.
So I think only way is checking sources of avrdude (maybe chip description
have wrong mask.... ).
Martin
On 29 Mar 2016 23:24, "Armin Oonk" <ar...@berkelaarmrt.com> wrote:

> Hi,
>
> yes I also have this idea about a wrong bit mask. But I am not an avrdude
> developer, so I thought I ask here first.
>
> I have tested it a bit more today and with atmel studio it all seems fine.
>
> The value 0xF6 for the extended fuse bit is not a correct value if I look
> at the datasheet for the atmega128rfa1.
>
> Bit 3 is reserved and has as description "Do not modify" with a default
> value of 1. With 0xF6 this is set to zero.
>
> Not sure if the mail list supports image but here is a screenshot of the
> extended fuse bits for the atmega128rfa1
>
>
> Kind regards,
> Armin
>
> Op 29-Mar-16 om 15:41 schreef Martin Stejskal:
>
> Hi,
> I've an idea. Maybe wrong, but I have one :) Since only 2 LSB are actually
> used as extended fuses, I guess programmer or avrdude can ignore "unused
> bits" (like using some mask). Point is, that there may be bug in programmer
> FW or AVR chip description (which avdrude use), so one bit can be
> interpreted bad.
> But if you check your fuse values with register, I think you does not have
> problem (2 LSB are same in both cases).
> Or maybe you set unsupported baudrate (on some USB <--> UART convertors it
> can be problem).
> Regards
>   Martin
> On 29 Mar 2016 17:40, "Armin Oonk" <ar...@berkelaarmrt.com> wrote:
>
>> Hi,
>>
>> I have a small programming setup for a custom pcb. I use a raspberry pi
>> with avrdude (6.1) to program a atmega128rfa1. I am currently using a
>> AVRISP mkii but because it is unavailable I am looking into using the
>> Atmel-ICE programmer.
>>
>> I have some funny behavior with the Atmel-ICE programmer. When I try to
>> burn the fuses I get a verification error of the efuse
>> Command:
>> avrdude -p m128rfa1 -c atmelice_isp -P usb -B 32 -U lfuse:w:0xf7:m -U
>> hfuse:w:0xd1:m -U efuse:w:0xfe:m
>>
>> Output (only the error part):
>> avrdude: verification error, first mismatch at byte 0x0000 0xf6 != 0xfe
>> avrdude: verification error; content mismatch
>>
>> When I use the old and trusted AVRISP mkii everything works
>> Command:
>> avrdude -p m128rfa1 -c stk500v2 -P usb -B 32 -U lfuse:w:0xf7:m -U
>> hfuse:w:0xd1:m -U efuse:w:0xfe:m
>>
>> Output:
>> avrdude: 1 bytes of efuse verified
>>
>>
>> Does anybody have a idea why it get an error with the atmel-ICE
>> programmer?
>>
>>
>> Full command output:
>>
>> sudo avrdude -p m128rfa1 -c atmelice_isp -P usb -B 16 -U lfuse:w:0xf7:m
>> -U hfuse:w:0xd1:m -U efuse:w:0xfe:m
>>
>> avrdude: AVR device initialized and ready to accept instructions
>>
>> Reading | ################################################## | 100% 0.01s
>>
>> avrdude: Device signature = 0x1ea701
>> avrdude: reading input file "0xf7"
>> avrdude: writing lfuse (1 bytes):
>>
>> Writing | ################################################## | 100% 0.09s
>>
>> avrdude: 1 bytes of lfuse written
>> avrdude: verifying lfuse memory against 0xf7:
>> avrdude: load data lfuse data from input file 0xf7:
>> avrdude: input file 0xf7 contains 1 bytes
>> avrdude: reading on-chip lfuse data:
>>
>> Reading | ################################################## | 100% 0.00s
>>
>> avrdude: verifying ...
>> avrdude: 1 bytes of lfuse verified
>> avrdude: reading input file "0xd1"
>> avrdude: writing hfuse (1 bytes):
>>
>> Writing | ################################################## | 100% 0.09s
>>
>> avrdude: 1 bytes of hfuse written
>> avrdude: verifying hfuse memory against 0xd1:
>> avrdude: load data hfuse data from input file 0xd1:
>> avrdude: input file 0xd1 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 "0xfe"
>> avrdude: writing efuse (1 bytes):
>>
>> Writing | ################################################## | 100% 0.09s
>>
>> avrdude: 1 bytes of efuse written
>> avrdude: verifying efuse memory against 0xfe:
>> avrdude: load data efuse data from input file 0xfe:
>> avrdude: input file 0xfe contains 1 bytes
>> avrdude: reading on-chip efuse data:
>>
>> Reading | ################################################## | 100% 0.00s
>>
>> avrdude: verifying ...
>> avrdude: verification error, first mismatch at byte 0x0000
>>          0xf6 != 0xfe
>> avrdude: verification error; content mismatch
>>
>> avrdude: safemode: efuse changed! Was fe, and is now f6
>> Would you like this fuse to be changed back? [y/n] n
>> avrdude: safemode: Fuses OK (E:FE, H:D1, L:F7)
>>
>> avrdude done.  Thank you.
>>
>>
>> --
>>
>> Armin Oonk, MSc
>>
>> *Berkelaar Meet- en RegelTechniek*
>> *Mijnbouwstraat 120*
>> *2628 RX Delft*
>> *The Netherlands*
>>
>> *T* +31(0)6 14 65 84 39
>> *E* ar...@berkelaarmrt.com
>> *BTW* NL1677.88.395.B01 / *KvK* 27299619
>> [image: logo[1]] <http://www.berkelaarmrt.com>
>>
>>
>> _______________________________________________
>> AVR-chat mailing list
>> AVR-chat@nongnu.org
>> https://lists.nongnu.org/mailman/listinfo/avr-chat
>>
>>
> --
>
> Armin Oonk, MSc
>
> *Berkelaar Meet- en RegelTechniek*
> *Mijnbouwstraat 120*
> *2628 RX Delft*
> *The Netherlands*
>
> *T* +31(0)6 14 65 84 39
> *E* ar...@berkelaarmrt.com
> *BTW* NL1677.88.395.B01 / *KvK* 27299619
> [image: logo[1]] <http://www.berkelaarmrt.com>
>
>
> _______________________________________________
> AVR-chat mailing list
> AVR-chat@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/avr-chat
>
>
_______________________________________________
AVR-chat mailing list
AVR-chat@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-chat

Reply via email to