Embedded/Microcontroller bundle

I changed paths here. I still feel modem-manager should be broken out. In the meantime for anyone else dealing with this here is the clean way to fix the issue going forward:

Get the vendor and device id
$ lsusb
Bus 001 Device 006: ID 239a:8032

In this case it is 239a:8032

Create a udev blacklist file if one does not exist
sudo touch /etc/udev/rules.d/77-mm-usb-device-blacklist.rules

Add the following to the blacklist if it was a new file, if the file already exists then you can simply add the line specific to the devices you want to blacklist, in my case is was for a pyPortal and CircuitExpress. The key here is the make sure target the right subsystem, in this case “usb”. By default the circuitexpress didn’t have any issues but I am adding it here for the sake of completeness and future proofing.

ACTION!="add|change|move|bind", GOTO="mm_usb_device_blacklist_end"
SUBSYSTEM!="usb", GOTO"mm_usb_device_blacklist_end"

# Adafruit PyPortal
ATTRS{idVendor}=="239a", ATTRS{idProduct}=="8032", ENV{ID_MM_DEVICE_IGNORE}="1"

# Adafruit CircuitExpress
ATTRS{idVendor}=="239a", ATTRS{idProduct}=="8019", ENV{ID_MM_DEVICE_IGNORE}="1"


LABEL="mm_usb_device_blacklist_end"

You now need to either reboot or simply reload the rules. Simply restarting the service will not do the trick.

sudo udevadm control --reload-rules

verify the service is back up and running

sudo systemctl status ModemManager

Resource

Sample file
https://cgit.freedesktop.org/ModemManager/ModemManager/tree/src/77-mm-usb-device-blacklist.rules

Mailing list w/ details
https://mail.gnome.org/archives/networkmanager-list/2013-October/msg00038.html

I will write this up a little nicer once I get the whole env up and the other kinks worked out.