[Pkg-electronics-devel] Bug#985579: arduino-core-avr: Lock bit values fail verification

Gregor Riepl onitake at gmail.com
Sat Mar 20 10:43:45 GMT 2021


Package: arduino-core-avr
Version: 1.8.3+dfsg1-1
Severity: important
X-Debbugs-Cc: onitake at gmail.com

Dear Maintainer,

It's not possible to update the fuse/lock bits with the included boards.txt and
recent avrdude versions.

avrdude used to mask unused bits for some microcontrollers, but this was
changed some time ago.

As a result, trying to write fuse bits into an Arduino Uno leads to the
following error:

$ /usr/bin/avrdude -v -patmega328p -cusbtiny -e -Ulock:w:0x3F:m
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xff != 0x3f
avrdude: verification error; content mismatch

The two uppermost lock bits in the ATmega328P are unused and will always read
as logic 1.

As a result, the following modification must be made to boards.txt:

uno.name=Arduino Uno
...
# original 0x3F
uno.bootloader.unlock_bits=0xFF
# original 0x0F
uno.bootloader.lock_bits=0xCF

This will make avrdude expect a logic 1 and prevent verification failure.

Thank you.


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (900, 'testing'), (500, 'unstable-debug'), (500, 'testing-
debug'), (300, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-3-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_USER, TAINT_WARN
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8),
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages arduino-core-avr depends on:
ii  avr-libc  1:2.0.0+Atmel3.6.2-1.1
ii  gcc-avr   1:5.4.0+Atmel3.6.2-1+b1

arduino-core-avr recommends no packages.

arduino-core-avr suggests no packages.

-- no debconf information

-- debsums errors found:



More information about the Pkg-electronics-devel mailing list