Feather 32U4 sous Linux : avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy

J'essaye de téléverser le programme de test "Blink" sur mon Feather 32U4 avec module radio RFM69 868Mhz.
Feather 32U4 avec module radio RFM69 868Mhz
Et voulant uploader / téléverser le code sur la carte depuis Linux Mint, celle-ci se met en mode bootloader (la LED Pulse pendant qu'il est activé) puis je reçois ce charmant message.

avrdude: ser_open(): can't open device "/dev/ttyACM0": Device or resource busy

Alors, comme mon utilisateur fait déjà partie du groupe dialout, le problème se trouve ailleurs.

$ sudo adduser  dialout

En cherchant un peu et en faisant un dmesg après avoir branché la carte en USB, je tombe sur les messages de debug suivant:

88.460152] usb 2-2: Product: Adafruit Feather
[318488.460153] usb 2-2: Manufacturer: Adafruit In
[318488.460287] usb 2-2: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
[318488.460736] cdc_acm 2-2:1.0: ttyACM0: USB ACM device
[318497.995520] usb 2-2: USB disconnect, device number 22
[318498.269243] usb 2-2: new full-speed USB device number 23 using xhci_hcd
[318498.290269] usb 2-2: New USB device found, idVendor=239a, idProduct=800c
[318498.290279] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[318498.290284] usb 2-2: Product: Feather 32u4
[318498.290289] usb 2-2: Manufacturer: Adafruit
[318498.291239] cdc_acm 2-2:1.0: This device cannot do calls on its own. It is not a modem.
[318498.291280] cdc_acm 2-2:1.0: ttyACM0: USB ACM device

Le matériel est bien détecté et associé au périphérique ttyACM0 (voir début du log).
Alors s'il n'y a rien qui vous interpelle, moi j'y vois deux choses nouvelles:
  • Le produit et le fabriquant sont identifiés (Feather 32u4 et Adafruit). Le signe que le matériel pourrait être matériel pris en charge par le noyaux.
  • Ensuite, il y a la mention de "cdc_acm 2-2:1.0: This device cannot do calls on its own. It is not a modem.". Le gestionnaire de modem à mis la main dessus puis à décidé qu'il n'en ferait rien.
Par contre, le fait que la carte soit occupée au démarrage du bootloader laisse à penser que la connexion USB à été interrompue, puis réétablie et que le gestionnaire de modem accapare la connexion.

Pour résoudre le problème: virer le gestionnaire de modem.

sudo apt-get purge modemmanager

Le mot de la fin
Haa... tout ces logiciels qui deviennent décidément trop intelligents!
Ils finissent pas créer plus de problèmes qu'il n'en résolve.