: Failed to open /dev/ttyACM0 (port busy)
sudo apt-get purge modemmanager
It helps me for linux user and for many other peoples. 
Now I am playing with stm32f103 and opening port was painfull.
That  was problem only for stm32 chip. Arduino nano was working without problems.
Before I need reopened few times port to initiate communication. 
That was painfull. After finding that solution now Arduino ID is working without problems.
 I am not sure if deleting modemmanager will have impact for my system.