I’m working with an embedded device which has an USB serial debug interface.
When I plug usb cable to my Debian box, device registered as /dev/ttyACM0 and ModemManager process, automatically opens the device and I couldn’t use it for a while.
Is it possible to disable ModemManager for this type of devices?
It is possible to disable ModemManager on specific device through udev. You need to write a new udev rule to skip some devices.
First of all, you have to get your usb vendor id and product id from the output of lsusb:
$ lsusb
Bus 001 Device 003: ID 05ac:8511 Apple, Inc.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 032: ID 0ca6:a050 Castles Technology Co., Ltd
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...
VendorID:ProductID combination comes in front of the human readable device name above.
If your VendorID is 0c06 and ProductId is a050, you can write following rules into a new udev rule file like /etc/udev/rules.d/99-ttyacms.rules: