0

I'm attempting to use ModemManager on an embedded Linux system, which is running without Network Manager and without udev. The goal is to establish a working internet connection using D-Link's DWM-222 USB Modem (4G/LTE).

I've gotten as far as installing relevant drivers, usb_modeswitch ver 2.5.2 and ModemManager ver 1.12.6. I believe the modeswitch works fine. See its output below (notice the wwan0 and cdc-wdm0 devices).

-sh-4.4# usb_modeswitch -c /etc/usb_modeswitch.conf
    Look for target devices ...
     No devices in target mode or class found
    Look for default devices ...
     Found devices in default mode (1)
    Access device 002 on bus 001
    Get the current device configuration ...
    Current configuration number is 1
    Use interface number 0
     with class 8
    Use endpoints 0x01 (out) and 0x81 (in)
    Sending standard EJECT sequence
    Looking for active drivers ...
    sd 1:0:0:0: [sdb] Synchronizing SCSI cache
    sd 1:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyte=0x00 driverbyte=0x08
    sd 1:0:0:0: [sdb] Sense Key : 0x5 [current]
    sd 1:0:0:0: [sdb] ASC=0x20 ASCQ=0x0
     OK, driver detached
    Set up interface 0
    Use endpoint 0x01 for message sending ...
    Trying to send message 1 to endpoint 0x01 ...
     OK, message successfully sent
    Read the response to message 1 (CSW) ...
     Response successfully read (13 bytes), status 0
    Trying to send message 2 to endpoint 0x01 ...
     OK, message successfully sent
    Read the response to message 2 (CSW) ...
     Response successfully read (13 bytes), status 0
    Trying to send message 3 to endpoint 0x01 ...
     OK, message successfully sent
    Read the response to message 3 (CSW) ...
     Response successfully read (13 bytes), status 1
    Trying to send message 4 to endpoint 0x01 ...
     OK, message successfully sent
    Read the response to message 4 (CSW) ...
     Response successfully read (13 bytes), status 0
    Reset response endpoint 0x81
    Reset message endpoint 0x01
    Mdev usbhandle script: MDEV = sdb, ACTION = remove, DEVTYPE = disk
    -> Run lsusb to note any changes. Bye!
    usb 1-1: USB disconnect, device number 2
    usb 1-1: new high-speed USB device number 3 using atmel-ehci
    usb 1-1: New USB device found, idVendor=2001, idProduct=7e35, bcdDevice= 2.28
    usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    usb 1-1: Product: Mobile Connect
    usb 1-1: Manufacturer: Mobile Connect
    usb 1-1: SerialNumber: 0123456789ABCDEF
    option 1-1:1.0: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
    option 1-1:1.1: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
    option 1-1:1.2: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
    option 1-1:1.3: GSM modem (1-port) converter detected
    usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
    qmi_wwan 1-1:1.4: cdc-wdm0: USB WDM device
    qmi_wwan 1-1:1.4 wwan0: register 'qmi_wwan' at usb-700000.ehci-1, WWAN/QMI device, 9e:c7:04:ff:3d:dd    

After the modeswitch, I've done the following:

  • I've placed file org.freedesktop.ModemManager1.service into /usr/share/dbus-1/system-services/ as well as in /etc/dbus-1/system.d/.
  • I've also placed all interfaces (xml files) into /usr/share/dbus-1/interfaces/ directory.
  • And I've placed .rules files in /lib/udev/rules.d/ (Note again, that the system does not have udev installed. It uses it's cousin mdev).

After doing this and attempting to use the D-Link modem through ModemManager I was stopped by two issues.

ISSUE NR. 1

The first issue is that ModemManager cannot acquire the 'org.freedesktop.ModemManager1' service name. See output of ModemManager --debug below.

-sh-4.4# ModemManager --debug
ModemManager[1624]: <info>  [1596559087.074342] ModemManager (version 1.12.6) starting in system bus...
ModemManager[1624]: <debug> [1596559087.148077] Bus acquired, creating manager...

