A short follow-up to the Fibocom L850 story. The GNOME extension that adds a Mobile Data switch to Quick Settings is now published on extensions.gnome.org. You can install the GNOME part with one click:
https://extensions.gnome.org/extension/10251/fibocom-l850-lte-toggle/

Getting there took a detour. The first submission was rejected for two reasons. A GNOME extension must never call sudo or pkexec. Extension code runs inside the gnome-shell process. The reviewer also asked whether the code was AI-generated. GNOME does not accept that as-is.
Both points were fair. So I fixed them.
- No more privilege escalation from the extension. All privileged work now lives in a small system D-Bus service (
org.fibocom.l850). The extension is a pure client. It talks to the service overGio.DBus.system. There is noGio.Subprocess, nosudo, nopkexecanywhere. Changing the APN goes through a normal polkit password prompt. This is the architecture it should have had from the start. - On the AI question. Yes, I built this with AI assistance. But it is my own hardware. I use it every day. I tested every path on the real device. I found and fixed several real bugs along the way. The D-Bus rewrite was one of them. I understand the code and I maintain it.
The reworked Version 2 passed review today.
How to install it
The one-click button installs the desktop front-end only. The toggle needs two more things behind it. It needs the system D-Bus service. It needs the out-of-tree xmm7360-pci driver. Only the project repo sets those up. So install.sh from the repo is the real entry point. Run it first. Use the extensions.gnome.org button for the GNOME part after that, or let the installer handle the whole thing.
# Debian / Ubuntu
sudo apt install dkms build-essential "linux-headers-$(uname -r)"
sudo git clone https://github.com/xmm7360/xmm7360-pci /opt/xmm7360-pci
git clone https://github.com/michaelruck/fibocom-l850-gnome-lte
cd fibocom-l850-gnome-lte
sudo ./install.sh --xmm7360-dir /opt/xmm7360-pci --build
The --build flag compiles the kernel module and registers it with DKMS. It then rebuilds itself after every kernel update. Full instructions and options are in the repo:
https://github.com/michaelruck/fibocom-l850-gnome-lte
If you have one of these modems, you now get the GNOME part with a single click. The modem is a Fibocom L850-GL. It is really an Intel XMM7360. You find it in the Lenovo IdeaPad Duet 3 and many other LTE laptops.
