AVRDUDE 6.1 released

Go To Last Post
44 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I decided to roll a quick (really quick) release of AVRDUDE 6.1.

Sorry to everyone who submitted patches or filed bug reports: they
might not have been considered this time. The decision was a quick
one, and a tradeoff between rolling something really soon now, or
deferring it for at least another four weeks (due to lack of time).

Given that a number of important bugfixes already went in since 6.0.1,
and given that we have support for Atmel's new EDBG platform (which is
applicable to recent firmware versions of the JTAGICE3, the embedded
programmers/debuggers of the recent XplainedPro boards, and the new
Atmel-ICE), plus support for FLIPv1/v2 bootloaders, I decided for the
quick release, just to get all this out to the users.

I promise a more thoroughfully prepared release for 6.2. :)

Here's the release notes aka. NEWS file:

  * Major changes compared to the previous version:
    - Atmel EDBG protocol support added (JTAGICE3, XplainedPro, Atmel-ICE)

  * New programmers supported:
    - Atmel DFU, using FLIP protocol version 1 (AT90USB and ATmega*U* devices),
      or version 2 (Xmega devices)
    - Atmel-ICE (ARM/AVR), JTAG, PDI, debugWIRE, ISP modi

  * Bugfixes
    - bug #40055: AVRDUDE segfaults when writing eeprom
    - bug #40085: Typo fix in fuses report (for 6.1-svn-20130917)
    - bug #40782: Verify errors for object size > 16 k on x32e5 due
      to typo in avrdude.conf
    - bug #40817: Elf file support (possibly) not working on 6.0.1 windows build
    - bug #40897: AT Mega2560 not correctly programmed with stk500(v1)
      ISP (solution patch)
    - bug #41357: OS X: Avrdude messes with the usb stack?
    - bug #41402: dfu.c missing include 
    - patch #7896: DFU FLIPv2 programming support

  * Internals:
    - (Some) programmers can take a list of USB PIDs now.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Haven't had time to debug yet, but wanted to warn people before anyone else tries 6.1.
I updated my 6.0.1 sources to 6.1 from svn. I did builds on CentOS and Windows7/MingW. Here's what I get on CentOS:

[root@centos64]# ./avrdude -C ./avrdude.conf

avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

*** glibc detected *** ./avrdude: double free or corruption (!prev): 0x0000000001285f60 ***
Segmentation fault

On Windows7 it hangs and never exits:

$ avrdude -p t88 -c usbasp

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware up
date.
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude.exe: Device signature = 0x1e9311

avrdude.exe: safemode: Fuses OK (E:07, H:DF, L:6E)

avrdude.exe done.  Thank you.

There's a *slim* chance it's related to my local changes (such as picoboot support), but this bug did not exist with the 20140114 snapshot and only appeared after I did a svn update to the latest trunk today.

I have no special talents.  I am only passionately curious. - Albert Einstein

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I cannot replicate the segfault with my build on an up-to-date Archlinux:

[henrik@LIAB avrdude]$ ./avrdude -v

avrdude: Version 6.1, compiled on Mar 14 2014 at 12:17:55
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
[henrik@LIAB avrdude]$ ./avrdude -C avrdude.conf

avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

I tested a newly acquired Atmel-ICE in ISP mode, and it works, but gosh its slow compared to the AVRISPmkII (just a heads up for people interested in buying it as their only programmer):

[henrik@LIAB avrdude]$ ./avrdude -C avrdude.conf -c atmelice_isp -p m168 -U flash:w:"/home/henrik/liabgit/puck_driver/PUCK.hex":i

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9406
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/home/henrik/liabgit/puck_driver/PUCK.hex"
avrdude: writing flash (11752 bytes):

Writing | ################################################## | 100% 48.12s

avrdude: 11752 bytes of flash written
avrdude: verifying flash memory against /home/henrik/liabgit/puck_driver/PUCK.hex:
avrdude: load data flash data from input file /home/henrik/liabgit/puck_driver/PUCK.hex:
avrdude: input file /home/henrik/liabgit/puck_driver/PUCK.hex contains 11752 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 48.13s

avrdude: verifying ...
avrdude: 11752 bytes of flash verified

avrdude: safemode: Fuses OK (E:F9, H:D7, L:CC)

avrdude done.  Thank you.

//Henrik, LIAB ApS

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Henrik,

Have you tried setting the -B# switch?
e.g. -B5 for 200kHz ISP frequency (1MHz RC AVR)
e.g. -B0.5 for 2MHz freq ( >= 8MHz AVR )

I will wait until there is a proven Windows EXE to download.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When using the -B switch the programmer won't talk to the device (3.84 MHz clock):

henrik@LIAB avrdude]$ ./avrdude -C avrdude.conf -c atmelice_isp -p m168 -B3 -U flash:w:"/home/henrik/liabgit/puck_driver/PUCK.hex":i
avrdude: jtag3_edbg_prepare(): failed to read from serial port (-1)
avrdude: failed to sync with the JTAGICE3 in ISP mode

avrdude done.  Thank you.

I've tried different settings with same result.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Also, sometimes I get the following following (the command executes as expected afterwards):

[henrik@LIAB avrdude]$ ./avrdude -C avrdude.conf -c atmelice_isp -p m168 -U flash:w:"/home/henrik/liabgit/puck_driver/PUCK.hex":i
avrdude: usbdev_open(): WARNING: failed to set configuration 1: Device or resource busy
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

HenrikJuul wrote:
I cannot replicate the segfault with my build on an up-to-date Archlinux:

