Problem uploading to Zumo under Linux - "can't open device"

Hi folks,

I am trying to get a sketch uploaded to my Zumo under Linux. Compiling is fine, but avrdude has trouble opening the serial port, it seems.

I have successfully programmed the Zumo under Windows, so I know the hardware works, but Linux is my preferred platform. Also, I can switch to an Arduino Due and compile/run a sketch on it, on same Linux system, so I know that something works under Linux.

I’ve selected the Pololu A-Star 32U4 board from the Tools->Board menu, and selected port “/dev/ttyACM0 (Pololu A-Star 32U4)” from Tools->Port. I’m trying out the LCDBasics example. Any ideas?

Thanks for the help. I’d be happy to supply any other information you might need.

Charles Wright

Here are the error messages:

Arduino: 1.6.5 (Linux), Board: "Pololu A-Star 32U4"

Sketch uses 9,430 bytes (32%) of program storage space. Maximum is 28,672 bytes.
Global variables use 457 bytes (17%) of dynamic memory, leaving 2,103 bytes for local variables. Maximum is 2,560 bytes.
Forcing reset using 1200bps open/close on port /dev/ttyACM0
PORTS {/dev/ttyACM0, /dev/ttyS0, } / {/dev/ttyS0, } => {}
PORTS {/dev/ttyS0, } / {/dev/ttyACM0, /dev/ttyS0, } => {/dev/ttyACM0, }
Found upload port: /dev/ttyACM0
/<deleted>/arduino-1.6.5/hardware/tools/avr/bin/avrdude -C/<deleted>/arduino-1.6.5/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/tmp/build1487551664089774386.tmp/LCDBasics.cpp.hex:i 

avrdude: Version 6.0.1, compiled on Apr 14 2015 at 19:04:16
         Copyright (c) 2000-2005 Brian Dean,
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/<deleted>/arduino-1.6.5/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/<deleted>/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy
avrdude: ser_send(): write error: Bad file descriptor
Problem uploading to board.  See for suggestions.

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

Hello, Charles.

I think your problem might be caused by ModemManager connecting to the virtual serial port of the bootloader. The README in the a-star repository says that you might need to copy a-star.rules to /etc/udev/rules.d/ to fix this. Does that fix your problem?

We have submitted a patch to the ModemManager patch so that this will not be a problem in later versions.


Wow, that took care it completely! i guess I should read the README files :smiley:

FYI, my system is Linux Mint 17.1