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

Let’s try everything again.
- 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
- 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
- Again change the device premissions
sudo chmod a+rw /dev/ttyACM0
- 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?
-
$ is extra character. Proper cmds:
groups armant
sudo usermod -a -G dialout armant
-
/dev/ttyACM0 device does not exist if Arduino is not connected.
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.