I get a similar error all the time in the Arduino IDE, but it still works. I have never used a config file either. I suspect however, that my system (Linux Mint) does have a global config file for avrdude – how does it know which boards use which communications etc?
I’m confused though, you are using OpenSuse, but the error relates to Ubuntu 12.04. Interesting. A quick Google shows that Jenkins runs in a container, that’s probably where the Ubuntu comes in.
My theory is that the Jenkins environment probably needs the avrdude global config file installing. Apparently, the Arduino version of avrdude is built on a Jenkins server and that hard codes the global config file into the avrdude executable.
On your linux box, try this command:
locate avrdude.conf | grep -i avrdude.conf$
That will find your various avrdude.conf files. You probably have at least one, somewhere in /etc I would think.
Tha Arduino IDE always passes the global config file during an upload, you need to do likewise. The option is -C /path/to/avrdude.conf
with an upper case ‘C’. It seems that avrdude always needs a config file passing.
If you have the Arduino IDE, you will have a suitable one. Try an upload with the verbose option in settings enabled, then copy the filename and path for use in PlatformIO.
Alternatively, remove the upload_command
from platformio.ini
as the Arduino framework and toolchain used by PlatformIO, will know where to find its own config file.
Cheers,
Norm.