<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div dir="auto">Hi Dan, thank you for taking the time to respond!</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).</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><br></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><br><br></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.</div><div dir="auto"><br></div> </body>
</html>