Hey, > > > I'm running into trouble with ModemManager, there seems to be no way to > disable probing for certain devices. > I have found countless threads discussing the lack of this feature, but none > of them refer to my specific troubles. >
We did have lots of problems in the past with blocklisting certain type of devices automatically, we were too optimistic trying to look for TTY modems. I guess that is what you are referring to, bu that has changed a lot in the past years. > > We have some CDC devices that implement ACM and ether. > We want to communicate on the ttyACM of these devices, but our data keeps > getting corrupted. Are those ttyACM ports AT ports, or some other protocol? ModemManager would only probe ttyACM ports that report themselves as using the AT protocol in the USB descriptors. > After many hours we finally found out ModemManager is probing the devices, so > we added the udev rules: > > /etc/udev/rules.d/78-custom-mm-blacklist-internal-modem.rules : > > ACTION!="add|change|move", GOTO="custom_mm_blacklist_internal_modem_end" > ATTRS{idVendor}=="[redacted1]" ATTRS{idProduct}=="[redacted2]", > ENV{ID_MM_DEVICE_IGNORE}="1" > ATTRS{idVendor}=="[redacted1]" ATTRS{idProduct}=="[redacted3]", > ENV{ID_MM_DEVICE_IGNORE}="1" > LABEL="custom_mm_blacklist_internal_modem_end" > > but looking at the logs I see: > > ModemManager[3751]: <debug> [filter] (tty/ttyACM0): port filtered: device is > blocklisted > ModemManager[3751]: <debug> [filter] (net/enxd[redacted4]) port allowed: net > device > ModemManager[3751]: <debug> [filter] (net/enxd[redacted4]) port allowed: net > device > ModemManager[3751]: <debug> [filter] (tty/ttyACM0): port allowed: device also > exports a net interface > > So if ModemManager successfully found the device is blocklisted, why does it > continue to probe the port? This is definitely a bug. I've opened https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/833 > What is the recommended mechanism to disable the probing of these devices? > > I would prefer to exclude these specific devices, and not have to resort to > heavy handed solutions that alter the global rules. > Your udev rules should have fully blocklisted the device, but they didn't, sorry for that :/ Let's get this fixed. -- Aleksander