[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