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 <http://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.