(ModemManager:1624): GLib-GObject-CRITICAL **: 18:38:07.158: g_object_new_is_valid_property: object class 'MMBaseManager' has no property named 'version'

(ModemManager:1624): GLib-GObject-WARNING **: 18:38:07.165: gsignal.c:2523: signal 'handle-inhibit-device' is invalid for instance '0x13e968' of type 'MMBaseManager'
ModemManager[1624]: <debug> [1596559087.167971] [filter] created
ModemManager[1624]: <debug> [1596559087.170063] [filter]   explicit whitelist:         yes
ModemManager[1624]: <debug> [1596559087.171917] [filter]   explicit blacklist:         yes
ModemManager[1624]: <debug> [1596559087.172979] [filter]   plugin whitelist:           no
ModemManager[1624]: <debug> [1596559087.174047] [filter]   virtual devices forbidden:  yes
ModemManager[1624]: <debug> [1596559087.174798] [filter]   net devices allowed:        yes
ModemManager[1624]: <debug> [1596559087.175558] [filter]   cdc-wdm devices allowed:    yes
ModemManager[1624]: <debug> [1596559087.176313] [filter]   tty devices:
ModemManager[1624]: <debug> [1596559087.177055] [filter]       blacklist applied:        yes
ModemManager[1624]: <debug> [1596559087.177818] [filter]       manual scan only applied: yes
ModemManager[1624]: <debug> [1596559087.178574] [filter]       platform driver check:    yes
ModemManager[1624]: <debug> [1596559087.179331] [filter]       driver check:             no
ModemManager[1624]: <debug> [1596559087.180088] [filter]       cdc-acm interface check:  no
ModemManager[1624]: <debug> [1596559087.184859] [filter]       with net check:           no
ModemManager[1624]: <debug> [1596559087.186606] [filter]       default:                  allowed
ModemManager[1624]: <debug> [1596559087.189627] [plugin manager] looking for plugins in '/usr/lib/ModemManager'
ModemManager[1624]: <debug> [1596559087.197523] [plugin manager] loaded shared 'Novatel' utils from '/usr/lib/ModemManager/libmm-shared-novatel.so'
ModemManager[1624]: <debug> [1596559087.202468] [plugin manager] loaded shared 'Option' utils from '/usr/lib/ModemManager/libmm-shared-option.so'
ModemManager[1624]: <warn>  [1596559087.209422] [plugin manager] could not load shared '/usr/lib/ModemManager/libmm-shared-xmm.so': /usr/lib/ModemManager/libmm-shared-xmm.so: undefined symbol: mm_common_band_is_gsm
ModemManager[1624]: <debug> [1596559087.217541] [plugin manager] loaded shared 'Sierra' utils from '/usr/lib/ModemManager/libmm-shared-sierra.so'
...
ModemManager[1624]: <debug> [1596559087.465496] [plugin manager] loaded plugin 'Cinterion' from '/usr/lib/ModemManager/libmm-plugin-cinterion.so'
ModemManager[1624]: <debug> [1596559087.467579] [plugin manager] successfully loaded 28 plugins
ModemManager[1624]: <warn>  [1596559087.478888] Could not acquire the 'org.freedesktop.ModemManager1' service name
ModemManager[1624]: <debug> [1596559087.479533] Stopping connection in object manager server
ModemManager[1624]: <info>  [1596559087.501334] ModemManager is shut down

Note that dbus daemon is running:

-sh-4.4# ps -a | grep dbus
1613 dbus     dbus-daemon --system

At one point, ModemManager was able to acquire the service. To be honest, I've tried so many things that I have no idea what helped. Anyhow, when this was working, a second problem appeared (described below) and while trying to solve that one, I've messed up whatever it was that helped ModemManager acquire the 'org.freedesktop.ModemManager1' service name. I've tried a fresh install on a fresh system and got stuck with the above issue again.

(I have a hunch that what got things working was the right combination of dbus-daemon version and ModemManager version. At one point or another I've used dbus versions 1.8.10 and 1.12.16 and for ModemManager I've experimented with 1.8.0 and 1.12.6.)

