Can't upload new patches

Hi there,

New to XOD and electronics, busy doing the tutorial in fact and enjoying it so far, followed instructions as per 101-upload lesson, updated “tools” on the first upload(using an older laptop with Linux Mint 19 Tara on it).

The blink patch seems to work on my Funduino Mega 2560 R3, but i can’t upload any new patches or continue with the following lessons because XOD can’t upload new patches.

I don’t know which serial port to use ether(nothing mentioned in the tutorial and it) I’m assuming it should be a USB but there isn’t a USB option (options available: /dev/ttyS0 ; /dev/ttyS2 ; /dev/ttyS3 ; /dev/ttyS4 all the way to /dev/ttyS30 and /dev/ttyACM0 (Ardriuno(www.ardriuno.cc))
I also can’t try and upload again it says,“another deployment job is in progress”, unless I restart XOD, but still get the same error message.

Did i miss something?
Thanks.

error message:

Uploading compiled code to the board...

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/armant/xod/__packages__/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"

         User configuration file is "/home/armant/.avrduderc"

         User configuration file does not exist or is not a regular file, skipping



         Using Port                    : /dev/ttyACM0

         Using Programmer              : wiring

         Overriding Baud Rate          : 115200

avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied

ioctl("TIOCMGET"): Inappropriate ioctl for device

ioctl("TIOCMGET"): Inappropriate ioctl for device

Hi!

It looks like a common issue of lack of rights when using serial ports on Linux systems.

The issue with the permissions for /dev/ttyACM0 can be permanantly solved by adding yourself to the dialout group. You will have to logout and then log back in before the group change is recognized.

You can do this through terminal with
sudo usermod -a -G dialout $USER

Try this.

SO?

  1. do code in terminal
  2. log out quickly
  3. log back in quickly

Yep) reload XOD and try to flash the board again

$USER in the terminal code, should i leave it as is or should i change that to my username on the system?

Yes, this is your Linux Mint username

Sorry still same error and no option for USB on serial port:

Uploading compiled code to the board...

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/armant/xod/__packages__/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"

         User configuration file is "/home/armant/.avrduderc"

         User configuration file does not exist or is not a regular file, skipping



         Using Port                    : /dev/ttyACM0
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200

avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied
ioctl("TIOCMGET"): Inappropriate ioctl for device

ioctl("TIOCMGET"): Inappropriate ioctl for device

Ok, conncect your Arduino to the USB port.
Ensure that the port exists enter the following from the root directory.

ls /dev/ttyACM0

Then, try to set read/write permissions, enter the following in a terminal window

sudo chmod a+rw /dev/ttyACM0

Normally logout and reload the computer and try to flash the board again. Also, In XOD do not forget to chose the proper board model from the list. Funduino Mega seems to be analog to Arduino/Genuino Mega or Mega 2560

I did select the Arduino/Genuino Mega or Mega 2560 and the 2560 processor.
Still no USB serial port so continued to use /dev/ttyACM0 (Ardriuno(www.ardriuno.cc))
But still get the same error:

Uploading compiled code to the board...

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch


         System wide configuration file is "/home/armant/xod/__packages__/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"

         User configuration file is "/home/armant/.avrduderc"

         User configuration file does not exist or is not a regular file, skipping



         Using Port                    : /dev/ttyACM0

         Using Programmer              : wiring

         Overriding Baud Rate          : 115200

avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied

ioctl("TIOCMGET"): Inappropriate ioctl for device

ioctl("TIOCMGET"): Inappropriate ioctl for device

Should i be using one of the other ports?

:thinking:
Let’s try everything again.

  1. Check what groups you are in:
groups $USER

The dialout group should be on a list. Smth like this:

$USER : $USER adm tty dialout cdrom sudo dip plugdev lpadmin sambashare
  1. Check the device /dev/ttyACM0 permissions:
ls /dev/ttyACM0 -l

The dialout group should be present.

crw-rw---- 1 root dialout 166, 0 Oct 25 11:58 /dev/ttyACM0
  1. Again change the device premissions
sudo chmod a+rw /dev/ttyACM0
  1. Restart XOD if it is opened but now Do NOT restart your computer and try to flash the patch.

Not sure I’m in the right group…
according to the terminal ttyACM0 doesn’t exist.
should i be using ttyACM0 or some USB port?

  1. $ is extra character. Proper cmds:
groups armant
sudo usermod -a -G dialout armant
  1. /dev/ttyACM0 device does not exist if Arduino is not connected.
1 Like

Thanks so much for your help, i can continue with the lessons now, awesome

Glad to help!
In turn, we will make an development issue so that next time new users do not have to do these operations manually.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.