<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div dir="auto">Hi everyone,<br></div><div dir="auto"><br></div><div dir="auto">managed to get the DW5825e working with SELinux on Tumbleweed via the following steps:<br></div><div dir="auto"><br></div><pre class=""><code class="" data-highlighted="yes">### 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.</code><br></pre><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">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): <a href="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" rel="noopener noreferrer" target="_blank">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</a><br></div><div dir="auto"><br></div><div dir="auto">Best,<br></div><div dir="auto">Jo</div><div dir="auto"><br></div><div dir="auto">15. Mai 2025, 17:17 von :<br></div><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div dir="auto">Hi everyone. <br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">Here are the working building instructions for enabling the DW5825e on OpenSuse Tumbleweed (tested with snapshots 20250513 and 20250501):<br></div><div dir="auto"><br></div><div dir="auto">---<br></div><div dir="auto"><br></div><div dir="auto">Fibocom FM101 / Dell DW5825e OpenSUSE Build:<br></div><div dir="auto"><br></div><div dir="auto">### Source: ###<br></div><div dir="auto"><a href="https://github.com/fibocom-pc/linux_apps_opensource" rel="noopener noreferrer" target="_blank">https://github.com/fibocom-pc/linux_apps_opensource</a><br></div><div dir="auto"><br></div><div dir="auto">### How it works ###<br></div><div dir="auto">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.<br></div><div dir="auto">The closed-source fibo_ma calls fibo_helper_service which provides a dbus interface for comms with the modem.<br></div><div dir="auto"><br></div><div dir="auto">### SELinux not working ###<br></div><div dir="auto">The modem fails to connect if SELinux is set to enforcing in /etc/selinux/config.<br></div><div dir="auto">For now, set it to permissive.<br></div><div dir="auto">!!! This is dangerous and ugly !!!<br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">### Files needed from Dell Ubuntu 22.04 OEM Install ###<br></div><div dir="auto">/opt/fibocom/fibo_flash_service/FwFlashSrv (Firmware)<br></div><div dir="auto">/opt/fibocom/fibo_ma_service/fcc-unlock.d (ModemManager FCCUnlock files)<br></div><div dir="auto">--> only 413c:8213 is needed but copy the other hw ids for future use as well<br></div><div dir="auto">--> needs to be made available to ModemManager in OpenSuse: Should be linked to /usr/lib64/ModemManager/fcc-unlock.d<br></div><div dir="auto"><br></div><div dir="auto">### Libraries & Tools: ###<br></div><div dir="auto">cmake<br></div><div dir="auto">dmidecode<br></div><div dir="auto">gcc<br></div><div dir="auto">gcc-c++<br></div><div dir="auto">pkgconf-pkg-config<br></div><div dir="auto">glib2<br></div><div dir="auto">glib2-devel<br></div><div dir="auto">libxml2<br></div><div dir="auto">libxml2-devel<br></div><div dir="auto">libmbim<br></div><div dir="auto">libmbim-devel<br></div><div dir="auto">libqmi-glib5<br></div><div dir="auto">libqmi-tools<br></div><div dir="auto">libdbus-glib-1-2<br></div><div dir="auto">ModemManager<br></div><div dir="auto">ModemManager-devel<br></div><div dir="auto">systemd-devel<br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">libdbus-glib-1-2<br></div><div dir="auto">--> create symlink from libdbus-1.so.3 to /usr/lib64/libdbus-1.so !!!messy!!!<br></div><div dir="auto">---> sudo ln -s /usr/lib64/libdbus-1.so.3 /usr/lib64/libdbus-1.so<br></div><div dir="auto"><br></div><div dir="auto">### Build ###<br></div><div dir="auto">cd to linux_apps_opensource directory<br></div><div dir="auto">cmake -S . -B build<br></div><div dir="auto">cmake --build build<br></div><div dir="auto"><br></div><div dir="auto">--> Create dbus config for fibocom helper: /usr/share/dbus-1/system.d/com.fibocom.helper.conf<br></div><div dir="auto"><!DOCTYPE busconfig PUBLIC<br></div><div dir="auto">"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"<br></div><div dir="auto">"<a href="http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd" rel="noopener noreferrer" target="_blank">http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd</a>"><br></div><div dir="auto"><busconfig><br></div><div dir="auto"> <!-- This config allows anyone to control mcdm --><br></div><div dir="auto"><br></div><div dir="auto"> <policy context="default"><br></div><div dir="auto"> <allow send_destination="com.fibocom.helper"/><br></div><div dir="auto"> </policy><br></div><div dir="auto"><br></div><div dir="auto"> <policy user="root"><br></div><div dir="auto"> <allow own="com.fibocom.helper"/><br></div><div dir="auto"> </policy><br></div><div dir="auto"></busconfig><br></div><div dir="auto"><br></div><div dir="auto">--> Create dbus service file: /usr/share/dbus-1/system-services/com.fibocom.helper.service<br></div><div dir="auto">[D-BUS Service]<br></div><div dir="auto">Name=com.fibocom.helper<br></div><div dir="auto">Exec=/bin/false<br></div><div dir="auto">User=root<br></div><div dir="auto">SystemdService=fibo_helper.service<br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">--> Create fibo_config service /etc/systemd/system/fibo_config.service<br></div><div dir="auto">[Unit]<br></div><div dir="auto">Description=Firmware Config Service<br></div><div dir="auto">After=ModemManager.service fibo_helper.service<br></div><div dir="auto"><br></div><div dir="auto">[Service]<br></div><div dir="auto">EnvironmentFile=/lib/systemd/system/fibo_config.d/env.conf<br></div><div dir="auto">ExecStart=/opt/fibocom/fibo_config_service/fibo_config<br></div><div dir="auto">ExecReload=/bin/kill -HUP $MAINPID<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">Type=simple<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">User=root<br></div><div dir="auto"><br></div><div dir="auto">[Install]<br></div><div dir="auto">WantedBy=multi-user.target<br></div><div dir="auto"><br></div><div dir="auto">--> Create fibo_flash service /etc/systemd/system/fibo_flash.service<br></div><div dir="auto">[Unit]<br></div><div dir="auto">Description=Firmware Flash Service<br></div><div dir="auto">After=ModemManager.service fibo_helper.service<br></div><div dir="auto"><br></div><div dir="auto">[Service]<br></div><div dir="auto">EnvironmentFile=/lib/systemd/system/fibo_flash.d/env.conf<br></div><div dir="auto">ExecStart=/opt/fibocom/fibo_flash_service/fibo_flash<br></div><div dir="auto">ExecReload=/bin/kill -HUP $MAINPID<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">Type=simple<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">User=root<br></div><div dir="auto"><br></div><div dir="auto">[Install]<br></div><div dir="auto">WantedBy=multi-user.target<br></div><div dir="auto"><br></div><div dir="auto">--> Create fibo_helper service /etc/systemd/system/fibo_helper.service<br></div><div dir="auto">[Unit]<br></div><div dir="auto">Description=Firmware Helper Service<br></div><div dir="auto">After=ModemManager.service<br></div><div dir="auto"><br></div><div dir="auto">[Service]<br></div><div dir="auto">EnvironmentFile=/lib/systemd/system/fibo_helper.d/env.conf<br></div><div dir="auto">ExecStart=/opt/fibocom/fibo_helper_service/fibo_helperd<br></div><div dir="auto">ExecReload=/bin/kill -HUP $MAINPID<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">Type=simple<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">User=root<br></div><div dir="auto"><br></div><div dir="auto">[Install]<br></div><div dir="auto">WantedBy=multi-user.target<br></div><div dir="auto"><br></div><div dir="auto">--> Create fibo_helper_mbim service /etc/systemd/system/fibo_helper_mbim.service<br></div><div dir="auto">[Unit]<br></div><div dir="auto">Description=Firmware Helper Service<br></div><div dir="auto">After=ModemManager.service fibo_helper.service<br></div><div dir="auto"><br></div><div dir="auto">[Service]<br></div><div dir="auto">EnvironmentFile=/lib/systemd/system/fibo_helper.d/env.conf<br></div><div dir="auto">ExecStart=/opt/fibocom/fibo_helper_service/fibo_helperm<br></div><div dir="auto">ExecReload=/bin/kill -HUP $MAINPID<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">Type=simple<br></div><div dir="auto">Restart=on-abort<br></div><div dir="auto">User=root<br></div><div dir="auto"><br></div><div dir="auto">[Install]<br></div><div dir="auto">WantedBy=multi-user.target<br></div><div dir="auto"><br></div><div dir="auto">--> Create systemd directories for environment files<br></div><div dir="auto">sudo mkdir /lib/systemd/system/fibo_config.d/<br></div><div dir="auto">sudo mkdir /lib/systemd/system/fibo_flash.d/<br></div><div dir="auto">sudo mkdir /lib/systemd/system/fibo_helper.d/<br></div><div dir="auto"><br></div><div dir="auto">--> Create environment files (as root)<br></div><div dir="auto">echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib64" > /lib/systemd/system/fibo_config.d/env.conf<br></div><div dir="auto">echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib64" > /lib/systemd/system/fibo_flash.d/env.conf<br></div><div dir="auto">echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib64" > /lib/systemd/system/fibo_helper.d/env.conf<br></div><div dir="auto"><br></div><div dir="auto">--> Create the following udev rule: /usr/lib/udev/rules.d/76-mm-fibocom-linux-apps-port-types.rules<br></div><div dir="auto"># do not edit this file, it will be overwritten on update<br></div><div dir="auto">ACTION!="add|change|move|bind", GOTO="mm_fibocom_linux_apps_port_types_end"<br></div><div dir="auto">SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"<br></div><div dir="auto"><br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="03", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto"><br></div><div dir="auto">ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8213", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8215", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto"><br></div><div dir="auto">LABEL="mm_fibocom_linux_apps_port_types_end"<br></div><div dir="auto"><br></div><div dir="auto">--> Create the following udev rule: /usr/lib/udev/rules.d/77-mm-fibocom.rules<br></div><div dir="auto">ACTION!="add|change|move|bind", GOTO="mm_fibocom_end"<br></div><div dir="auto">ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="14C3:4D75", ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end"<br></div><div dir="auto">ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="8086:7560", ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end"<br></div><div dir="auto"><br></div><div dir="auto">LABEL="mm_fibocom_end"<br></div><div dir="auto"><br></div><div dir="auto">--> Edit the ExecStart line in /usr/lib/systemd/system/ModemManager.service:<br></div><div dir="auto">ExecStart=/usr/sbin/ModemManager --test-quick-suspend-resume<br></div><div dir="auto"><br></div><div dir="auto">--> Create fcc unlock script for the DW5825e (413c:8213) as /usr/share/ModemManager/fcc-unlock.available.d/413c:8213<br></div><div dir="auto">#!/bin/sh<br></div><div dir="auto"><br></div><div dir="auto"># SPDX-License-Identifier: CC0-1.0<br></div><div dir="auto"># 2023 Nero zhang <<a href="mailto:sinaro@sinaro.es" rel="noopener noreferrer" target="_blank">sinaro@sinaro.es</a>><br></div><div dir="auto">#<br></div><div dir="auto"># Fibocom FM101 FCC unlock mechanism<br></div><div dir="auto">#<br></div><div dir="auto"><br></div><div dir="auto"># run fcc-unlock binary<br></div><div dir="auto">/opt/fibocom/fibo_ma_service/fibo_ma<br></div><div dir="auto">exit $?<br></div><div dir="auto"><br></div><div dir="auto">--> Tell ModemManager to automatically activate available fcc unlocks<br></div><div dir="auto">ln -sft /usr/lib64/ModemManager/fcc-unlock.d /usr/share/ModemManager/fcc-unlock.available.d/*<br></div><div dir="auto"><br></div><div dir="auto">--> reload systemd to make fibocom services available<br></div><div dir="auto">systemctl daemon-reload<br></div><div dir="auto"><br></div><div dir="auto">--> activate fibocom services<br></div><div dir="auto">sudo systemctl enable fibo_helper.service<br></div><div dir="auto">sudo systemctl enable fibo_helper_mbim.service<br></div><div dir="auto">sudo systemctl enable fibo_flash.service<br></div><div dir="auto">sudo systemctl enable fibo_config.service<br></div><div dir="auto"><br></div><div dir="auto">--> reboot<br></div><div dir="auto"><br></div><div dir="auto">--> add connection profile / APN via NetworkManager.<br></div><div dir="auto"><br></div><div dir="auto">--> Success!<br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Best,<br></div><div dir="auto">Jo.<br></div><div dir="auto"><br></div><div dir="auto">9. Mai 2025, 15:35 von johanngerbhoff@tutamail.com:<br></div><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div dir="auto">Hi Dan, thank you for taking the time to respond!<br></div><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div dir="auto">Does the modem actually get registered with the network, or does it<br></div><div dir="auto">completely fail to communicate with it? By "connecting" I'm not sure if<br></div><div dir="auto">you mean a data connection or just registering.<br></div></blockquote><div dir="auto">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:<br></div><div dir="auto"><br></div><div dir="auto">--> 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<br></div><div dir="auto"><br></div><div dir="auto">--> The path for 76-mm-fibocom-linux-apps-port-types.rules should be /usr/lib/udev/rules.d. The content is as follows:<br></div><div dir="auto"># do not edit this file, it will be overwritten on update<br></div><div dir="auto">ACTION!="add|change|move|bind", GOTO="mm_fibocom_linux_apps_port_types_end"<br></div><div dir="auto">SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"<br></div><div dir="auto"><br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="03", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="01a2", ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto"><br></div><div dir="auto">ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8213", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto">ATTRS{idVendor}=="413c", ATTRS{idProduct}=="8215", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1"<br></div><div dir="auto"><br></div><div dir="auto">LABEL="mm_fibocom_linux_apps_port_types_end"<br></div><div dir="auto"><br></div><div dir="auto">--> There is an additional udev rule that I missed to copy: /usr/lib/udev/rules.d/77-mm-fibocom.rules. Content as follows:<br></div><div dir="auto">ACTION!="add|change|move|bind", GOTO="mm_fibocom_end"<br></div><div dir="auto">ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="14C3:4D75", ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end"<br></div><div dir="auto">ENV{SUBSYSTEM}=="pci", ENV{PCI_ID}=="8086:7560", ATTR{power/wakeup}="disabled", GOTO="mm_fibocom_end"<br></div><div dir="auto"><br></div><div dir="auto">LABEL="mm_fibocom_end"<br></div><div dir="auto"><br></div><div dir="auto">--> ModemManager's ExecStart line in /usr/lib/systemd/system/ModemManager.service is modified with a switch:<br></div><div dir="auto">ExecStart=/usr/sbin/ModemManager --test-quick-suspend-resume<br></div><div dir="auto"><br></div><div dir="auto">--> a dbus service file needs to be created as /usr/share/dbus-1/system-services/com.fibocom.helper.service.<br></div><div dir="auto">Contents:<br></div><div dir="auto">[D-BUS Service]<br></div><div dir="auto">Name=com.fibocom.helper<br></div><div dir="auto">Exec=/bin/false<br></div><div dir="auto">User=root<br></div><div dir="auto">SystemdService=fibo_helper.service<br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">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:<br></div><div dir="auto"><br></div><div dir="auto">--> 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).<br></div><div dir="auto"><span style="font-family:monospace" class=""><span style="color: rgb(255, 84, 84); background-color: rgb(255, 255, 255);"><b>localhost:~ #</b></span><span style="color:#000000;background-color:#ffffff;"> /usr/sbin/ModemManager --test-quick-suspend-resume </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> ModemManager (version 1.22.0) starting in system bus... </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [cdc-wdm0/mbim] MBIM device is not QMI capable </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [device /sys/devices/pci0000:00/0000:00:14.0/usb4/4-1] creating modem with plugin 'dell' and '3' ports </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [base-manager] modem for device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' successfully created </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:14.3': not supported by any plugin </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:1f.6': not supported by any plugin </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0/cdc-wdm0/mbim] MBIM device is QMI capable </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (unknown -> disabled) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (disabled -> enabling) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect started... </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (4/10): wait to get fully enabled </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0] Cannot power-up: hardware radio switch is OFF </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0] Cannot power-up: hardware radio switch is OFF </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0] couldn't enable interface: 'Invalid transition' </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0] failed enabling modem: Invalid transition </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (enabling -> disabled) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0] failed waiting for enabled state: disabled </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect started... </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (3/10): enable </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (disabled -> enabling) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect started... </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (4/10): wait to get fully enabled </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0] couldn't reload extended signal information: No signal details given </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] power state updated: on </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] 3GPP packet service state changed (unknown -> attached) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0] connection attempt cancelled </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (enabling -> enabled) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (5/10): wait after enabled </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] 3GPP registration state changed (unknown -> registering) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] 3GPP registration state changed (registering -> home) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (enabled -> registered) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (6/10): register </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (7/10): wait to get packet service state attached </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (8/10): bearer </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (9/10): connect </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (registered -> connecting) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] state changed (connecting -> connected) </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] simple connect state (10/10): all done </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0/bearer1] reloading stats failed: Transaction timed out </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem0] port 'cdc-wdm0' no longer controllable, reprobing </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [base-manager] port cdc-wdm0 released by device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must be open to send commands </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must be open to send commands </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must be open to send commands </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must be open to send commands </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [/dev/cdc-wdm0] MBIM error: Device must be open to send commands </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <wrn> [modem0/cdc-wdm0/mbim] Couldn't properly close QMI device: Device must be open to send commands </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [base-manager] port ttyUSB0 released by device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [base-manager] port wwp0s20f0u1 released by device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [cdc-wdm0/mbim] MBIM device is not QMI capable </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [device /sys/devices/pci0000:00/0000:00:14.0/usb4/4-1] creating modem with plugin 'dell' and '3' ports </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [base-manager] modem for device '/sys/devices/pci0000:00/0000:00:14.0/usb4/4-1' successfully created </span><br><span style="color:#000000;background-color:#ffffff;">ModemManager[4324]: <msg> [modem1/cdc-wdm0/mbim] MBIM device is QMI capable</span></span></div><div dir="auto"><br></div><div dir="auto">--> failed connection when launching ModemManager via systemd:<br></div><div dir="auto"><span style="font-family:monospace" class=""><span style="color: rgb(255, 84, 84); background-color: rgb(255, 255, 255);"><b>localhost:~ #</b></span><span style="color:#000000;background-color:#ffffff;"> systemctl start ModemManager </span><br><span style="color: rgb(255, 84, 84); background-color: rgb(255, 255, 255);"><b>localhost:~ #</b></span><span style="color:#000000;background-color:#ffffff;"> systemctl status ModemManager </span><br><span style="color: rgb(84, 255, 84); background-color: rgb(255, 255, 255);"><b>●</b></span><span style="color:#000000;background-color:#ffffff;"> ModemManager.service - Modem Manager </span><br><span style="color:#000000;background-color:#ffffff;"> Loaded: loaded (/usr/lib/systemd/system/ModemManager.service; </span><span style="color: rgb(84, 255, 84); background-color: rgb(255, 255, 255);"><b>enabled</b></span><span style="color:#000000;background-color:#ffffff;">; preset: </span><span style="color: rgb(84, 255, 84); background-color: rgb(255, 255, 255);"><b>enabled</b></span><span style="color:#000000;background-color:#ffffff;">) </span><br><span style="color:#000000;background-color:#ffffff;"> Active: </span><span style="color: rgb(84, 255, 84); background-color: rgb(255, 255, 255);"><b>active (running)</b></span><span style="color:#000000;background-color:#ffffff;"> since Fri 2025-05-09 15:20:52 CEST; 14s ago </span><br><span style="color:#000000;background-color:#ffffff;"> Invocation: 1c378c21a150400d8bf3664cb2a40cd8 </span><br><span style="color:#000000;background-color:#ffffff;"> Main PID: 14659 (ModemManager) </span><br><span style="color:#000000;background-color:#ffffff;"> Tasks: 6</span><span style="color:#8a8a8a;background-color:#ffffff;"> (limit: 18296)</span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;"> CPU: 118ms </span><br><span style="color:#000000;background-color:#ffffff;"> CGroup: /<a href="http://system.slice/ModemManager.service" rel="noopener noreferrer" target="_blank">system.slice/ModemManager.service</a> </span><br><span style="color:#000000;background-color:#ffffff;"> └─</span><span style="color:#8a8a8a;background-color:#ffffff;">14659 /usr/sbin/ModemManager --test-quick-suspend-resume</span><span style="color:#000000;background-color:#ffffff;"> </span><br> <br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:55 localhost.localdomain ModemManager[14739]: </span><span style="color: rgb(215, 215, 95); background-color: rgb(255, 255, 255);"><b><wrn> couldn't setup proxy specific process group</b></span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:55 localhost.localdomain ModemManager[14742]: </span><span style="color: rgb(215, 215, 95); background-color: rgb(255, 255, 255);"><b><wrn> couldn't setup proxy specific process group</b></span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:55 localhost.localdomain ModemManager[14745]: </span><span style="color: rgb(215, 215, 95); background-color: rgb(255, 255, 255);"><b><wrn> couldn't setup proxy specific process group</b></span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:55 localhost.localdomain ModemManager[14748]: </span><span style="color: rgb(215, 215, 95); background-color: rgb(255, 255, 255);"><b><wrn> couldn't setup proxy specific process group</b></span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:55 localhost.localdomain ModemManager[14751]: </span><span style="color: rgb(215, 215, 95); background-color: rgb(255, 255, 255);"><b><wrn> couldn't setup proxy specific process group</b></span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:56 localhost.localdomain ModemManager[14659]: <b><msg> [device /sys/devices/pci0000:00/0000:00:14.0/usb4/4-1] creating modem with plugin 'dell' and '3' ports</b> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:56 localhost.localdomain ModemManager[14659]: </span><span style="color: rgb(215, 215, 95); background-color: rgb(255, 255, 255);"><b><wrn> [plugin/dell] could not grab port cdc-wdm0: Cannot add port 'usbmisc/cdc-wdm0', unhandled port type</b></span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:56 localhost.localdomain ModemManager[14659]: </span><span style="color: rgb(215, 215, 95); background-color: rgb(255, 255, 255);"><b><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</b></span><span style="color:#000000;background-color:#ffffff;"> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:56 localhost.localdomain ModemManager[14659]: <b><msg> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:14.3': not supported by any plugin</b> </span><br><span style="color:#000000;background-color:#ffffff;">May 09 15:20:56 localhost.localdomain ModemManager[14659]: <b><msg> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:1f.6': not supported by any plugin</b></span></span></div><div dir="auto"><br></div><div dir="auto">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:<br></div><div dir="auto"><br></div><div dir="auto">--> Contents of /usr/lib/systemd/system/ModemManager.service:<br></div><div dir="auto"><span style="font-family:monospace" class=""><span style="color:#000000;background-color:#ffffff;">[Unit] </span><br><span style="color:#000000;background-color:#ffffff;">Description=Modem Manager </span><br><span style="color:#000000;background-color:#ffffff;">After=polkit.service </span><br><span style="color:#000000;background-color:#ffffff;">Requires=polkit.service </span><br><span style="color:#000000;background-color:#ffffff;">ConditionVirtualization=!container </span><br> <br><span style="color:#000000;background-color:#ffffff;">[Service] </span><br><span style="color:#000000;background-color:#ffffff;">Type=dbus </span><br><span style="color:#000000;background-color:#ffffff;">BusName=org.freedesktop.ModemManager1 </span><br><span style="color:#000000;background-color:#ffffff;">ExecStart=/usr/sbin/ModemManager --test-quick-suspend-resume </span><br><span style="color:#000000;background-color:#ffffff;">StandardError=null </span><br><span style="color:#000000;background-color:#ffffff;">Restart=on-abort </span><br><span style="color:#000000;background-color:#ffffff;">CapabilityBoundingSet=CAP_SYS_ADMIN CAP_NET_ADMIN </span><br><span style="color:#000000;background-color:#ffffff;">ProtectSystem=true </span><br><span style="color:#000000;background-color:#ffffff;">ProtectHome=true </span><br><span style="color:#000000;background-color:#ffffff;">PrivateTmp=true </span><br><span style="color:#000000;background-color:#ffffff;">RestrictAddressFamilies=AF_NETLINK AF_UNIX AF_QIPCRTR </span><br><span style="color:#000000;background-color:#ffffff;">NoNewPrivileges=true </span><br><span style="color:#000000;background-color:#ffffff;">User=root </span><br> <br><span style="color:#000000;background-color:#ffffff;">[Install] </span><br><span style="color:#000000;background-color:#ffffff;">WantedBy=multi-user.target </span><br><span style="color:#000000;background-color:#ffffff;">Alias=dbus-org.freedesktop.ModemManager1.service</span></span></div><blockquote class="tutanota_quote" style="border-left: 1px solid #93A3B8; padding-left: 10px; margin-left: 5px;"><div dir="auto">It may not even use AT commands; it might be running through an MBIM<br></div><div dir="auto">service instead. At the moment I'm not sure of any unlock procedure for<br></div><div dir="auto">the Fibcom Qualcomm-based devices other than their binary tools.<br></div></blockquote><div dir="auto">The ModemManager log indicates that MBIM / QMI are present but that's also the only clue I have, sadly.<br></div><div dir="auto"><br></div><div dir="auto">Once again, sorry for maybe not following the most methodical approach - feels like throwing things on a wall and hope that something sticks.<br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">Best, Jo.<br></div><div dir="auto"><br></div></blockquote><div dir="auto"><br></div></blockquote><div dir="auto"><br></div> </body>
</html>