Skip to content

Known limitations of avrdude

mcuee edited this page Jan 10, 2024 · 17 revisions

Known issues for programmers.

  1. CH340: Not working with MSVC build: https://github.com/avrdudes/avrdude/discussions/1441 Not working with lower speed AVRs: https://github.com/avrdudes/avrdude/discussions/1440

  2. STK600 Missing TPI, JTAG and UPDI support: https://github.com/avrdudes/avrdude/issues/1047

  3. ftdi_syncbb Under Windows if you use D2XX driver (MSVC build), the speed will be quite slow compared to using libftdi (MinGW build).

  1. PICkit 2 does not work under macOS -- we need to migrate the code to use HIDAPI in order to support macOS
  1. Parallel port based programmer will nork under Windows and macOS. The old version of avrdude ships with giveio.sys driver which may work under Windows XP but not later version of Windows. It was removed in the following PR.
  1. HIDAPI based programmer will not work under OpenBSD/NetBSD/Solaris as it is not supported on those platforms. If you rebuild your kernel to block the kernel HID driver, they may work under OpenBSD/NetBSD.

Known issues for bootloaders.

General limitation

  1. Bootloader can not program fuse bits

Known limitation of specific bootloaders

  1. Arduino version of optiboot for Uno/Nano/etc is very old (4.4) and does not support EEPROM
  1. Optiboot may have issues with EEPROM support

  2. Optiboot may be prone to timeout in terminal mode. You may want to use -c urclock to help here.

  3. Arduino version of stk500v2 bootloader has EEPROM bug

  1. Even with the above EEPROM fix, the Arduino stk500v2 does not support page erase and has some limitations. https://github.com/avrdudes/avrdude/issues/1379

  2. urboot is usually good not to time out in terminal mode, but under Windows there may still timeout issues (Windows limitations).

OS Support limitations (to be updated) for avrdude 7.0 and above

  1. usually OS up to 5 years old should work fine even though you may need to upgrade certain dependancies (build tools and libraries) in order to build from the source codes,
  2. OS up to 10 years old may still work fine but you may need to upgrade the dependancies involved in order to build from source codes.

Windows: Windows 7 onwards (take note Microsoft does not support Windows 7/8/8.1 now). Windows 7 was released in 2009.

Linux: Ubuntu 16.04 and later (older version may still work)

You may need pretty recent libgpiod if you want to get Linux GPIO to work with git main.

macOS: Mac OS X Snow Leopard (10.6) i386/x64 (not so sure about PPC) and later https://ports.macports.org/port/avrdude/details/

FreeBSD: FreeBSD 8 and later with proper libusb support (to be confirmed)

OpenBSD: ? HIDAPI based programmer will not work

NetBSD: ? HIDAPI based programmer will not work

Solaris: ? HIDAPI based programmer will not work