mmcli -w does not notice a modem falling off the bus
I was testing the event monitoring functionality of ModemManager, and came across the issue where it seems ModemManager does not generate an event when a modem disconnects from the bus.
In this particular case I was testing with a Sierra MC7430 connected via USB, using ModemManager 1.6.4-1 in Devuan.
In one terminal I was running ModemManager in the foreground:
...
ModemManager[39421]: <info> Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> connected)
ModemManager[39421]: <info> Simple connect state (8/8): All done
...and fired up the mmcli watcher in another:
sudo mmcli -m 0 -w
/org/freedesktop/ModemManager1/Modem/0: Initial state, 'connected'
At some point overnight the modem fell off the bus for some reason. ModemManager showed:
ModemManager[39421]: <info> (tty/ttyUSB2): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-9
ModemManager[39421]: <info> (tty/ttyUSB3): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-9
ModemManager[39421]: <info> (tty/ttyUSB5): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-9
ModemManager[39421]: <info> (net/wwp0s20u9i8): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-9
ModemManager[39421]: <info> (usbmisc/cdc-wdm4): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-9
ModemManager[39421]: <info> (net/wwp0s20u9i10): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-9
ModemManager[39421]: <info> (usbmisc/cdc-wdm5): released by modem /sys/devices/pci0000:00/0000:00:14.0/usb3/3-9
ModemManager[39421]: [/dev/cdc-wdm4] Releasing 'wds' client with flags 'release-cid'...
ModemManager[39421]: [/dev/cdc-wdm4] Unregistered 'wds' client with ID '35'
ModemManager[39421]: [/dev/cdc-wdm4] Releasing 'uim' client with flags 'release-cid'...
ModemManager[39421]: [/dev/cdc-wdm4] Unregistered 'uim' client with ID '2'
ModemManager[39421]: [/dev/cdc-wdm4] Releasing 'wms' client with flags 'release-cid'...
ModemManager[39421]: [/dev/cdc-wdm4] Unregistered 'wms' client with ID '2'
ModemManager[39421]: [/dev/cdc-wdm4] Releasing 'nas' client with flags 'release-cid'...
ModemManager[39421]: [/dev/cdc-wdm4] Unregistered 'nas' client with ID '3'
ModemManager[39421]: [/dev/cdc-wdm4] Releasing 'dms' client with flags 'release-cid'...
ModemManager[39421]: [/dev/cdc-wdm4] Unregistered 'dms' client with ID '2'
but there was no event caught by the mmcli -w
watcher.
I'd expected a "connected ---> unknown" type event, since clearly the modem is no longer connected. Or at the very least an error message + exit about the modem no longer being available.
(The modem did reappear on the bus, but of course came back as index 1, rather than 0)