ISSUE NR. 2

For the brief time when above described issue was not present, the second one appeared. ModemManager was running fine. At least I think so. See output of ModemManager --debug below. Note that I've been using ModemManager 1.8.0 at this point.

ModemManager[2165]: <info>  [1596547145.308786] ModemManager (version 1.8.0) starting in system bus...
    ModemManager[2165]: <debug> [1596547145.394258] Bus acquired, creating manager...
    ModemManager[2165]: <debug> [1596547145.404034] [filter] created
    ModemManager[2165]: <debug> [1596547145.413016] [filter]   explicit whitelist:         yes
    ModemManager[2165]: <debug> [1596547145.415615] [filter]   virtual devices forbidden:  yes
    ModemManager[2165]: <debug> [1596547145.417519] [filter]   net devices allowed:        yes
    ModemManager[2165]: <debug> [1596547145.419265] [filter]   cdc-wdm devices allowed:    yes
    ModemManager[2165]: <debug> [1596547145.421282] [filter]   tty devices:
    ModemManager[2165]: <debug> [1596547145.423055] [filter]       blacklist applied:        yes
    ModemManager[2165]: <debug> [1596547145.424980] [filter]       manual scan only applied: yes
    ModemManager[2165]: <debug> [1596547145.427060] [filter]       platform driver check:    yes
    ModemManager[2165]: <debug> [1596547145.428854] [filter]       driver check:             no
    ModemManager[2165]: <debug> [1596547145.430350] [filter]       cdc-acm interface check:  no
    ModemManager[2165]: <debug> [1596547145.431968] [filter]       with net check:           no
    ModemManager[2165]: <debug> [1596547145.433453] [filter]       default:                  allowed
    ModemManager[2165]: <debug> [1596547145.437694] [plugin manager] looking for plugins in '/usr/lib/ModemManager'
    ModemManager[2165]: <debug> [1596547145.450686] [plugin manager] loaded plugin 'Cinterion'
    ModemManager[2165]: <debug> [1596547145.456470] [plugin manager] loaded plugin 'Pantech'
    ModemManager[2165]: <debug> [1596547145.463000] [plugin manager] loaded plugin 'Ericsson MBM'
    ModemManager[2165]: <debug> [1596547145.468429] [plugin manager] loaded plugin 'AnyDATA'
    ModemManager[2165]: <debug> [1596547145.473753] [plugin manager] loaded plugin 'Sierra'
    ModemManager[2165]: <debug> [1596547145.479183] [plugin manager] loaded plugin 'Via CBP7'
    ModemManager[2165]: <debug> [1596547145.484214] [plugin manager] loaded plugin 'Haier'
    ModemManager[2165]: <debug> [1596547145.491056] [plugin manager] loaded plugin 'ZTE'
    ModemManager[2165]: <debug> [1596547145.497882] [plugin manager] loaded plugin 'Option High-Speed'
    ModemManager[2165]: <debug> [1596547145.502716] [plugin manager] loaded plugin 'Novatel LTE'
    ModemManager[2165]: <debug> [1596547145.508871] [plugin manager] loaded plugin 'Nokia'
    ModemManager[2165]: <debug> [1596547145.516253] [plugin manager] loaded plugin 'Altair LTE'
    ModemManager[2165]: <debug> [1596547145.525133] [plugin manager] loaded plugin 'u-blox'
    ModemManager[2165]: <debug> [1596547145.532582] [plugin manager] loaded plugin 'Huawei'
    ModemManager[2165]: <debug> [1596547145.539040] [plugin manager] loaded plugin 'Thuraya'
    ModemManager[2165]: <debug> [1596547145.544230] [plugin manager] loaded plugin 'Generic'
    ModemManager[2165]: <debug> [1596547145.549293] [plugin manager] loaded plugin 'SimTech'
    ModemManager[2165]: <debug> [1596547145.556424] [plugin manager] loaded plugin 'Dell'
    ModemManager[2165]: <debug> [1596547145.562814] [plugin manager] loaded plugin 'Linktop'
    ModemManager[2165]: <debug> [1596547145.569637] [plugin manager] loaded plugin 'Nokia (Icera)'
    ModemManager[2165]: <debug> [1596547145.576034] [plugin manager] loaded plugin 'Samsung'
    ModemManager[2165]: <debug> [1596547145.581402] [plugin manager] loaded plugin 'Motorola'
    ModemManager[2165]: <debug> [1596547145.586908] [plugin manager] loaded plugin 'Iridium'
    ModemManager[2165]: <debug> [1596547145.592314] [plugin manager] loaded plugin 'X22X'
    ModemManager[2165]: <debug> [1596547145.597916] [plugin manager] loaded plugin 'Option'
    ModemManager[2165]: <debug> [1596547145.604872] [plugin manager] loaded plugin 'Telit'
    ModemManager[2165]: <debug> [1596547145.610360] [plugin manager] loaded plugin 'Quectel'
    ModemManager[2165]: <debug> [1596547145.617126] [plugin manager] loaded plugin 'Novatel'
    ModemManager[2165]: <debug> [1596547145.622472] [plugin manager] loaded plugin 'Wavecom'
    ModemManager[2165]: <debug> [1596547145.629320] [plugin manager] loaded plugin 'Sierra (legacy)'
    ModemManager[2165]: <debug> [1596547145.634753] [plugin manager] loaded plugin 'Longcheer'
    ModemManager[2165]: <debug> [1596547145.640217] [plugin manager] loaded plugin 'D-Link'
    ModemManager[2165]: <debug> [1596547145.645604] [plugin manager] loaded plugin 'MTK'
    ModemManager[2165]: <debug> [1596547145.647637] [plugin manager] successfully loaded 33 plugins
    ModemManager[2165]: <debug> [1596547145.667580] Service name 'org.freedesktop.ModemManager1' was acquired