[henrik@LIAB avrdude]$ ./avrdude -v

avrdude: Version 6.1, compiled on Mar 14 2014 at 12:17:55
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

There's a slight difference with my version tag:

avrdude: Version 6.1-20140313, compiled on Mar 13 2014 at 17:29:57

I did a svn update (without any -r flag), so I'm not sure why I got the -20140313 tag.

I have no special talents.  I am only passionately curious. - Albert Einstein

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Looking at the revision comments, I figured out there is a difference between the trunk and 6.1:

Bump everything for post-6.1-release.

Building 6.1 instead of the trunk works fine:

[root@centos64 avrdude-6.1]# ./avrdude -v

avrdude: Version 6.1, compiled on Mar 14 2014 at 09:49:13
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
avrdude: can't open config file "/usr/local/etc/avrdude.conf": No such file or directory
avrdude: error reading system wide configuration file "/usr/local/etc/avrdude.conf"
[root@centos64 avrdude-6.1]# ./avrdude -C avrdude.conf

avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

I have no special talents.  I am only passionately curious. - Albert Einstein

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I figured out the problem with trunk is a known issue:
http://svn.savannah.nongnu.org/v...

So if you're building avrdude from svn don't checkout trunk.
svn co svn://svn.sv.gnu.org/avrdude/tags/RELEASE_6_1

Reverting to the RELEASE_6_1 tag of pgm.c fixes the core dump under linux (and hang under windows).

[root@centos64 picoboot-avrdude]# ./avrdude -C ./avrdude.conf

avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

[root@centos64 picoboot-avrdude]#

I've posted Windows and Linux builds (sans libftdi, + picoboot support):
http://162.248.164.251/files/

I have no special talents.  I am only passionately curious. - Albert Einstein

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have successfully installed the new release on Mac OS 10.9 for using the new EDBG interface on my Xplained Pro board. However when I try to connect on in interactive mode AVRDUDE can't access to the device. This is what I get:

% avrdude -p m256rfr2 -c xplainedpro -v

avrdude: Version 6.1, compiled on Mar 14 2014 at 23:35:13
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/Users/Vincent/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : xplainedpro
avrdude: usbdev_open(): Found EDBG CMSIS-DAP, serno: ATML1784031800000760
avrdude: usbdev_open(): WARNING: failed to set configuration 1: Device not configured
avrdude: usbdev_open(): error claiming interface 0: Permission denied
avrdude: usbdev_open(): error claiming interface 1: Permission denied
avrdude: usbdev_open(): error claiming interface 2: Permission denied
avrdude: usbdev_open(): no usable interface found
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2111)
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2111

avrdude done.  Thank you.

Apparently the issue comes from the USB interface. I found on the web similar problems on Linux (change user permission in /dev/bus) but nothing on Mac.

Vincent

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do Mac's have the command "sudo" or equivalent?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes but this is not sufficient. After some search on the web, the problem would come from conflict of USB driver (http://alvarop.com/2014/01/using-busblaster-openocd-on-osx-mavericks/). I'm wondering if there is not a conflict between the UART/USB bridge of the EDBG and the JTAG interface. I mean that the driver for the serial communication block the access to the port for others applications.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Vince71 wrote:
I have successfully installed the new release on Mac OS 10.9 for using the new EDBG interface on my Xplained Pro board. However when I try to connect on in interactive mode AVRDUDE can't access to the device.

I have similar problem on Mac OS 10.9.2 with my JTAGICE3 debugger:

avrdude -p atxmega32d4 -P usb -c jtag3pdi -U flash:w:main.hex -v

avrdude: Version 6.1, compiled on Mar 23 2014 at 04:42:55
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/Cellar/avrdude/6.1/etc/avrdude.conf"
         User configuration file is "/Users/mareksuscak/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : jtag3pdi
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2110)
avrdude: usbdev_open(): Found JTAGICE3 CMSIS-DAP, serno: J30200004905
avrdude: usbdev_open(): error claiming interface 0: Permission denied
avrdude: usbdev_open(): no usable interface found
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2140)
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2110, 0x2140

avrdude done.  Thank you.

I've written an email to Joerg when he pushed the initial revision of avrdude 6.1 to the repository but he didn't know what could be the problem. When I execute system_profiler SPUSBDataType command in a terminal, there's a record:

JTAGICE3 CMSIS-DAP:

              Product ID: 0x2140
              Vendor ID: 0x03eb  (Atmel Corporation)
              Version:  1.01
              Serial Number: J30200004905
              Speed: Up to 480 Mb/sec
              Manufacturer: Atmel Corp.
              Location ID: 0xfa130000 / 6
              Current Available (mA): 500
              Current Required (mA): 100

When I execute ls /dev after connecting the debugger, there's no new device listed so the output is the same as if I execute it before connecting the debugger. Could this be an issue?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have also this problem with the JTAGICE3. After some searches, the issue may come from the USB CDC driver on Mac OS 10.9, which block the access to the device. A possible solution is to disable this driver using kextunload command but it does not resolve the problem in my case. Actually, I think the real issue is that the JTAGICE3 and the EDBG have a composite interface which merge the JTAG port and the UART gateway. It is not just a USB serial interface such as with the FTDI chips.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think your problem is some kind of generic HID driver that sits on top
of the device. The code tries to disconnect the driver first, but that's
probably where you get this "Permission denied" from. I have no idea what
else it requires on OSX to be allowed to disconnect another driver. (On
Linux, the respective API function works, and disconnects the HID driver.)

