modemmanager: suppress hotplug noise without breaking QMAP/QMI/MBIM mux - #30571
Merged
Merged
Conversation
micpf
referenced
this pull request
Sep 21, 2026
Every net uevent - eth ports, USB hubs, bridges, taps, SQM IFB,
GRE tunnels, veth, tun/tap - is handed to mmcli via
25-modemmanager-net's mm_report_event call, so ModemManager logs a
'not supported by any plugin' notice per device on every boot and
hotplug replay:
ModemManager[15132]: <msg> [base-manager] couldn't check support
for device '.../fsl-ehci.0/usb1/1-1/1-1.1':
not supported by any plugin
mm_report_event() already discards virtual devices internally, but
only after mm_log "info" has written a "hotplug: add network
interface XXX: event processed" line to daemon.info for every one
of them.
Mirror the same guard in the hotplug script by exiting early when
DEVPATH points under /devices/virtual/*, which covers SQM IFB, GRE,
bridges, veth, tun/tap. This never rejects a physical modem port
(kernel wwan, MHI, USB CDC/RNDIS/QMI/MBIM are all under real bus
subtrees).
Signed-off-by: Michael Pfeifroth <micpf@westermo.com>
Commit 7885dff ("modemmanager: skip virtual net devices in hotplug script") exited 25-modemmanager-net for every device under /devices/virtual/* to stop the per-device "event processed" line from spamming daemon.info on every boot and hotplug replay. That blanket exit also dropped the QMAP/QMI/MBIM multiplexing netdevices (qmapmux*, qmimux*, mbimmux*). Those live under /devices/virtual too, but they are real modem data ports and mm_report_event() deliberately keeps them (ModemManager then resolves their lower_* link back to the physical modem). Skipping them in the hotplug script broke multiplexed data connections. Rather than duplicating that qmapmux/qmimux/mbimmux allow-list in the hotplug script -- where it would drift out of sync with the copy in mm_report_event() -- keep the filter in one place. mm_report_event() now returns non-zero when it drops a virtual device, and the hotplug scripts only emit their "event processed" info log when the event was actually reported. The noisy log lines are gone for the dropped devices, and the mux ports still reach ModemManager. Fixes: 7885dff ("modemmanager: skip virtual net devices in hotplug script") Signed-off-by: Michael Pfeifroth <micpf@westermo.com>
micpf
force-pushed
the
modemmanager-mux-hotplug
branch
from
September 21, 2026 10:31
e012fd4 to
0e1dc26
Compare
Member
|
@micpf LGTM |
3 tasks
Contributor
Author
|
Thanks @feckert! Backport opened as #30578 against One note: the QMAP/QMI/MBIM regression this PR fixes never existed on 25.12, because the commit that introduced it (7885dff, the blanket |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to 7885dff ("modemmanager: skip virtual net devices in hotplug script"), addressing the regression reported in the post-merge review comment.
The regression
That commit exited
25-modemmanager-netfor every device under/devices/virtual/*to stop the per-device"event processed"line from spammingdaemon.infoon every boot and hotplug replay. But the blanket exit also dropped the QMAP/QMI/MBIM multiplexing netdevices (qmapmux*,qmimux*,mbimmux*). Those live under/devices/virtualtoo, but they are real modem data ports thatmm_report_event()deliberately keeps (ModemManager then resolves theirlower_*link back to the physical modem). Skipping them broke multiplexed data connections.The fix
Rather than duplicating the
qmapmux/qmimux/mbimmuxallow-list in the hotplug script — where it would drift out of sync with the copy inmm_report_event()— keep the filter in one place:mm_report_event()now returns non-zero only when it drops a virtual device.net,tty,wwan) emit their"event processed"info log only when the event was actually reported (mm_report_event ... || exit).Result: the noisy
daemon.infolines are gone for dropped devices (they log only atdebug, silent on a normal boot), the allow-list lives in exactly one place, and the mux data ports still reach ModemManager. The "MM not up, cached" path keeps returning success so cached events are still logged/tracked and replayed by the wrapper.Maintainer checklist
modemmanager:PKG_RELEASEbumpedFixes: 7885dff ("modemmanager: skip virtual net devices in hotplug script")