Since there is no udev on the system, I used the following command to tell ModemManager that a new modem is connected:

mmcli --report-kernel-event=action=add,subsystem=net,name=wwan0

This resulted in the following output in ModemManager:

ModemManager[2165]: <debug> [1596547145.667580] Service name 'org.freedesktop.ModemManager1' was acquired
    ModemManager[2165]: <debug> [1596547149.418458] Kernel event reported:
    ModemManager[2165]: <debug> [1596547149.418940]   action:    add
    ModemManager[2165]: <debug> [1596547149.419274]   subsystem: net
    ModemManager[2165]: <debug> [1596547149.419597]   name:      wwan0
    ModemManager[2165]: <debug> [1596547149.419917]   uid:       n/a
    ModemManager[2165]: <debug> [1596547149.420269] [rules] rules directory set to '/lib/udev/rules.d'...
    ModemManager[2165]: <debug> [1596547149.441522] [rules] loading rules from: /lib/udev/rules.d/77-mm-cinterion-port-types.rules
    ModemManager[2165]: <debug> [1596547149.447190] [rules] loading rules from: /lib/udev/rules.d/77-mm-dell-port-types.rules
    ModemManager[2165]: <debug> [1596547149.450693] [rules] loading rules from: /lib/udev/rules.d/77-mm-dlink-port-types.rules
    ModemManager[2165]: <debug> [1596547149.455154] [rules] loading rules from: /lib/udev/rules.d/77-mm-ericsson-mbm.rules
    ModemManager[2165]: <debug> [1596547149.471019] [rules] loading rules from: /lib/udev/rules.d/77-mm-haier-port-types.rules
    ModemManager[2165]: <debug> [1596547149.474891] [rules] loading rules from: /lib/udev/rules.d/77-mm-huawei-net-port-types.rules
    ModemManager[2165]: <debug> [1596547149.479374] [rules] loading rules from: /lib/udev/rules.d/77-mm-longcheer-port-types.rules
    ModemManager[2165]: <debug> [1596547149.502946] [rules] loading rules from: /lib/udev/rules.d/77-mm-mtk-port-types.rules
    ModemManager[2165]: <debug> [1596547149.510605] [rules] loading rules from: /lib/udev/rules.d/77-mm-nokia-port-types.rules
    ModemManager[2165]: <debug> [1596547149.516503] [rules] loading rules from: /lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules
    ModemManager[2165]: <debug> [1596547149.519873] [rules] loading rules from: /lib/udev/rules.d/77-mm-sierra.rules
    ModemManager[2165]: <debug> [1596547149.523567] [rules] loading rules from: /lib/udev/rules.d/77-mm-simtech-port-types.rules
    ModemManager[2165]: <debug> [1596547149.528589] [rules] loading rules from: /lib/udev/rules.d/77-mm-telit-port-types.rules
    ModemManager[2165]: <debug> [1596547149.534333] [rules] loading rules from: /lib/udev/rules.d/77-mm-ublox-port-types.rules
    ModemManager[2165]: <debug> [1596547149.541633] [rules] loading rules from: /lib/udev/rules.d/77-mm-usb-device-blacklist.rules
    ModemManager[2165]: <debug> [1596547149.557215] [rules] loading rules from: /lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules
    ModemManager[2165]: <debug> [1596547149.563367] [rules] loading rules from: /lib/udev/rules.d/77-mm-x22x-port-types.rules
    ModemManager[2165]: <debug> [1596547149.571845] [rules] loading rules from: /lib/udev/rules.d/77-mm-zte-port-types.rules
    ModemManager[2165]: <debug> [1596547149.596309] [rules] loading rules from: /lib/udev/rules.d/80-mm-candidate.rules
    ModemManager[2165]: <debug> [1596547149.600336] [rules] 658 loaded
    ModemManager[2165]: <debug> [1596547149.603486] (net/wwan0) preloading contents and properties...
    ModemManager[2165]: <debug> [1596547149.609474] (net/wwan0) sysfs path: /sys/devices/platform/ahb/700000.ehci/usb1/1-1/1-1:1.4/net/wwan0
    ModemManager[2165]: <debug> [1596547149.613092] (net/wwan0) interface sysfs path: /sys/devices/platform/ahb/700000.ehci/usb1/1-1/1-1:1.4
    ModemManager[2165]: <debug> [1596547149.615719] (net/wwan0) interface class: 0xff
    ModemManager[2165]: <debug> [1596547149.617017] (net/wwan0) interface subclass: 0xff
    ModemManager[2165]: <debug> [1596547149.618141] (net/wwan0) interface protocol: 0xff
    ModemManager[2165]: <debug> [1596547149.619283] (net/wwan0) interface number (ID_USB_INTERFACE_NUM): 0x04
    ModemManager[2165]: <debug> [1596547149.620292] (net/wwan0) physdev sysfs path: /sys/devices/platform/ahb/700000.ehci/usb1/1-1
    ModemManager[2165]: <debug> [1596547149.621393] (net/wwan0) manufacturer (ID_VENDOR): Mobile Connect
    ModemManager[2165]: <debug> [1596547149.622621] (net/wwan0) product (ID_MODEL): Mobile Connect
    ModemManager[2165]: <debug> [1596547149.640091] (net/wwan0) driver: qmi_wwan
    ModemManager[2165]: <debug> [1596547149.641160] (net/wwan0) vid (ID_VENDOR_ID): 0x2001
    ModemManager[2165]: <debug> [1596547149.642351] (net/wwan0) pid (ID_MODEL_ID): 0x7e35
    ModemManager[2165]: <debug> [1596547149.643761] (net/wwan0) subsystem: /sys/bus
    ModemManager[2165]: <debug> [1596547149.644740] (net/wwan0) property added: .MM_USBIFNUM=04
    ModemManager[2165]: <debug> [1596547149.646207] (net/wwan0) property added: .MM_USBIFNUM=04
    ModemManager[2165]: <debug> [1596547149.657478] (net/wwan0) property added: ID_MM_CANDIDATE=1
    ModemManager[2165]: <debug> [1596547149.659750] (net/wwan0): adding device at sysfs path: /sys/devices/platform/ahb/700000.ehci/usb1/1-1/1-1:1.4/net/wwan0
    ModemManager[2165]: <debug> [1596547149.661775] [filter] (net/wwan0) port allowed: net device
    ModemManager[2165]: <debug> [1596547149.663927] (net/wwan0): first port in device /sys/devices/platform/ahb/700000.ehci/usb1/1-1
    ModemManager[2165]: <debug> [1596547149.667145] [plugin manager] task 0: new support task for device: /sys/devices/platform/ahb/700000.ehci/usb1/1-1
    ModemManager[2165]: <debug> [1596547149.669267] [plugin manager] task 0: port grabbed: wwan0
    ModemManager[2165]: <debug> [1596547149.670108] [plugin manager] task 0,wwan0: new support task for port
    ModemManager[2165]: <debug> [1596547149.676406] [plugin manager) task 0,wwan0: deferred until min wait time elapsed
    ModemManager[2165]: <debug> [1596547151.170118] [plugin manager] task 0: min wait time elapsed
    ModemManager[2165]: <debug> [1596547151.170801] (Cinterion) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.174517] (Pantech) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.176674] (Ericsson MBM) [wwan0] filtered by implicit QMI driver
    ModemManager[2165]: <debug> [1596547151.178797] (AnyDATA) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.180614] (Sierra) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.182584] (Via CBP7) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.184390] (Haier) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.186707] (ZTE) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.188246] (Option High-Speed) [wwan0] filtered by drivers
    ModemManager[2165]: <debug> [1596547151.189934] (Novatel LTE) [wwan0] filtered by implicit QMI driver
    ModemManager[2165]: <debug> [1596547151.191523] (Nokia) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.193184] (Altair LTE) [wwan0] filtered by implicit QMI driver
    ModemManager[2165]: <debug> [1596547151.194567] (u-blox) [wwan0] filtered by implicit QMI driver
    ModemManager[2165]: <debug> [1596547151.195064] (Huawei) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.195917] (Thuraya) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.196415] (SimTech) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.196881] (Dell) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.197335] (Linktop) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.197796] (Nokia (Icera)) [wwan0] filtered by implicit QMI driver
    ModemManager[2165]: <debug> [1596547151.198447] (Samsung) [wwan0] filtered by implicit QMI driver
    ModemManager[2165]: <debug> [1596547151.201254] (Motorola) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.202047] (Iridium) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.211614] (X22X) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.213434] (Option) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.215451] (Telit) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.217371] (Quectel) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.219443] (Novatel) [wwan0] filtered by vendor/product IDs
    ModemManager[2165]: <debug> [1596547151.220174] (Wavecom) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.220898] (Sierra (legacy)) [wwan0] filtered by drivers
    ModemManager[2165]: <debug> [1596547151.221617] (Longcheer) [wwan0] filtered by subsystem
    ModemManager[2165]: <debug> [1596547151.222430] [plugin manager] task 0,wwan0: found '2' plugins to try
    ModemManager[2165]: <debug> [1596547151.223150] [plugin manager] task 0,wwan0: will try with plugin 'D-Link'
    ModemManager[2165]: <debug> [1596547151.223913] [plugin manager] task 0,wwan0: will try with plugin 'Generic'
    ModemManager[2165]: <debug> [1596547151.224725] [plugin manager) task 0,wwan0: started
    ModemManager[2165]: <debug> [1596547151.225446] [plugin manager] task 0,wwan0: checking with plugin 'D-Link'
    ModemManager[2165]: <debug> [1596547151.234264] (D-Link) [wwan0] probing deferred until result suggested
    ModemManager[2165]: <debug> [1596547151.235430] [plugin manager] task 0,wwan0: deferring support check until result suggested
    ModemManager[2165]: <debug> [1596547152.169553] [plugin manager] task 0: min probing time elapsed
    ModemManager[2165]: <debug> [1596547152.170067] [plugin Manager] task 0: still 1 running probes (0 active): wwan0
    ModemManager[2165]: <debug> [1596547152.170504] [plugin manager] task 0: no active tasks to probe
    ModemManager[2165]: <debug> [1596547152.173129] [plugin manager] task 0,wwan0: deferred task completed, no suggested plugin
    ModemManager[2165]: <debug> [1596547152.175214] [plugin manager] task 0,wwan0: finished in '2.505127' seconds
    ModemManager[2165]: <debug> [1596547152.177671] [plugin manager] task 0,wwan0: not supported by any plugin
    ModemManager[2165]: <debug> [1596547152.179248] [device /sys/devices/platform/ahb/700000.ehci/usb1/1-1] fully ignoring port 'net/wwan0' from now on
    ModemManager[2165]: <debug> [1596547152.180164] [plugin manager] task 0: no more ports to probe
    ModemManager[2165]: <debug> [1596547152.180953] [plugin manager] task 0: finished in '2.513838' seconds
    ModemManager[2165]: <info>  [1596547152.181979] Couldn't check support for device '/sys/devices/platform/ahb/700000.ehci/usb1/1-1': not supported by any plugin