Maybe I invest some time into using the "hidapi" library in a future
version, which should allow a platform-abstracted access to various HID
devices:

http://www.signal11.us/oss/hidapi/

I stumbled across it since OpenOCD (which you would need to debug an ARM
on the Atmel-ICE) also uses it to access the CMSIS-DAP device.

The CDC driver is not supposed to get into your way, because we are not
going to touch the CDC interface (or the Atmel Data Gateway interface either),
only the HID interface.

> avrdude: usbdev_open(): WARNING: failed to set configuration 1: Device or resource busy

This warning is benign (it used to be treated as fatal error previously). It
is there since other drivers have already set the correct configuration, so
we cannot re-set it. However, there's no API function to find out wether a
particular USB device has already been configured by some driver, that's why
we always try to set the first configuration. I don't see a real solution
for this.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Having the same problem on my Mac. I finally figured out how to compile avrdude w/ libusb-0.1 support on the Mac, but then ran into this problem. Attached is the output of avrdude with USB_DEBUG=4 set. Hopefully this is helpful. Running with sudo I get:

avrdude: Version 6.1-20140313, compiled on Mar 25 2014 at 14:02:45
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/local/etc/avrdude.conf"
         User configuration file is "/Users/ericrudisill/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb:34094
         Using Programmer              : jtag3
avrdude: usbdev_open(): did not find any (matching) USB device "usb:34094" (0x03eb:0x2110)
avrdude: usbdev_open(): Found JTAGICE3 CMSIS-DAP, serno: J30200034094
avrdude: usbdev_open(): error claiming interface 0: usb_claim_interface: couldn't claim interface
avrdude: usbdev_open(): no usable interface found
avrdude: usbdev_open(): did not find any (matching) USB device "usb:34094" (0x03eb:0x2140)
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2110, 0x2140

avrdude done.  Thank you.

Additionally, the JTAGICE3 shows up in system_profile as well.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Having a userland program trying to unload a system driver appears to be
more of a problem on OSX than it is on Linux (and it's not even necessary
at all under *BSD). OpenOCD is faced with similar issues:

http://sourceforge.net/p/openocd...

So the longer-term solution is to switch all this to use the
hidapi library. But it will take me a couple of months (at least)
until that might have been implemented. Sorry to all OSX users.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jörg

I have just purchased an Atmel_ICE and updated my avrdude to 6.1 but when I try to download to my project I get this message :-

avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2141

Works fine under Atmel Studio.

Running under Win 7 64 bit Home Premium + service pack 1.

avrdude version 6.1-20140313

Any suggestions appreciated.

Paul Lowman

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Is libusb installed?

Libusb comes with a test application. You must be able to
see your ICE in that application, otherwise AVRDUDE stands no
chance to see it either.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jorg

I assume that library is necessary if I were compiling from source. I did, in fact, download avrdude-6.1-mingw32.zip from the download site which is a binary exe plus config file. Does this change your advice?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

> I assume that library is necessary if I were compiling from source.

No, you need the runtime of it on your system. This library cannot be statically
linked in anyway.

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have built 6.1-svn-1298 for Win32 with libftdi1 and libusb1 support.

http://helix.air.net.au/index.ph...

Configuration summary:
----------------------
DO HAVE libelf
DO HAVE libusb
DO HAVE libusb_1_0
DO HAVE libftdi1
DO HAVE libftdi (but prefer to use libftdi1)
DO HAVE libhid
DO HAVE pthread
DISABLED doc
ENABLED parport
DISABLED linuxgpio

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

http://www.atmel.com/tools/ATATM...

I just bought this can someone please help me getting it running in Atmel Studio 6.2 and linux?
i updated my avrdude on windows to 6.0.1 and 6.1 svn but don't see it in the list as mentioned above...

I was able to compile my code no problems but can someone please help me get this working thank you
I want to try to upload a Hex file to my Wiznet AVR

OS : Windows 8.1 should I use Windows 7 or something?
pls help me get this working on windows 8.1 and debian 8.0

w5100e01-avr

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

haroot wrote:

I just bought this can someone please help me getting it running in Atmel Studio 6.2 and linux?
i updated my avrdude on windows to 6.0.1 and 6.1 svn but don't see it in the list as mentioned above...

you can find the JTAG-ICE in AVRDUDE:
mode

$ avrdude -c list 2>&1 | grep -ie atmelice
  atmelice         = Atmel-ICE (ARM/AVR) in JTAG mode
  atmelice_dw      = Atmel-ICE (ARM/AVR) in debugWIRE 
  atmelice_isp     = Atmel-ICE (ARM/AVR) in ISP mode
  atmelice_pdi     = Atmel-ICE (ARM/AVR) in PDI
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Has anyone figured out how to program a device using the Atmel ICE with AVRDUDE 6.1 on OS X?

I am running OS X 10.10.

I have AVRDUDE 6.1 installed as well as the latest libusb. I can see that the Atmel ICE is in the device list for AVRDUDE.

This is what I get when I try to program my device.

sudo avrdude -c atmelice -p m1284p -U flash:w:HelloBlink.hex
Password:
avrdude: usbdev_open(): error claiming interface 0: Permission denied
avrdude: usbdev_open(): no usable interface found
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2141

I would appreciate any feedback.

 

Thank you!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Odd that you got a permission error with sudo. I wonder if it's really trying to say "device already open by something else"? Does that OS have the lsof command? grep it for the device you are trying to access - does another PID have it locked?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here's the log for avrdude opening the device. Before avrdude starts, open_clients count is 0. Looks like there needs to be a close handle between setting the system configuration and open again.

 

