Nm-applet doesn't display mobile broadband options anymore

I finally got mobile broadband working on my machine, but I no longer see the connection listed in the nm-applet’s list of connections. It used to display all my ethernet links, wifi networks, and then configured mobile connections. I could configure the WWAN connection in the network manager configuration GUI, see it listed in the applet, and attempt to connect from the applet, but after today I no longer see it. there used to be at least a menu entry before, even if it was greyed out, but now there’s no sign of the WWAN options at all.

The modem shows up in nmcli:

$ nmcli
wwan0mbim0: disconnected
        "wwan0mbim0"
        1 connection available
        gsm (mhi-pci-generic), hw

and I can enable the connection (notably without sudo):

$ nmcli device connect wwan0mbim0
Device 'wwan0mbim0' successfully activated with 'ce9cd145-3c2f-49bb-8437-e237fa3609e6'.

$ ip a

...

4: wwan0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1430 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/[519] 
    inet 10.80.198.10/30 brd 10.80.198.11 scope global noprefixroute wwan0
       valid_lft forever preferred_lft forever
    inet6 2600:380:6760:410a:200:ff:fe00:0/64 scope global dynamic mngtmpaddr 
       valid_lft forever preferred_lft forever
    inet6 2600:380:6760:410a:657f:e878:3025:7fdd/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever

So clearly NetworkManager and ModemManager are talking and getting along, but still nothing listed in the applet. If I run the applet manually to get log output I get dbus errors:

$ killall nm-applet
$ nm-applet --indicator

(nm-applet:5011): nm-applet-WARNING **: 15:42:34.976: Error connecting to D-Bus: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 5 matched rules; type="method_call", sender=":1.174" (uid=1000 pid=5011 comm="nm-applet --indicator ") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination=":1.150" (uid=0 pid=4059 comm="/usr/bin/ModemManager ")

(nm-applet:5011): nm-applet-WARNING **: 15:42:34.976: Cannot grab information for modem at /org/freedesktop/ModemManager1/Modem/0: No ModemManager support

(nm-applet:5011): nm-applet-WARNING **: 15:42:35.004: ModemManager is not available for modem at /org/freedesktop/ModemManager1/Modem/0

I’ve restarted NetworkManager and ModemManager, I’ve manually reset the modem via mmcli, I’ve restarted the machine, I’ve made sure the “Mobile Broadband” option is checked on the applet menu.

Ideas?

Running nm-applet as root solves the issue (no error messages in the log, and WWAN options appear in the GUI menu), but obviously that’s not a permanent solution. I’m guessing the ModemManager dbus connection is considered ‘protected’, since mmcli itself has to be run as root as well.

Gonna try digging into dbus configs to see if I can open that path up, but dbus is a total black box to me.

Frustratingly, everything I find is about bluetooth issues on the dbus, and adding the logged-in-user to the bluetooth group seems to fix everything. As far as I can tell, there’s no such group for the modem manager.

I’m in the network group, which is where I’d presume WWAN permissions would go, but things are still (clearly) broken.

I figured it out! The Lenovo FCC unlock snap I had came with some permissions that broke the dbus communication between NetworkManager and ModemManager. I removed the snap (which was unneeded anyway) and everything started working again.