Modem not supported. Can this really be the case? D-Link plugin for ModemManager exists and it mentions DWM-222.

I've then tried updating ModemManager (to 1.12.6 from 1.8.0), copy only the new plugins to the original ModemManager version I had, when that didn't help, I've updated the whole ModemManager package, tried this and that and at some point I got stuck back at the first problem - ModemManager not being able to acquire the 'org.freedesktop.ModemManager1' service name.

Can anyone offer any guidance how to proceed? Where to look, what to try? Any input would be greatly appreciated.

Thanks.

EEALNT
  • 145
  • 1
  • 13
  • How did you compile ModemManager? The GLib and "undefined symbol" errors are indicative of dependency version conflicts. What's the output of `ldd $(which ModemManager`? – galagora Sep 26 '20 at 15:54

1 Answers1

3

ModemManager[1624]: [1596559087.478888] Could not acquire the 'org.freedesktop.ModemManager1' service name

99.9% of the times this happens because ModemManager is already running in the system; e.g. started via init scripts or something like that. There is one s ingle system bus, and there can be one single process owning that well-known-name.

There's a 0.1% chance that this is due to a different issue, maybe a wrong installation or setup. There are a couple of warning/critical messages in your first log, which indicate your setup is actually wrong; it's like if you're running ModemManager from e.g. /usr/local but the daemon is loading the libmm-glib library from /usr/lib (instead of /usr/local). To make sure you're not making any mistake in ths regard, make sure you don't have any system-installed ModemManager (e.g. via your distro's packaging) and also make sure you don't have a previous custom installation anywhere. Then, when building your own ModemManager always use --prefix=/usr in the configure step, so that you avoid the /usr/local issue. See https://modemmanager.org/docs/modemmanager/building/#installing-in-usrlocal for more details.

ModemManager[2165]: <info>  [1596547152.181979] Couldn't check support for device '/sys/devices/platform/ahb/700000.ehci/usb1/1-1': not supported by any plugin

For your 2nd issue, as you're not building with udev support (is it in openwrt?), you're notifying the modem ports via mmcli. But... you're only notifying the wwan0 port (the data port). You must notify also the corresponding control port, which in the DWM-222 (QMI device) should have been a cdc-wdm port, e.g. cdc-wdm0. If you don't have such a port in your system, you may be missing the required cdc-wdm driver. Once you have notified BOTH the wwan0 port and the cdc-wdm0 port, in a very very short period of time (there's a limit for how much time you can spend between notifying ports of the same modem), then MM should manage the modem perfectly.

I've then tried updating ModemManager (to 1.12.6 from 1.8.0), copy only the new plugins to the original ModemManager version I had,

You cannot do that. When switching MM version, you must remove all old plugins and install all new plugins. You cannot just copy only the new plugins. The plugins of different versions are not compatible.

P.S.: the ModemManager mailing list would have been a much better place to ask: https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel

Aleksander
  • 640
  • 5
  • 13