Dec 20 08:57:06.279  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::handleOpen - [0xffffff8036299600] is a IOUSBDeviceUserClientV2, exclusiveOpen = TRUE, so calling super::handleOpen()
Dec 20 08:57:06.279  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::handleClose - [0xffffff8036299600] is a IOUSBDeviceUserClientV2, exclusiveOpen = TRUE, so calling super::handleClose()
Dec 20 08:57:06.280  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::handleOpen - [0xffffff8036299600] is a IOUSBDeviceUserClientV2, exclusiveOpen = TRUE, so calling super::handleOpen()
Dec 20 08:57:06.281  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::TerminateInterfaces interfaceList 0xffffff803d5593c0 terminate: 1
Dec 20 08:57:06.281  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::TerminateInterfaces terminating interface =  0xffffff8035aea400
Dec 20 08:57:06.281  [5]    +Atmel-ICE Data Gateway[0xffffff8035aea400]::terminate
Dec 20 08:57:06.281  [5]    Atmel-ICE Data Gateway[0xffffff8035aea400]::terminate - closing _device
Dec 20 08:57:06.281  [5]    Atmel-ICE Data Gateway[0xffffff8035aea400]::terminate - _OPEN_CLIENTS has a count of 0
Dec 20 08:57:06.282  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::TerminateInterfaces terminating interface =  0xffffff8034e21200
Dec 20 08:57:06.282  [5]    +Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::terminate
Dec 20 08:57:06.282  [5]    Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::terminate - closing _device
Dec 20 08:57:06.282  [5]    Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::terminate - deferring close because someone still has us open
Dec 20 08:57:06.282  [5]    Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::terminate - _OPEN_CLIENTS has a count of 0
Dec 20 08:57:06.282  [5]    +Atmel-ICE Data Gateway[0xffffff8035aea400]::finalize (options = 0x5)
Dec 20 08:57:06.282  [5]    -Atmel-ICE Data Gateway[0xffffff8035aea400]::finalize (options = 0x5)
Dec 20 08:57:06.282  [5]    +Atmel-ICE Data Gateway[0xffffff8035aea400]::stop (provider = 0xffffff8036ef1600)
Dec 20 08:57:06.282  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::SetConfiguration to 1, _speed: 2, _busPowerAvailable = 250, startMatchingInterfaces = 1, issueRemoteWakeup = 0
Dec 20 08:57:06.285  [5]    -Atmel-ICE Data Gateway[0xffffff8035aea400]::stop (provider = 0xffffff8036ef1600)
Dec 20 08:57:06.285  [2]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::handleIsOpen - Atmel-ICE Data Gateway[0xffffff8035aea400] is not in _OPEN_CLIENTS
Dec 20 08:57:06.289  [5]    Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::handleClose - [0xffffff80356c4400] is a IOUSBHIDDriver, exclusiveOpen = FALSE
Dec 20 08:57:06.289  [5]    Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::handleClose - now closing our provider from deferred close
Dec 20 08:57:06.290  [5]    +Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::finalize (options = 0x5)
Dec 20 08:57:06.290  [5]    -Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::finalize (options = 0x5)
Dec 20 08:57:06.290  [5]    +Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::stop (provider = 0xffffff8036ef1600)
Dec 20 08:57:06.290  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::SetConfiguration  Found InterfaceDescription[0] = 0xffffff8038cb0b89, bAlternateSetting: 0
Dec 20 08:57:06.295  [5]    -Atmel-ICE CMSIS-DAP[0xffffff8034e21200]::stop (provider = 0xffffff8036ef1600)
Dec 20 08:57:06.295  [2]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::handleIsOpen - Atmel-ICE CMSIS-DAP[0xffffff8034e21200] is not in _OPEN_CLIENTS
Dec 20 08:57:06.295  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor address: 6 _speed: 2
Dec 20 08:57:06.295  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor Got string descriptor 4, length 40, got 40
Dec 20 08:57:06.296  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::SetConfiguration  Found InterfaceDescription[1] = 0xffffff8038cb0ba9, bAlternateSetting: 0
Dec 20 08:57:06.296  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor address: 6 _speed: 2
Dec 20 08:57:06.296  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor Got string descriptor 5, length 46, got 46
Dec 20 08:57:06.296  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::RegisterInterfaces interfaceArray 0xffffff80362a6280
Dec 20 08:57:06.296  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::RegisterInterfaces  matching to interface = 0xffffff8036299e00
Dec 20 08:57:06.364  [5]    Finding driver for interface #0 of Atmel-ICE CMSIS-DAP, matching personality using com.apple.iokit.IOUSBUserClient, score: 104999, wildCard = 5
Dec 20 08:57:06.376  [5]    Finding driver for interface #0 of Atmel-ICE CMSIS-DAP, matching personality using com.apple.iokit.IOUSBHIDDriver, score: 50000, wildCard = 0
Dec 20 08:57:06.378  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036299e00]::handleOpen - [0xffffff8035e7ce00] is a IOUSBHIDDriver, exclusiveOpen = FALSE
Dec 20 08:57:06.379  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor address: 6 _speed: 2
Dec 20 08:57:06.380  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor Got string descriptor 1, length 24, got 24
Dec 20 08:57:06.380  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor address: 6 _speed: 2
Dec 20 08:57:06.380  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor Got string descriptor 2, length 40, got 40
Dec 20 08:57:06.380  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor address: 6 _speed: 2
Dec 20 08:57:06.380  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::GetStringDescriptor Got string descriptor 3, length 26, got 26
Dec 20 08:57:06.394  [1]    [0xffffff8035e7ce00] USB HID Interface #0 of device Atmel-ICE CMSIS-DAP @ 6 (0xfa130000)
Dec 20 08:57:06.394  [5]    IOUSBHIDDriver(IOUSBHIDDriver)[0xffffff8035e7ce00]::setPowerState - powerStateOrdinal[4] whatDevice[0xffffff8035e7ce00] _device[0xffffff8036ef1600](Atmel-ICE CMSIS-DAP)
Dec 20 08:57:06.394  [5]    IOUSBHIDDriver(IOUSBHIDDriver)[0xffffff8035e7ce00]::powerStateDidChangeTo - _device (Atmel-ICE CMSIS-DAP) going into RUN mode - issuing read and starting timer
Dec 20 08:57:06.394  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::RegisterInterfaces  matching to interface = 0xffffff803bd10400
Dec 20 08:57:06.394  [5]    IOUSBHIDDriver[0xffffff8035e7ce00]::powerChangeDone from state (0) to state (4) _device name(Atmel-ICE CMSIS-DAP)
Dec 20 08:57:06.498  [5]    Finding driver for interface #1 of Atmel-ICE CMSIS-DAP, matching personality using com.apple.iokit.IOUSBUserClient, score: 104999, wildCard = 5
Dec 20 08:57:06.512  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::SetConfiguration  returning success
Dec 20 08:57:06.513  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036299e00]::handleOpen - [0xffffff80356c4200] is a IOUSBInterfaceUserClientV3, exclusiveOpen = TRUE
Dec 20 08:57:06.513  [2]    Atmel-ICE CMSIS-DAP[0xffffff8036299e00]::open super::open failed (0xe00002be)
Dec 20 08:57:06.513  [2]    Atmel-ICE CMSIS-DAP[0xffffff8036299e00]::open super::open failed (0x0)
Dec 20 08:57:06.514  [5]    Atmel-ICE Data Gateway[0xffffff803bd10400]::handleOpen - [0xffffff80356d3c00] is a IOUSBInterfaceUserClientV3, exclusiveOpen = TRUE
Dec 20 08:57:06.515  [5]    Atmel-ICE Data Gateway[0xffffff803bd10400]::handleClose - [0xffffff80356d3c00] is a IOUSBInterfaceUserClientV3, exclusiveOpen = TRUE
Dec 20 08:57:06.516  [5]    Atmel-ICE CMSIS-DAP[0xffffff8036ef1600]::handleClose - [0xffffff8036299600] is a IOUSBDeviceUserClientV2, exclusiveOpen = TRUE, so calling super::handleClose()

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Congratulations on the updated release! 

 

