Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am uploading a test sketch(Blink) to my new Zero(with Wifi101 shield) and when I press Upload in the IDE, the Console says the following:

Arduino: 1.6.10 (Linux), Board: "Arduino/Genuino Zero (Programming Port)"

Open On-Chip Debugger 0.9.0-gd4b7679 (2014-10-03-00:26)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
debug_level: 0
adapter speed: 500 kHz
adapter_nsrst_delay: 100
cortex_m reset_config sysresetreq
Error: unable to find CMSIS-DAP device
Error: No Valid JTAG Interface Configured.
Error: No Valid JTAG Interface Configured.

I am using the Zero programming port.

share|improve this question
    
Unless you mean that this works normally and only breaks when the shield is present, remove the shield for the moment and take it out of your title. Then edit the the output of lsusb into your question. Also look for messages in dmesg after re-plugging the board, and consider trying another cable. There could also be permission issues, but I'd expect a different error message then. – Chris Stratton Aug 21 '16 at 16:52
    
I just tried it without the wifi101 shield, and I got the same error. – Derek Weissinger Aug 21 '16 at 17:04
    
And lsusb shows what??? And dmesg ??? – Chris Stratton Aug 21 '16 at 17:18
    
Experiments with a different CMSIS-DAP show that this is probably a permission issue - openocd does not distinguish between the absence of a CMISIS-DAP programmer vs. lack of permission to access one which is present. The usual solution is to create or install an appropriate udev rule and then restart udev or the system and replug the device. This does not seem to be well documented, so one might say the board is not a well supported product at present. – Chris Stratton Aug 21 '16 at 17:38
up vote 1 down vote accepted

I had exactly the same error with the same board. Running the IDE as root solved the problem. So, Chris was right pointing out a permission issue.

I found more information here : http://bitofahack.com/post/1437909576

Then I added the file /etc/udev/rules.d/98-opencd.rules :

ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"                                                                                                                                                                                
LABEL="openocd_rules_end

I then ensured that I was member of group plugdev.

udev looks for changes in his rules directory so you don't have to restart it.

I plugged the board again and it worked.

Note that you can force udev to read the rule files again by entering :

sudo udevadm control --reload

I had to do this because I first made a mistake in the rule file.

Hope this helps.

share|improve this answer
    
Thank you so much, worked perf. for me! – Ashlyn Black Nov 24 '16 at 11:47

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.