Skip to content

Known limitations of avrdude

mcuee edited this page Feb 2, 2024 · 17 revisions

Known issues for test-avrdude tool

  1. Only bash is supported. Please install bash if your OS does not ship with bash by default.
  2. Please specify -t . or -t c:/tmp if you use MSYS2 bash or git bash under Windows.

Known issues for programmers.

  1. CH341A: 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.

  2. CH340 based serialupdi programmer does not work under FreeBSD due to the limitation of FreeBSD CH340 driver.

  1. Atmel ICE and Power Debugger TPI does not work under macOS.
  1. AVR-Doper support is broken in avrdude 6.4 and later

Known issues for bootloaders.

General limitation

  1. Bootloader can not program fuse bits

Known limitation of specific bootloaders

Recommendation from avrdude project is to use urboot bootloader to replace the Optiboot and stk500v2 bootloader for Classic AVR parts. It is well supported by avrdude using -c urclock.

  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 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.

  3. Certain feature of avrdude may not work if the underlying library used are not supported in the OS (eg: hidapi, libserialport, libusb, libftdi GNU Readline or libedit).

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

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

You may need pretty recent version of 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, macOS on x64 and Apple Silicon. Take note Apple only support macOS 12/13/14 now. https://ports.macports.org/port/avrdude/details/

FreeBSD: Take note FreeBSD project only suppors Release 13.2/14.0 now. https://www.freebsd.org/releases/

OpenBSD: HIDAPI based programmer will not work. Take note OpenBSD project only supports most recent releases. libserialport based features may not work either. https://endoflife.date/openbsd

NetBSD: HIDAPI based programmer will not work. Take note NetBSD project now only supports 8.x and 9.x releases. libserialport based features may not work either. https://www.netbsd.org/releases/formal.html

Solaris: HIDAPI based programmer will not work. libserialport based features may not work either. Not really tested by avrdude project, we rely on the users to report issues

DragonFly BSD: not really tested by avrdude project, we rely on the users to report issues

Haiku not really tested by avrdude project, we rely on the users to report issues