Question regarding a failure with yacc/lexer.c. When I build avrdude 6.1 the build fails when ./ylwrap attempts to build lexer.c. Even if bison is installed (Ubuntu 14.04) from packages on our test dev environment avrdude can't build lexer.c. What is the version of yacc/bison we should be using? Here is the output:

avrdev@avrdev:~/home/library/avrdude/avrdude-6.1$ make
/bin/bash ./ylwrap config_gram.y y.tab.c config_gram.c y.tab.h `echo config_gram.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/` y.output config_gram.output -- byacc -d 
updating config_gram.h
/bin/bash ./ylwrap lexer.l .c lexer.c -- :  
make  all-recursive
make[1]: Entering directory `/home/avrdev/home/library/avrdude/avrdude-6.1'
Making all in .
make[2]: Entering directory `/home/avrdev/home/library/avrdude/avrdude-6.1'
gcc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR=\"/usr/local/etc\"  -Wall -Wno-pointer-sign -g -O2 -MT libavrdude_a-config_gram.o -MD -MP -MF .deps/libavrdude_a-config_gram.Tpo -c -o libavrdude_a-config_gram.o `test -f 'config_gram.c' || echo './'`config_gram.c
mv -f .deps/libavrdude_a-config_gram.Tpo .deps/libavrdude_a-config_gram.Po
/bin/bash ./ylwrap lexer.l .c lexer.c -- :  
gcc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR=\"/usr/local/etc\"  -Wall -Wno-pointer-sign -g -O2 -MT libavrdude_a-lexer.o -MD -MP -MF .deps/libavrdude_a-lexer.Tpo -c -o libavrdude_a-lexer.o `test -f 'lexer.c' || echo './'`lexer.c
gcc: error: ./lexer.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
make[2]: *** [libavrdude_a-lexer.o] Error 4
make[2]: Leaving directory `/home/avrdev/home/library/avrdude/avrdude-6.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/avrdev/home/library/avrdude/avrdude-6.1'
make: *** [all] Error 2
avrdev@avrdev:~/home/library/avrdude/avrdude-6.1$ which yacc
/usr/bin/yacc

Truth takes time.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For those having trouble with this issue, the resolution is to install 'flex'. The configure script generates a broken Makefile in the event that yacc/byacc is present and flex is not, which causes generation of lexer.c to fail.  Install flex and re-run configure. 

 

Truth takes time.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been using 6.1 lately.  It works well (once you figure out the trickssmiley).

 

When using flip2 with the DFU bootloader that comes on the A3BU Xplained board, the bootloader doesn't give control to my application when done flashing.  Is that the way it is supposed to work?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When using 6.1 with my avr911 bootloader, the batch files I used with version 5.2 didn't work.  I got strange results.

 

Someone finally gave me the clue.  6.1 needs the -e (chip erase) option which wasn't required in the past.  Without the -e option, avrdude seems to run okay.  The initialization stuff works.  It reads the device signature etc.  But then avrdude entirely skips the write phase.  It goes immediately to the readback phase and of course finds a verify error.  It took awhile to figure this out. 

 

By the way, when using flip2, no -e option is required. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 2

I got it to work!

 

If you get the error:

 

avrdude: usbdev_open(): error claiming interface 0: Permission denied
avrdude: usbdev_open(): error claiming interface 1: Permission denied
avrdude: usbdev_open(): error claiming interface 2: Permission denied
avrdude: usbdev_open(): no usable interface found
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2111)
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2111

 

 

OSX is claiming the USB Device. The trick is to install a dummy kext to prevent that. The method is outlined here:http://www.proxmark.org/forum/vi...

 

you'll have to change the pid and vid to match that of Atmel ICE.

 

For your convenience, I've attached the kext (contains no code, only Info.plist)

 

extract the tar archive:

tar -xf AtmelICE.kext.tar.bz2

copy it to

/System/Library/Extensions (as root (sudo))

sudo cp AtmelICE.kext /System/Library/Extensions

 

change permissions and ownership:

chown -R root:wheel /System/Library/Extensions/AtmelICE.kext

chmod -R 755 /System/Library/Extensions/AtmelICE.kext

 

reload the kext cache:

kextcache -system-caches

 

(You might want to unplug and plug-in the device again).

 

Hope this helps

-- Benjamin

Attachment(s): 

Last Edited: Fri. Jan 9, 2015 - 02:10 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

beschulz,

Fantastic! That works! I have been going insane trying to get the Atmel-ICE to work and your solution did it. Thanks!

 

A couple of notes for anyone else trying this solution:

 

1. This command:

sudo cp AtmelICE.kext /System/Library/Extensions

 

needs an -R flag, because the system sees 'AtmelICE.kext' as a directory, like this:

sudo cp -R AtmelICE.kext /System/Library/Extensions

 

2. And, as they mention on the Proxmark page, restart was required.

 

~R

 

Last Edited: Wed. Jan 14, 2015 - 07:59 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For all those having problems with the Atmel-ICE or Atmel Dragon with avrdude 6.1 on Windows 7.

 

Ensure you have atmel's usb drivers version 6.2 or greater installed then try installing a winusb filter driver on the device.

You can get the winusb filter wizard as part of the libUsbK dev kit or libusb-win32 package

 

http://sourceforge.net/projects/libusbk/files/

http://sourceforge.net/p/libusb-win32/wiki/Home/

 

With that problem solved, I am having issues when running avrdude 6.1 with the Atmel-ICE. On first run, the atmega is programmed successfully. However when I re-run the programming procedure, avrdude reports that it failed to initialize the Atmel-ICE. Running program once more and everything works fine again. So every odd attempt works, every even attempt fails.

 

It seems as if the Atmel-ICE is stuck in some state after programming and requires a "reset" of sorts to get unstuck.

I am running a full flash, eeprom and fuse program.  

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm trying to build/install avrdude 6.1 from source. I'm on CentOS6.4 i686. I do have libusb-devel installed, but i'm getting build errors: 

 

gcc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR=\"/usr/local/etc\"  -Wall -Wno-pointer-sign -g -O2 -MT libavrdude_a-usbasp.o -MD -MP -MF .deps/libavrdude_a-usbasp.Tpo -c -o libavrdude_a-usbasp.o `test -f 'usbasp.c' || echo './'`usbasp.c
usbasp.c:53:22: error: libusb.h: No such file or directory
usbasp.c:67: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
usbasp.c: In function ‘libusb_to_errno’:
usbasp.c:72: error: ‘LIBUSB_SUCCESS’ undeclared (first use in this function)
usbasp.c:72: error: (Each undeclared identifier is reported only once
usbasp.c:72: error: for each function it appears in.)
usbasp.c:74: error: ‘LIBUSB_ERROR_IO’ undeclared (first use in this function)

 

When I ran ./configure (first), no errors were reported. 

 

Configuration summary:
----------------------
DO HAVE    libelf
DO HAVE    libusb
DO HAVE    libusb_1_0
DON'T HAVE libftdi1
DO HAVE    libftdi
DON'T HAVE libhid
DO HAVE    pthread
DISABLED   doc
ENABLED    parport
DISABLED   linuxgpio

 

 

Any ideas? 

 

 

Thanks!

 

 

[SOLVED!!]  -- nevermind. Turns out I needed libusb1-devel.  built/installed ok after that. 

 

 

 

Last Edited: Mon. Feb 16, 2015 - 04:32 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Turns out I needed libusb1-devel.

That's just a general thing in Linux building. If you want to use libXYZ it's always libXYZ-dev or libXYZ-devel you need. The plain libXYZ is just for users who want to actually run the programs that have been built against the -dev/-devl version of the library.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There seems to be a bug in avrdude when programming an EEPROM file with no data in it. The obvious solution is not to try that ;-), but I'm trying to use standard Makefiles and programming scripts, so it happens. I don't know when this bug was introduced, because I'm a first-time avrdude user. Excellent program, by the way!

 

This is the symptom:

avrdude: reading input file "avr/blink.eeprom"
avrdude: input file avr/blink.eeprom auto detected as Intel Hex
avrdude: writing eeprom (0 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 0 bytes of eeprom written
avrdude: verifying eeprom memory against avr/blink.eeprom:
avrdude: load data eeprom data from input file avr/blink.eeprom:
avrdude: input file avr/blink.eeprom auto detected as Intel Hex
avrdude: input file avr/blink.eeprom contains 0 bytes
avrdude: reading on-chip eeprom data:

Reading |                                                    | 0% 0.00s./prog: line 17: 18113 Floating point exception(core dumped) avrdude -c atmelice_isp -p atmega328p -U efuse:w:0xfd:m -U hfuse:w:0xd6:m -U lfuse:w:0xff:m -U eeprom:w:avr/blink.eeprom -U flash:w:avr/blink.hex

 

In gdb it looks like this:

avrdude: reading input file "avr/blink.eeprom"
avrdude: input file avr/blink.eeprom auto detected as Intel Hex
avrdude: writing eeprom (0 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 0 bytes of eeprom written
avrdude: verifying eeprom memory against avr/blink.eeprom:
avrdude: load data eeprom data from input file avr/blink.eeprom:
avrdude: input file avr/blink.eeprom auto detected as Intel Hex
avrdude: input file avr/blink.eeprom contains 0 bytes
avrdude: reading on-chip eeprom data:

Reading |                                                    | 0% 0.00s
Program received signal SIGFPE, Arithmetic exception.
0x0000000000407f70 in report_progress (completed=completed@entry=1, total=total@entry=0, hdr=0x0) at avr.c:1241
1241      int percent = (completed * 100) / total;

 

This is the cause:

avr.c:1241

int percent = (completed * 100) / total;

 

And this is the suggested solution:

avr.c:1241

int percent = total?(completed * 100) / total:100;

 

I'm a bit puzzled why this exception occurst only when reading 0 bytes from EEPROM and not when writing 0 bytes to EEPROM, but I didn't follow that trace.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Can't help thinking you are better off reporting something like this to either a Bugzilla or a mailing list specifically for avrdude.

 

EDIT: here in fact:

 

http://savannah.nongnu.org/bugs/...

 

In fact when I scan the titles there this looks awfully familiar...

 

http://savannah.nongnu.org/bugs/...

 

The status on that is "ready for test" so it looks like Joerg has a fix available.

Last Edited: Mon. Jun 1, 2015 - 01:46 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Can't help thinking you are better off reporting something like this to either a Bugzilla or a mailing list specifically for avrdude.

Yeah, you're right, but I didn't know about that site and when looking for a similar site, I was mostly directed back here, so I decided to do my duty and report it here.

 

clawson wrote:

EDIT: here in fact:

http://savannah.nongnu.org/bugs/?group=avrdude&func=browse&set=open

 

In fact when I scan the titles there this looks awfully familiar...

http://savannah.nongnu.org/bugs/?43078

Yes, it appears to be the same. It's solved in r1340 (in a remarkably similar way):

http://svn.savannah.nongnu.org/v...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I got the same problem "Did not find any device matching VID 0x03eb and PID list: 0x2141" and here is what I did for solving.

 

I have had avrdude ver 5 before. For update I copied two files (avrdude.exe, avrdude.conf) from avrdude-6.1-mingw32.zip which got from http://download.savannah.gnu.org... to C:\WinAVR-20100110\bin and made backup files before. Maybe this is a wrong way (a monkey style) to upgrade avrdude. I'm sorry, teach me please how easy and right it could be done.

 

In the command line Mr. Dude said that now he is 6.1, but still didn't working with atmel ice.

 

Some people indicated on Libusb, so I got and install from http://sourceforge.net/projects/...

 

After instalation I runned a launch icon to add usb drivers in the system (Atmel ICE was connected before.):

 

vid:0x03eb pid:2141 Atmel-ICE Data Gateaway
vid:0x03eb pid:2141 USB Input Device
vid:0x03eb pid:2141 USB Composite Device

 

If you will install full list of drivers which offers - AVRdude from command line will work, but ICE in the native Atmel Studio through "Device Programming" window - won't respond. What are hell is this? Just these three you need.

 

Done and working now with AVRdude shell and in the Atmel Studio 6.2 as usual.

 

Here is a test AVRdude command for tiny13:

avrdude -c atmelice_isp -p t13 -P usb -U flash:w:"D:\Projects\AVRdude\Blinking_LED.hex":i

 

Blinking!

 

-------------------------------------

 

P.S. I add two external tools into Atmel Studio for play with it.

 

for China USB ISP (USBasp)+AVRdude

Title: USBasp (USB ISP) ATtiny13
Command: avrdude.exe
Arguments: -c usbasp -p t13 -U flash:w:$(TargetDir)$(TargetName).hex:i

 

Working very well, uploading *.hex directly from Atmel Studio project location without any modification in the path and names.

 

and for Atmel ICE+AVRdude

 

But it doesn't work with Atmel ICE if I use the same approach:

 

-c atmelice_isp -p t13 -P usb -U flash:w:$(TargetDir)$(TargetName).hex:i

 

I got common errors:

 

avrdude.exe: reading input file ".hex"
avrdude.exe: can't open input file .hex: No such file or directory
avrdude.exe: read from file '.hex' failed

 

Changing to full path

 

-c atmelice_isp -p t13 -P usb -U flash:w:"D:\Projects\Atmel Studio\6.2\Blinking_LED\Blinking_LED\Debug":i

 

I got

 

avrdude.exe: reading input file "D:\Projects\Atmel Studio\6.2\Blinking_LED\Blinking_LED\Debug"
avrdude.exe: can't open input file D:\Projects\Atmel Studio\6.2\Blinking_LED\Blinking_LED\Debug: Permission denied
avrdude.exe: read from file 'D:\Projects\Atmel Studio\6.2\Blinking_LED\Blinking_LED\Debug' failed

 

Changing to another folder outside from Atmel Studio project (which is loaded and running).

 

-c atmelice_isp -p t13 -P usb -U flash:w:"D:\Projects\AVRdude\Blinking_LED.hex":i

 

Done, working and blinking.

 

So, Studio denied a permission for the folder, but why USBasp+avrdude is working without problems?

 

-----------------------------------------------------

 

Maybe someone could help to configure a right path for working into Atmel Studio (or indicate where is problem)?

 

Thanks.

 

 

 

 

 

Last Edited: Fri. Aug 14, 2015 - 12:43 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,

Avrdude + Atmel ICE + MacOS X was working great after applying the fix described by beschulz (comment #32 of this thread).

That is, until I updated to El Capitan! Now it is working very sporadically for no apparent reason. Sometimes works and sometimes fails.

When it fails, a command like: 

avrdude -p m644p -c atmelice_isp -P usb -B 5 -e -v -v 

Produces the following error:

avrdude: stk500v2_jtag3_open()
avrdude: usbdev_open(): Found Atmel-ICE CMSIS-DAP, serno: J41800020230
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
avrdude: usbdev_send(): wrote 0 out of 512 bytes, err = No error
avrdude: jtag3_edbg_prepare(): failed to send command to serial port
avrdude: failed to sync with the JTAGICE3 in ISP mode

I then UNPLUG and REPLUG the Atmel ICE and then immediately issue the SAME command. And sometimes it will work!

When successful the same snippet of the output looks like this:

avrdude: stk500v2_jtag3_open()
avrdude: usbdev_open(): Found Atmel-ICE CMSIS-DAP, serno: J41800020230
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
avrdude: jtag3_edbg_prepare(): connection status 0x01
avrdude: Sending sign-on command: 0x80 (509 bytes msg)

Its and Atmel Ice mystery, and makes it nearly impossible to get any parts programmed up.

Anyone else running into similar issues?

~R

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Note that if you are getting:

 

avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2110)
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2140)

 

without intervening claiming/permission messages, odds are that the -c option selecting the programmer is wrong.  I bought an Atmel-ICE programmer recently and in avrdude it should be "atmelice_isp" and not "jtag3isp".  You can look at the avrdude.conf file and in my case showed the newer programmer with its ID of 0x2141.  You can see your USB device's Product ID (and Vendor ID) in System Information on the Mac (or use "system_profiler SPUSBDataType" in Terminal).  Though the configuration file lists the atmelice, this is not listed (yet) in the online documentation.

 

I then got the claiming/permission messages and used the dummy kernel extension described in comment #32 to work around that.  I'm now getting the following message intermittently when using a different programmer, the avrispmkII -- sometimes it occurs and sometimes not and it's very slow at times.  This is with avrdude 6.1 (from homebrew avrdude) with verbosity (-vvvv)

 

avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200135963

avrdude: Sent: . [01] 

(long pause at this point)

avrdude: usbdev_recv_frame(): usb_bulk_read(): Operation timed out

avrdude: stk500v2_recv_mk2: error in USB receive

(the above repeats from the Sent byte for a second time)

 

I've found that I don't have this problem when running the 6.0.1 version of avrdude (from CrossPack-AVR-20131216) so that works for me when using the avrispmkII though obviously not for the Atmel ICE that isn't supported in the older avrdude version.  Interestingly, it can still be slow the first time I run using 6.0.1 after it being slow from 6.1, but thereafter it's fast so 6.0.1 appears to reset something that subsequently makes it OK again.  Likewise, the first time I run 6.1 it is fast if it was run after 6.0.1 so apparently something about how 6.1 is ending is breaking the subsequent invocation for either version (this might be related to what comment #27 was talking about).  I am running Yosemite (10.10) and not Mountain Lion (10.11).

Last Edited: Thu. Oct 15, 2015 - 07:54 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

 

I've been trying already for days to get my ATmel Ice to communicate with my target board, but the output I get is always the same if the target board is connected or not.

My colleague is able to perform the flash on the microcontroller using the same hardware/software, so I'm assuming this has to do with some configuration details.

 

Running: sudo avrdude -c atmelice_isp -p attiny88 -v -v -v -e -U flash:w:main.hex:i

 

I get

 

avrdude: Version 6.1, compiled on Nov  4 2015 at 16:31:09
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/ddiniz/local/etc/avrdude.conf"
         User configuration file is "/root/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping
         Using Port                    : usb
         Using Programmer              : atmelice_isp

avrdude: stk500v2_jtag3_open()
avrdude: usbdev_open(): Found Atmel-ICE CMSIS-DAP, serno: J41800027294
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
avrdude: usbdev_recv_frame(): usb_interrupt_read(): could not detach kernel driver from interface 0: No data available
avrdude: jtag3_edbg_prepare(): failed to read from serial port (-1)
avrdude: failed to sync with the JTAGICE3 in ISP mode

 

Does anyone has any idea?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sounds like another kernel driver has claimed the Atmel-ICE... As far as I can imagine it should be claimed by either libusb or hidraw (depending on which USB stack avrdude uses)...

:: Morten

 

(yes, I work for Atmel, yes, I do this in my spare time, now stop sending PMs)