On Mon, 2025-05-19 at 15:43 +0200, johanngerbh...@tutamail.com wrote: > > Hi everyone, > > managed to get the DW5825e working with SELinux on Tumbleweed via the > following steps: > > ### SELinux Setup ### > > --> install necessary tools if they aren't yet installed > sudo zypper in restorecond policycoreutils policycoreutils-devel > selinux-policy-devel setools-console > > --> set SELinux policy to permissive in /etc/selinux/config > > --> reboot, create APN settings in NetworkManager and connect once to > your mobile network > > --> analyze the audit log to see the behaviour SELinux wants to > block. > > sudo audit2allow -w -a > > --> if the only denied entries are related to ModemManager, > fibo_config, fibo_flash, fibo_helperd and dmidecode, you can > automatically generate a SELinux module to allow the execution of > these tools via audit2allow. > > sudo audit2allow -a -R -M fibocomservices > > !! This command might fail with "could not open interface info > [/var/lib/sepolgen/interface_info]" !! > !! This can be fixed by running sudo sepolgen-ifgen and then running > the audit2allow command again !! > > --> install the generated module: > > sudo semodule -i fibocomservices.pp > > --> SELinux should now play nice with the Fibocom services. > --> set SELinux policy to enforcing in /etc/selinux/config > --> reboot and the connection should succeed now with SELinux > enabled.
It might be worth submitting the policy to Fibocomm's github repo as a PR too. I think that would be "audit2allow -a -R -m fibocomservices" and then you'll end up with a ".te" (type enforcement) file that you can put in the PR. It should look something like https://github.com/stefanberger/swtpm/blob/master/src/selinux/swtpm.te I'm a bit hazy on process of getting the .te file into something that can get shipped with a package; looking at some Fedora packages that ship SELinux policy looks more complicated than I recall. But the ".te" file is the start; would you be able to post that output here? > > > I've also posted the working build instructions to the OpenSuse > forums in the hope that someone might create and maintain an easily > installable package (unfortunately I myself lack the knowledge and > resources to do > so): https://forums.opensuse.org/t/got-the-dell-dw5825e-fibocom-fm101 > -lte-modem-working-on-tumbleweed-would-anyone-be-up-for-packaging- > and-maintaining-the-necessary-fibocom-software/185130 Good work; thanks for sticking with it! Dan > > Best, > Jo > > 15. Mai 2025, 17:17 von : > > Hi everyone. > > > > I found the culprit responsible for the wonky behaviour of > > ModemManager not connecting when auto-launched but working okay > > when launched manually. It's SELinux, which is per default set to > > enforcing on OpenSuse. When set to permissive, the modem now works > > flawlessly with the build. > > > > Obviously disarming SELinux is not ideal so I'll have to learn to > > write a custom SELinux policy to enable the DW5825e with the > > enforcing mode. I can't promise any immediate results in this > > regard as this is something completely new to me - but I'm on it. > > > > Here are the working building instructions for enabling the DW5825e > > on OpenSuse Tumbleweed (tested with snapshots 20250513 and > > 20250501): > > > > --- > > > > Fibocom FM101 / Dell DW5825e OpenSUSE Build: > > > > ### Source: ### > > https://github.com/fibocom-pc/linux_apps_opensource > > > > ### How it works ### > > ModemManager calls fibo_ma (via the fcc unlock script corresponding > > to the modem's hardware id) which performs the necessary magic for > > a FCC unlock. > > The closed-source fibo_ma calls fibo_helper_service which provides > > a dbus interface for comms with the modem. > > > > ### SELinux not working ### > > The modem fails to connect if SELinux is set to enforcing in > > /etc/selinux/config. > > For now, set it to permissive. > > !!! This is dangerous and ugly !!! > > > > > > fibo_flash.service is used to flash the firmware to the modem -> > > needs the OEM FwFlashSrv firmware file from Dell. The firmware > > flashed is persistent though, so I think a once successfully > > flashed modem should continue working successfully. > > fibo_config.service applies config settings from a provided > > fbwwanConfig.ini to the modem. The file provided by Dell is the > > same one as the one in the Fibocom Github repo. > > > > fibo_ma seems to check via dmidecode whether the modem and chassis > > are Dell devices and refuses to fcc unlock the modem if this check > > fails. > > > > ### Files needed from Dell Ubuntu 22.04 OEM Install ### > > /opt/fibocom/fibo_flash_service/FwFlashSrv (Firmware) > > /opt/fibocom/fibo_ma_service/fcc-unlock.d (ModemManager FCCUnlock > > files) > > --> only 413c:8213 is needed but copy the other hw ids for future > > use as well > > --> needs to be made available to ModemManager in OpenSuse: Should > > be linked to /usr/lib64/ModemManager/fcc-unlock.d > > > > ### Libraries & Tools: ### > > cmake > > dmidecode > > gcc > > gcc-c++ > > pkgconf-pkg-config > > glib2 > > glib2-devel > > libxml2 > > libxml2-devel > > libmbim > > libmbim-devel > > libqmi-glib5 > > libqmi-tools > > libdbus-glib-1-2 > > ModemManager > > ModemManager-devel > > systemd-devel > > > > > > libdbus-glib-1-2 > > --> create symlink from libdbus-1.so.3 to /usr/lib64/libdbus-1.so > > !!!messy!!! > > ---> sudo ln -s /usr/lib64/libdbus-1.so.3 /usr/lib64/libdbus-1.so > > > > ### Build ### > > cd to linux_apps_opensource directory > > cmake -S . -B build > > cmake --build build > > > > --> Create dbus config for fibocom helper: /usr/share/dbus- > > 1/system.d/com.fibocom.helper.conf > > <!DOCTYPE busconfig PUBLIC > > "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" > > "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> > > <busconfig> > > <!-- This config allows anyone to control mcdm --> > > > > <policy context="default"> > > <allow send_destination="com.fibocom.helper"/> > > </policy> > > > > <policy user="root"> > > <allow own="com.fibocom.helper"/> > > </policy> > > </busconfig> > > > > --> Create dbus service file: /usr/share/dbus-1/system- > > services/com.fibocom.helper.service > > [D-BUS Service] > > Name=com.fibocom.helper > > Exec=/bin/false > > User=root > > SystemdService=fibo_helper.service > > > > > > > > --> Create fibo_config service > > /etc/systemd/system/fibo_config.service > > [Unit] > > Description=Firmware Config Service > > After=ModemManager.service fibo_helper.service > > > > [Service] > > EnvironmentFile=/lib/systemd/system/fibo_config.d/env.conf > > ExecStart=/opt/fibocom/fibo_config_service/fibo_config > > ExecReload=/bin/kill -HUP $MAINPID > > Restart=on-abort > > Type=simple > > Restart=on-abort > > User=root > > > > [Install] > > WantedBy=multi-user.target > > > > --> Create fibo_flash service > > /etc/systemd/system/fibo_flash.service > > [Unit] > > Description=Firmware Flash Service > > After=ModemManager.service fibo_helper.service > > > > [Service] > > EnvironmentFile=/lib/systemd/system/fibo_flash.d/env.conf > > ExecStart=/opt/fibocom/fibo_flash_service/fibo_flash > > ExecReload=/bin/kill -HUP $MAINPID > > Restart=on-abort > > Type=simple > > Restart=on-abort > > User=root > > > > [Install] > > WantedBy=multi-user.target > > > > --> Create fibo_helper service > > /etc/systemd/system/fibo_helper.service > > [Unit] > > Description=Firmware Helper Service > > After=ModemManager.service > > > > [Service] > > EnvironmentFile=/lib/systemd/system/fibo_helper.d/env.conf > > ExecStart=/opt/fibocom/fibo_helper_service/fibo_helperd > > ExecReload=/bin/kill -HUP $MAINPID > > Restart=on-abort > > Type=simple > > Restart=on-abort > > User=root > > > > [Install] > > WantedBy=multi-user.target > > > > --> Create fibo_helper_mbim service > > /etc/systemd/system/fibo_helper_mbim.service > > [Unit] > > Description=Firmware Helper Service > > After=ModemManager.service fibo_helper.service > > > > [Service] > > EnvironmentFile=/lib/systemd/system/fibo_helper.d/env.conf > > ExecStart=/opt/fibocom/fibo_helper_service/fibo_helperm > > ExecReload=/bin/kill -HUP $MAINPID > > Restart=on-abort > > Type=simple > > Restart=on-abort > > User=root > > > > [Install] > > WantedBy=multi-user.target > > > > --> Create systemd directories for environment files > > sudo mkdir /lib/systemd/system/fibo_config.d/ > > sudo mkdir /lib/systemd/system/fibo_flash.d/ > > sudo mkdir /lib/systemd/system/fibo_helper.d/ > > > > --> Create environment files (as root) > > echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib64" > > > /lib/systemd/system/fibo_config.d/env.conf > > echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib64" > > > /lib/systemd/system/fibo_flash.d/env.conf > > echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib64" > > > /lib/systemd/system/fibo_helper.d/env.conf > > > > --> Create the following udev rule: /usr/lib/udev/rules.d/76-mm- > > fibocom-linux-apps-port-types.rules > > # do not edit this file, it will be overwritten on update > > ACTION!="add|change|move|bind", > > GOTO="mm_fibocom_linux_apps_port_types_end" > > SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", > > ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}" > > > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", > > ENV{ID_MM_PORT_IGNORE}="1" > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > ENV{.MM_USBIFNUM}=="03", SUBSYSTEM=="tty", > > ENV{ID_MM_PORT_IGNORE}="1" > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_IGNORE}="1" > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_PORT_IGNORE}="1" > > > > ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8213", > > ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", > > ENV{ID_MM_PORT_IGNORE}="1" > > ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8215", > > ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", > > ENV{ID_MM_PORT_IGNORE}="1" > > > > LABEL="mm_fibocom_linux_apps_port_types_end" > > > > --> Create the following udev rule: /usr/lib/udev/rules.d/77-mm- > > fibocom.rules > > ACTION!="add|change|move|bind", GOTO="mm_fibocom_end" > > ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="14C3:4D75", > > ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end" > > ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="8086:7560", > > ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end" > > > > LABEL="mm_fibocom_end" > > > > --> Edit the ExecStart line in > > /usr/lib/systemd/system/ModemManager.service: > > ExecStart=/usr/sbin/ModemManager --test-quick-suspend-resume > > > > --> Create fcc unlock script for the DW5825e (413c:8213) as > > /usr/share/ModemManager/fcc-unlock.available.d/413c:8213 > > #!/bin/sh > > > > # SPDX-License-Identifier: CC0-1.0 > > # 2023 Nero zhang <sin...@sinaro.es> > > # > > # Fibocom FM101 FCC unlock mechanism > > # > > > > # run fcc-unlock binary > > /opt/fibocom/fibo_ma_service/fibo_ma > > exit $? > > > > --> Tell ModemManager to automatically activate available fcc > > unlocks > > ln -sft /usr/lib64/ModemManager/fcc-unlock.d > > /usr/share/ModemManager/fcc-unlock.available.d/* > > > > --> reload systemd to make fibocom services available > > systemctl daemon-reload > > > > --> activate fibocom services > > sudo systemctl enable fibo_helper.service > > sudo systemctl enable fibo_helper_mbim.service > > sudo systemctl enable fibo_flash.service > > sudo systemctl enable fibo_config.service > > > > --> reboot > > > > --> add connection profile / APN via NetworkManager. > > > > --> Success! > > > > > > Best, > > Jo. > > > > 9. Mai 2025, 15:35 von johanngerbh...@tutamail.com: > > > Hi Dan, thank you for taking the time to respond! > > > > Does the modem actually get registered with the network, or > > > > does it > > > > completely fail to communicate with it? By "connecting" I'm not > > > > sure if > > > > you mean a data connection or just registering. > > > It didn't get registered at all with the initial setup > > > instructions I posted as I missed a few crucial steps. I actually > > > got the modem to connect now via doing the following: > > > > > > --> libudev0-shim is NOT needed: Analyzing the package for > > > ubuntu, I found out that Fibocom's tools are actually built > > > against libudev1 but they expect it to be called libudev - so I > > > now linked libudev.so.1.7.10 to libudev.so > > > > > > --> The path for 76-mm-fibocom-linux-apps-port-types.rules should > > > be /usr/lib/udev/rules.d. The content is as follows: > > > # do not edit this file, it will be overwritten on update > > > ACTION!="add|change|move|bind", > > > GOTO="mm_fibocom_linux_apps_port_types_end" > > > SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", > > > ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}" > > > > > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > > ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", > > > ENV{ID_MM_PORT_IGNORE}="1" > > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > > ENV{.MM_USBIFNUM}=="03", SUBSYSTEM=="tty", > > > ENV{ID_MM_PORT_IGNORE}="1" > > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > > ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_IGNORE}="1" > > > ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", > > > ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_PORT_IGNORE}="1" > > > > > > ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8213", > > > ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", > > > ENV{ID_MM_PORT_IGNORE}="1" > > > ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8215", > > > ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", > > > ENV{ID_MM_PORT_IGNORE}="1" > > > > > > LABEL="mm_fibocom_linux_apps_port_types_end" > > > > > > --> There is an additional udev rule that I missed to copy: > > > /usr/lib/udev/rules.d/77-mm-fibocom.rules. Content as follows: > > > ACTION!="add|change|move|bind", GOTO="mm_fibocom_end" > > > ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="14C3:4D75", > > > ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end" > > > ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="8086:7560", > > > ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end" > > > > > > LABEL="mm_fibocom_end" > > > > > > --> ModemManager's ExecStart line in > > > /usr/lib/systemd/system/ModemManager.service is modified with a > > > switch: > > > ExecStart=/usr/sbin/ModemManager --test-quick-suspend-resume > > > > > > --> a dbus service file needs to be created as /usr/share/dbus- > > > 1/system-services/com.fibocom.helper.service. > > > Contents: > > > [D-BUS Service] > > > Name=com.fibocom.helper > > > Exec=/bin/false > > > User=root > > > SystemdService=fibo_helper.service > > > > > > > > > And here's where it gets interesting: I am now able to > > > successfully connect to the LTE network and surf the internet > > > when manually running ModemManager. When trying to launch > > > ModemManager automatically on startup though, ModemManager seems > > > to fail creating a process group and can't access the cdc_mbim > > > port for some reason. Both logs attached as follows: > > > > > > --> Successful connection via manual ModemManager launch as root. > > > After about 10 minutes the modem resets but reconnects > > > immediately (visible at the end of the log). > > > localhost:~ # /usr/sbin/ModemManager --test-quick-suspend-resume > > > ModemManager[4324]: <msg> ModemManager (version 1.22.0) starting > > > in system bus... > > > ModemManager[4324]: <msg> [cdc-wdm0/mbim] MBIM device is not QMI > > > capable > > > ModemManager[4324]: <msg> [device > > > /sys/devices/pci0000:00/0000:00:14.0/usb4/4-1] creating modem > > > with plugin 'dell' and '3' ports > > > ModemManager[4324]: <msg> [base-manager] modem for device > > > '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' successfully > > > created > > > ModemManager[4324]: <msg> [base-manager] couldn't check support > > > for device '/sys/devices/pci0000:00/0000:00:14.3': not supported > > > by any plugin > > > ModemManager[4324]: <msg> [base-manager] couldn't check support > > > for device '/sys/devices/pci0000:00/0000:00:1f.6': not supported > > > by any plugin > > > ModemManager[4324]: <msg> [modem0/cdc-wdm0/mbim] MBIM device is > > > QMI capable > > > ModemManager[4324]: <msg> [modem0] state changed (unknown -> > > > disabled) > > > ModemManager[4324]: <msg> [modem0] state changed (disabled -> > > > enabling) > > > ModemManager[4324]: <msg> [modem0] simple connect started... > > > ModemManager[4324]: <msg> [modem0] simple connect state (4/10): > > > wait to get fully enabled > > > ModemManager[4324]: <wrn> [modem0] Cannot power-up: hardware > > > radio switch is OFF > > > ModemManager[4324]: <wrn> [modem0] Cannot power-up: hardware > > > radio switch is OFF > > > ModemManager[4324]: <wrn> [modem0] couldn't enable interface: > > > 'Invalid transition' > > > ModemManager[4324]: <wrn> [modem0] failed enabling modem: Invalid > > > transition > > > ModemManager[4324]: <msg> [modem0] state changed (enabling -> > > > disabled) > > > ModemManager[4324]: <wrn> [modem0] failed waiting for enabled > > > state: disabled > > > ModemManager[4324]: <msg> [modem0] simple connect started... > > > ModemManager[4324]: <msg> [modem0] simple connect state (3/10): > > > enable > > > ModemManager[4324]: <msg> [modem0] state changed (disabled -> > > > enabling) > > > ModemManager[4324]: <msg> [modem0] simple connect started... > > > ModemManager[4324]: <msg> [modem0] simple connect state (4/10): > > > wait to get fully enabled > > > ModemManager[4324]: <wrn> [modem0] couldn't reload extended > > > signal information: No signal details given > > > ModemManager[4324]: <msg> [modem0] power state updated: on > > > ModemManager[4324]: <msg> [modem0] 3GPP packet service state > > > changed (unknown -> attached) > > > ModemManager[4324]: <wrn> [modem0] connection attempt cancelled > > > ModemManager[4324]: <msg> [modem0] state changed (enabling -> > > > enabled) > > > ModemManager[4324]: <msg> [modem0] simple connect state (5/10): > > > wait after enabled > > > ModemManager[4324]: <msg> [modem0] 3GPP registration state > > > changed (unknown -> registering) > > > ModemManager[4324]: <msg> [modem0] 3GPP registration state > > > changed (registering -> home) > > > ModemManager[4324]: <msg> [modem0] state changed (enabled -> > > > registered) > > > ModemManager[4324]: <msg> [modem0] simple connect state (6/10): > > > register > > > ModemManager[4324]: <msg> [modem0] simple connect state (7/10): > > > wait to get packet service state attached > > > ModemManager[4324]: <msg> [modem0] simple connect state (8/10): > > > bearer > > > ModemManager[4324]: <msg> [modem0] simple connect state (9/10): > > > connect > > > ModemManager[4324]: <msg> [modem0] state changed (registered -> > > > connecting) > > > ModemManager[4324]: <msg> [modem0] state changed (connecting -> > > > connected) > > > ModemManager[4324]: <msg> [modem0] simple connect state (10/10): > > > all done > > > ModemManager[4324]: <wrn> [modem0/bearer1] reloading stats > > > failed: Transaction timed out > > > ModemManager[4324]: <msg> [modem0] port 'cdc-wdm0' no longer > > > controllable, reprobing > > > ModemManager[4324]: <msg> [base-manager] port cdc-wdm0 released > > > by device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' > > > ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must > > > be open to send commands > > > ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must > > > be open to send commands > > > ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must > > > be open to send commands > > > ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must > > > be open to send commands > > > ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must > > > be open to send commands > > > ModemManager[4324]: <wrn> [modem0/cdc-wdm0/mbim] Couldn't > > > properly close QMI device: Device must be open to send commands > > > ModemManager[4324]: <msg> [base-manager] port ttyUSB0 released by > > > device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' > > > ModemManager[4324]: <msg> [base-manager] port wwp0s20f0u1 > > > released by device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4- > > > 1' > > > ModemManager[4324]: <msg> [cdc-wdm0/mbim] MBIM device is not QMI > > > capable > > > ModemManager[4324]: <msg> [device > > > /sys/devices/pci0000:00/0000:00:14.0/usb4/4-1] creating modem > > > with plugin 'dell' and '3' ports > > > ModemManager[4324]: <msg> [base-manager] modem for device > > > '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' successfully > > > created > > > ModemManager[4324]: <msg> [modem1/cdc-wdm0/mbim] MBIM device is > > > QMI capable > > > > > > --> failed connection when launching ModemManager via systemd: > > > localhost:~ # systemctl start ModemManager > > > localhost:~ # systemctl status ModemManager > > > ● ModemManager.service - Modem Manager > > > Loaded: loaded > > > (/usr/lib/systemd/system/ModemManager.service; enabled; preset: > > > enabled) > > > Active: active (running) since Fri 2025-05-09 15:20:52 CEST; > > > 14s ago > > > Invocation: 1c378c21a150400d8bf3664cb2a40cd8 > > > Main PID: 14659 (ModemManager) > > > Tasks: 6 (limit: 18296) > > > CPU: 118ms > > > CGroup: /system.slice/ModemManager.service > > > └─14659 /usr/sbin/ModemManager --test-quick-suspend- > > > resume > > > > > > May 09 15:20:55 localhost.localdomain ModemManager[14739]: <wrn> > > > couldn't setup proxy specific process group > > > May 09 15:20:55 localhost.localdomain ModemManager[14742]: <wrn> > > > couldn't setup proxy specific process group > > > May 09 15:20:55 localhost.localdomain ModemManager[14745]: <wrn> > > > couldn't setup proxy specific process group > > > May 09 15:20:55 localhost.localdomain ModemManager[14748]: <wrn> > > > couldn't setup proxy specific process group > > > May 09 15:20:55 localhost.localdomain ModemManager[14751]: <wrn> > > > couldn't setup proxy specific process group > > > May 09 15:20:56 localhost.localdomain ModemManager[14659]: <msg> > > > [device /sys/devices/pci0000:00/0000:00:14.0/usb4/4-1] creating > > > modem with plugin 'dell' and '3' ports > > > May 09 15:20:56 localhost.localdomain ModemManager[14659]: <wrn> > > > [plugin/dell] could not grab port cdc-wdm0: Cannot add port > > > 'usbmisc/cdc-wdm0', unhandled port type > > > May 09 15:20:56 localhost.localdomain ModemManager[14659]: <wrn> > > > [base-manager] couldn't create modem for device > > > '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1': Failed to find > > > primary AT port > > > May 09 15:20:56 localhost.localdomain ModemManager[14659]: <msg> > > > [base-manager] couldn't check support for device > > > '/sys/devices/pci0000:00/0000:00:14.3': not supported by any > > > plugin > > > May 09 15:20:56 localhost.localdomain ModemManager[14659]: <msg> > > > [base-manager] couldn't check support for device > > > '/sys/devices/pci0000:00/0000:00:1f.6': not supported by any > > > plugin > > > > > > I have no clue why ModemManager can't access the cdc-wdm0 port - > > > perhaps it isn't given enough privileges when launched via > > > systemd? The service file does however look like any other > > > ModemManager service I've ever encountered: > > > > > > --> Contents of /usr/lib/systemd/system/ModemManager.service: > > > [Unit] > > > Description=Modem Manager > > > After=polkit.service > > > Requires=polkit.service > > > ConditionVirtualization=!container > > > > > > [Service] > > > Type=dbus > > > BusName=org.freedesktop.ModemManager1 > > > ExecStart=/usr/sbin/ModemManager --test-quick-suspend-resume > > > StandardError=null > > > Restart=on-abort > > > CapabilityBoundingSet=CAP_SYS_ADMIN CAP_NET_ADMIN > > > ProtectSystem=true > > > ProtectHome=true > > > PrivateTmp=true > > > RestrictAddressFamilies=AF_NETLINK AF_UNIX AF_QIPCRTR > > > NoNewPrivileges=true > > > User=root > > > > > > [Install] > > > WantedBy=multi-user.target > > > Alias=dbus-org.freedesktop.ModemManager1.service > > > > It may not even use AT commands; it might be running through an > > > > MBIM > > > > service instead. At the moment I'm not sure of any unlock > > > > procedure for > > > > the Fibcom Qualcomm-based devices other than their binary > > > > tools. > > > The ModemManager log indicates that MBIM / QMI are present but > > > that's also the only clue I have, sadly. > > > > > > Once again, sorry for maybe not following the most methodical > > > approach - feels like throwing things on a wall and hope that > > > something sticks. > > > Maybe someone could help with solving that systemd ModemManager > > > startup issue? I can also provide the Dell-specific firmware file > > > if someone would like to investigate further. > > > > > > Best, Jo. > > > > > > >