Please keep blacklist and paranoid mode
since a while, ModemManager has a new "strict" filter policy. Rather than probing all serial ports that are not blacklisted (which causes problems with serial devices that do not like to be probed), it now uses more specific rules about what devices are likely to be modems and does not probe any others.
However, this strict policy does not use the blacklist (configured through udev rules), which I believe is problematic.
This problem particularly surfaces when using Arduino serial devices. These development boards enumerate as TTY ACM USB devices, which cause the kernel to automatically create serial ports for them. However, in their USB descriptors, these devices advertise support for AT commands (class=2/subclass=2/protocol=1), which triggers the MM FILTER_RULE_TTY_ACM_INTERFACE and makes it probe these devices.
Of course, the actual problem in this case is that these devices misadvertise themselves in their USB descriptor. I've raised this issue in the Arduino community [1] and hopefully this will be fixed in the future, but this will not help for existing devices (whose firmware is not automatically updated). This means that there are a lot of Arduino devices out there which are broken by the switch to strict.
This can be fixed by using the "paranoid" filter mode (which enables the blacklist and greylist on top of the existing strict mode checks), since these devices are typically already blacklisted (or if not, could be added to the blacklist). However, the documentation currently states:
It is not recommended to use this option in normal setups as the blacklists may be obsoleted in future ModemManager versions (in favor of using the Strict policy as default).
As shown above, I think there are situations where the strict policy is not sufficient and the blacklist is still needed. Hence my request: Please consider keeping the blacklist around to handle devices such as these.