Seems like MM_FILTER_RULE_TTY_WITH_NET overrides ID_MM_DEVICE_IGNORE

Aleksander Morgado aleksandermj at chromium.org
Sun Mar 3 08:04:05 UTC 2024


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


More information about the ModemManager-devel mailing list