Linux Format

Argh-duino

-

QHi Team LinuxForma­t, just hoping there are some Arduino users here. I’m running Mint 18.1 Cinnamon on an AMD FX-4100. I recently bought an Arduino Micro to use with a Pi-Zero. I initially did aptget install arduino but some of the files appeared to be corrupt. I’ve since downloaded them from the Arduino site twice and despite following its install and troublesho­oting advice I get the following error message when starting the basic blink sketch: avrdude: ser_open(): can’t open device “/dev/ ttyACM3”: Device or resource busy An error occurred while uploading the sketch

I’ve obtained the same result with a laptop using Mint and an old laptop running XP. Maplins accepted the Micro may be faulty and replaced it with another, which embarrassi­ngly

gives the same error. The native install doesn’t set permission­s to Execute, but changing that as Root makes no difference. I’ve added my user to the dialout group, which is what is shown by ls -l /dev/ ttyACM3 , so don’t think it’s a simple permission­s issue. I also have an Arduino Uno, which works perfectly. Would be grateful for any advice,

cbuffer, From the forums

AThere are a few references to this problem online (see http://starterkit.nettigo.eu/2015/serial-portbusy-for-avrdude-on-ubuntu-with-arduinoleo­nardo-eth, for example). Some people have reported success by repeatedly resetting the Arduino and reattempti­ng the upload, but this seems like an unsatisfac­tory solution. What’s transpirin­g is a conflict with the modem-manager package for managing mobile broadband (2G/3G/4G) devices. The modem-manager (hereafter mm) daemon claims the device nodes, because it assumes anything connected over a serial link (the /dev/tty* nodes) is a modem. This prevents the avrdude applicatio­n from connecting with them, causing the error you quote. The solution in the example mentions adding a udev rule which sets the ID_MM_ DEVICE_IGNORE variable to stop mm claiming these nodes. Oddly enough though, Ubuntu 16.04 and derivative­s (such as Mint 18.1) already include such a rule (in the file /lib/ udev/rules.d/77-mm-usb-device-blacklist. rules). It uses Arduino’s USB vendor id (2341) to identify the device and set the environmen­t variable if it’s detected, so in theory this problem shouldn’t exist anymore. And yet it persists, so there must be some bug or other process that’s letting mm dig its claws in (you can check mm is indeed the culpret by plugging in the Micro and running lsof /dev/ ttyACM* ). If you don’t use any mobile broadband devices, then the solution is simple: Just nix the obstrepero­us package with sudo apt remove modem-manager . You can always re-install it later if the need arises. If you do need mm though, then please let us and so many other perplexed Arduino users know if you find a less-brutal solution.

 ??  ?? Small but perfectly formed – the Micro is so good that even unrelated subsystems can’t keep their hands off it.
Small but perfectly formed – the Micro is so good that even unrelated subsystems can’t keep their hands off it.

Newspapers in English

Newspapers from Australia