Hey all, I've been testing with all my modems for the next 1.18 release, and for the QMI and MBIM ones I've done tests with and without multiplexing support (i.e. connecting normally as we did until now, and also connecting with multiplexing enabled).
All the QMI modems I have tested with have worked fine. If QMAP wasn't supported by the modem and we were requesting multiplexing, it would automatically just fallback to no multiplexing (802.3 or plain raw-ip), and that was it. Most of the MBIM modems I have tested with have worked fine as well, with the exception of the Netgear AC340U, which would reply with "InvalidParameters" if we were attempting to connect any session with id != 0. All the other modems have been able to correctly setup multiplexing when requested without issues. Even if the tests have been quite satisfactory overall (I've tested >60 different modems in the past month), I think that for 1.18 we should not enable multiplexing by default (except for IPA), and still leave it as a requirement from the user at connect time. So, if the user wants to setup a connection with multiplexing enabled, it should pass either "multiplex=requested" or "multiplex=required" in the connection settings explicitly I've also updated the daemon to have a "--test-multiplex-requested" option, so that if given, the default would be back to attempt to enable multiplexing whenever possible. The main reason for this decision is that the network interface that gets connected if multiplexing is enabled would change between 1.16 and 1.18, because with multiplexing we're connecting an ephemeral network link that we have created during runtime (e.g. for a QMI modem that had a connected net interface named wwan0 in 1.16, the connected net interface in 1.18 would be named qmapmux0.0 instead). This connected net interface name change wasn't an issue for NetworkManager or standard distributions, but it would have been a major change for every other custom system using ModemManager, if e.g. custom firewall or routing rules were configured based on the network interface name and such. I think we should provide more information about the feature to system integrators, and give some more time for the feature to be used and tested, before discussing again whether it should be the default or not in 1.20. The MR that includes the changes to update the multiplexing default is this one, including some other related fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/598 Comments welcome! -- Aleksander https://aleksander.es