Cinterion MV31-W modem support

ROSTANSKI Tomasz tomasz.rostanski at thalesgroup.com
Fri Jul 30 06:54:34 UTC 2021


Hi,

The change I made is for cinterion plugin only:
diff --git a/plugins/cinterion/mm-plugin-cinterion.c b/plugins/cinterion/mm-plugin-cinterion.c
index 48fbb1ac..fe97f900 100644
--- a/plugins/cinterion/mm-plugin-cinterion.c
+++ b/plugins/cinterion/mm-plugin-cinterion.c
@@ -181,9 +181,9 @@ grab_port (MMPlugin *self,
 G_MODULE_EXPORT MMPlugin *
 mm_plugin_create (void)
 {
-    static const gchar *subsystems[] = { "tty", "net", "usbmisc", NULL };
+    static const gchar *subsystems[] = { "tty", "net", "usbmisc", "wwan", NULL };
     static const gchar *vendor_strings[] = { "cinterion", "siemens", NULL };
-    static const guint16 vendor_ids[] = { 0x1e2d, 0x0681, 0 };
+    static const guint16 vendor_ids[] = { 0x1e2d, 0x0681, 0x1269, 0 };
     static const MMAsyncMethod custom_init = {
         .async  = G_CALLBACK (cinterion_custom_init),
         .finish = G_CALLBACK (cinterion_custom_init_finish),

The quectel plugins does not whitelist the 0x1269:
[...]
[5328]: <debug> [plugin-manager] loaded plugin 'quectel' from '/usr/lib/ModemManager/libmm-plugin-quect el.so'
[5328]: <debug> [filter] registered plugin whitelist vendor id: 2c7c
[5328]: <debug> [filter] registered plugin whitelist vendor id: 1eac
[5328]: <debug> [plugin-manager] loaded plugin 'pantech' from '/usr/lib/ModemManager/libmm-plugin-pante ch.so'
[...]
[5328]: <debug> [plugin-manager] task 10,wwan0mbim0: found '3' plugins to try
[5328]: <debug> [plugin-manager] task 10,wwan0mbim0: will try with plugin 'quectel'
[5328]: <debug> [plugin-manager] task 10,wwan0mbim0: will try with plugin 'cinterion'
[5328]: <debug> [plugin-manager] task 10,wwan0mbim0: will try with plugin 'generic'
[...]
So it's weird it matches the MV31-W modem

I also tried using the mbimcli directly but it does not work as well:
root at OpenWrt:~# mbimcli --query-device-caps -d /dev/wwan0mbim0 -v
[30 Jul 2021, 06:19:33] [Debug] opening device...
[30 Jul 2021, 06:19:34] [Debug] [/dev/wwan0mbim0] Couldn't query maximum message size: IOCTL_WDM_MAX_COMMAND failed: Not a tty
[30 Jul 2021, 06:19:34] [Debug] [/dev/wwan0mbim0] Couldn't find descriptors file, possibly not using cdc_mbim
[30 Jul 2021, 06:19:34] [Debug] [/dev/wwan0mbim0] Fallback to default max control message size: 4096
[30 Jul 2021, 06:19:34] [Debug] [/dev/wwan0mbim0] Sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:00:00:00:10:00:00:00:01:00:00:00:00:10:00:00

[30 Jul 2021, 06:19:34] [Debug] [/dev/wwan0mbim0] Sent message (translated)...
<<<<<< Header:
<<<<<<   length      = 16
<<<<<<   type        = open (0x00000001)
<<<<<<   transaction = 1
<<<<<< Contents:
<<<<<<   max control transfer = 4096
[...]
[30 Jul 2021, 06:19:59] [Debug] [/dev/wwan0mbim0] Sent message...
<<<<<< RAW:
<<<<<<   length = 16
<<<<<<   data   = 01:00:00:00:10:00:00:00:06:00:00:00:00:10:00:00

[30 Jul 2021, 06:19:59] [Debug] [/dev/wwan0mbim0] Sent message (translated)...
<<<<<< Header:
<<<<<<   length      = 16
<<<<<<   type        = open (0x00000001)
<<<<<<   transaction = 6
<<<<<< Contents:
<<<<<<   max control transfer = 4096

[30 Jul 2021, 06:20:04] [Debug] open operation timed out: closed
error: couldn't open the MbimDevice: Operation timed out: device is closed

Not sure if something interesting can be spotted here:
root at OpenWrt:~# grep "" /sys/kernel/debug/mhi/mhi0/*
/sys/kernel/debug/mhi/mhi0/channels:LOOPBACK(0) state: 0x0 brstmode: 0x2 pollcfg: 0x0 type: 0x1 event ring: 0 base: 0x0 len: 0x0 rp: 0x0 wp: 0x0 local rp: 0x0000000000000000 local wp: 0x0000000000000000 db: 0x0x0000000000000000
/sys/kernel/debug/mhi/mhi0/channels:LOOPBACK(1) state: 0x0 brstmode: 0x2 pollcfg: 0x0 type: 0x2 event ring: 0 base: 0x0 len: 0x0 rp: 0x0 wp: 0x0 local rp: 0x0000000000000000 local wp: 0x0000000000000000 db: 0x0x0000000000000000
/sys/kernel/debug/mhi/mhi0/channels:MBIM(12) state: 0x0 brstmode: 0x0 pollcfg: 0x0 type: 0x1 event ring: 0 base: 0x0 len: 0x0 rp: 0x0 wp: 0x0 local rp: 0x00000000298af610 local wp: 0x00000000298af610 db: 0x0x0000000074e4e060
/sys/kernel/debug/mhi/mhi0/channels:MBIM(13) state: 0x0 brstmode: 0x0 pollcfg: 0x0 type: 0x2 event ring: 0 base: 0x0 len: 0x0 rp: 0x0 wp: 0x0 local rp: 0x00000000680319b8 local wp: 0x00000000680319b8 db: 0x0x00000000730183f0
/sys/kernel/debug/mhi/mhi0/channels:DUN(32) state: 0x0 brstmode: 0x2 pollcfg: 0x0 type: 0x1 event ring: 0 base: 0x0 len: 0x0 rp: 0x0 wp: 0x0 local rp: 0x0000000000000000 local wp: 0x0000000000000000 db: 0x0x0000000000000000
/sys/kernel/debug/mhi/mhi0/channels:DUN(33) state: 0x0 brstmode: 0x2 pollcfg: 0x0 type: 0x2 event ring: 0 base: 0x0 len: 0x0 rp: 0x0 wp: 0x0 local rp: 0x0000000000000000 local wp: 0x0000000000000000 db: 0x0x0000000000000000
/sys/kernel/debug/mhi/mhi0/channels:IP_HW0_MBIM(100) state: 0x3 brstmode: 0x3 pollcfg: 0x0 type: 0x1 event ring: 2 base: 0x7d018000 len: 0x2000 rp: 0x1007d018000 wp: 0x7d018000 local rp: 0x0000000076b3677a local wp: 0x0000000076b3677a db: 0x0x0000000000000000
/sys/kernel/debug/mhi/mhi0/channels:IP_HW0_MBIM(101) state: 0x3 brstmode: 0x3 pollcfg: 0x0 type: 0x2 event ring: 3 base: 0x7d01c000 len: 0x2000 rp: 0x1007d01c000 wp: 0x7d01c000 local rp: 0x0000000034401564 local wp: 0x0000000034401564 db: 0x0x0000000000000000
/sys/kernel/debug/mhi/mhi0/device_wake:Wake count: 0
/sys/kernel/debug/mhi/mhi0/device_wake:Usage: echo get/put > device_wake to vote/unvote for M0
/sys/kernel/debug/mhi/mhi0/devices:mhi0: type: Controller dev_wake: 0
/sys/kernel/debug/mhi/mhi0/devices:LOOPBACK: type: Transfer dev_wake: 0 channels: 0(UL)/1(DL)
/sys/kernel/debug/mhi/mhi0/devices:MBIM: type: Transfer dev_wake: 0 channels: 12(UL)/13(DL)
/sys/kernel/debug/mhi/mhi0/devices:DUN: type: Transfer dev_wake: 0 channels: 32(UL)/33(DL)
/sys/kernel/debug/mhi/mhi0/devices:IP_HW0_MBIM: type: Transfer dev_wake: 0 channels: 100(UL)/101(DL)
/sys/kernel/debug/mhi/mhi0/events:Index: 0 intmod count: 0 time: 0 base: 0x7d002000 len: 0x1000 rp: 0x7d002180 wp: 0x7d002170 local rp: 0x000000003c6b2158 db: 0x0x000000007d002160
/sys/kernel/debug/mhi/mhi0/events:Index: 1 intmod count: 0 time: 5 base: 0x7d004000 len: 0x1000 rp: 0x7d004000 wp: 0x7d004ff0 local rp: 0x00000000157b4460 db: 0x0x000000007d004ff0
/sys/kernel/debug/mhi/mhi0/events:Index: 2 intmod count: 0 time: 1 base: 0x7d008000 len: 0x4000 rp: 0x7d008000 wp: 0x7d00bff0 local rp: 0x0000000035452f1e db: 0x0x000000007d00bff0
/sys/kernel/debug/mhi/mhi0/events:Index: 3 intmod count: 0 time: 1 base: 0x7d010000 len: 0x4000 rp: 0x7d010000 wp: 0x7d013ff0 local rp: 0x000000006057ed08 db: 0x0x000000007d013ff0
/sys/kernel/debug/mhi/mhi0/states:PM state: M3 Device: Active MHI state: M3 EE: MISSION MODE wake: false
/sys/kernel/debug/mhi/mhi0/states:M0: 2 M2: 0 M3: 2 device wake: 0 pending packets: 0
/sys/kernel/debug/mhi/mhi0/timeout_ms:20000 ms

Thank you,
Tomasz
	
-----Original Message-----
From: Aleksander Morgado <aleksander at aleksander.es> 
Sent: Thursday, July 29, 2021 3:49 PM
To: ROSTANSKI Tomasz <tomasz.rostanski at thalesgroup.com>
Cc: modemmanager-devel at lists.freedesktop.org
Subject: Re: Cinterion MV31-W modem support

Hey,

> I have modified the plugin as suggested.
> There's some progress but no success yet.
>
> I have started Modem Manager, then executed (we're running on openwrt with no udev):
> mmcli --report-kernel-event="action=add,subsystem=wwan,name=wwan0mbim0"
>
> And then observed that Modem Manager tried talking to modem using QMI first and them MBIM but without success. The log is below.
>

Ok. I think you're the first ones I know of doing that testing :)

> Thanks,
> Tomasz
>
> root at OpenWrt:~# ls /dev/wwan*
> /dev/wwan0at0    /dev/wwan0mbim0
>
> [7442]: <debug> [base-manager] kernel event reported:
> [7442]: <debug> [base-manager]   action:    add
> [7442]: <debug> [base-manager]   subsystem: wwan
> [7442]: <debug> [base-manager]   name:      wwan0mbim0
> [7442]: <debug> [base-manager]   uid:       n/a
> [7442]: <debug> [wwan0mbim0] preloading contents and properties...
> [7442]: <debug> [wwan0mbim0] sysfs path: 
> /sys/devices/platform/soc at 0/884057000000.pci/pci0002:57/0002:57:00.0/0
> 002:58:00.0/mhi0/wwan/wwan0/wwan0mbim0
> [7442]: <debug> [wwan0mbim0] port contents loaded:
> [7442]: <debug> [wwan0mbim0]   bus: pci
> [7442]: <debug> [wwan0mbim0]   device: /sys/devices/platform/soc at 0/884057000000.pci/pci0002:57/0002:57:00.0
> [7442]: <debug> [wwan0mbim0]   subsystems: wwan, mhi, pci
> [7442]: <debug> [wwan0mbim0]   drivers: mhi-pci-generic, pcieport
> [7442]: <debug> [wwan0mbim0]   vendor: 177d
> [7442]: <debug> [wwan0mbim0]   product: a22d
> [7442]: <debug> [wwan0mbim0]   revision: 0002
> [7442]: <debug> [wwan0mbim0]   ID_VENDOR_ID: 0x177d
> [7442]: <debug> [wwan0mbim0]   ID_MODEL_ID: 0xa22d
> [7442]: <debug> [wwan0mbim0]   ID_REVISION: 0x0002
> [7442]: <debug> [wwan0mbim0] property added: ID_MM_CANDIDATE=1
> [7442]: <warn>  [wwan0mbim0] unknown match condition parameter: 
> ATTR{type}
> [7442]: <warn>  [wwan0mbim0] unknown match condition parameter: 
> ATTR{type}
> [7442]: <warn>  [wwan0mbim0] unknown match condition parameter: 
> ATTR{type}
> [7442]: <warn>  [wwan0mbim0] unknown match condition parameter: 
> ATTR{type}
> [7442]: <warn>  [wwan0mbim0] unknown match condition parameter: 
> ATTR{type}
> [7442]: <warn>  [wwan0mbim0] invalid pattern in rule '*MBIM': Error 
> while compiling regular expression *MBIM at char 0: nothing to repeat
> [7442]: <warn>  [wwan0mbim0] invalid pattern in rule '*QMI': Error 
> while compiling regular expression *QMI at char 0: nothing to repeat
> [7442]: <warn>  [wwan0mbim0] invalid pattern in rule '*AT': Error 
> while compiling regular expression *AT at char 0: nothing to repeat
> [7442]: <warn>  [wwan0mbim0] invalid pattern in rule '*QCDM': Error 
> while compiling regular expression *QCDM at char 0: nothing to repeat
> [7442]: <warn>  [wwan0mbim0] invalid pattern in rule '*FIREHOSE': 
> Error while compiling regular expression *FIREHOSE at char 0: nothing 
> to repeat

Those warnings above show that the current available rules to flag port type hints based on either type or name are failing badly when using the limited built-in udev parser. I've opened this issue to track it: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/410

> [7442]: <debug> [base-manager] adding port wwan0mbim0 at sysfs path: 
> /sys/devices/platform/soc at 0/884057000000.pci/pci0002:57/0002:57:00.0/0
> 002:58:00.0/mhi0/wwan/wwan0/wwan0mbim0
> [7442]: <debug> [filter] (wwan/wwan0mbim0) port allowed: wwan device
> [7442]: <debug> [base-manager] port wwan0mbim0 is first in device 
> /sys/devices/platform/soc at 0/884057000000.pci/pci0002:57/0002:57:00.0
> [7442]: <debug> [plugin-manager] task 2: new support task for device: 
> /sys/devices/platform/soc at 0/884057000000.pci/pci0002:57/0002:57:00.0
> [7442]: <debug> [plugin-manager] task 2: port grabbed: wwan0mbim0
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: new support task 
> for port
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: deferred until min 
> wait time elapsed
> [7442]: <debug> [plugin-manager] task 2: min wait time elapsed
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: found '3' plugins 
> to try
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: will try with plugin 'quectel'
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: will try with plugin 'cinterion'
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: will try with plugin 'generic'
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: started
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: checking with plugin 'quectel'

Wait what, it should not attempt to try with the quectel plugin at all. Can you share what specific changes you did? Did you by any chance modify the quectel plugin to add the cinterion PCI vid as a test?

> [7442]: <debug> [plugin/quectel] probes required for port wwan0mbim0: 'at, at-vendor, qcdm, qmi, mbim'
> [7442]: <debug> [wwan0mbim0/probe] launching port probing: 'at, at-vendor, qcdm, qmi, mbim'
> [7442]: <debug> [plugin-manager] task 2: extra probing time elapsed
> [7442]: <debug> [plugin-manager] task 2: still 1 running probes (1 
> active): wwan0mbim0
> [7442]: <debug> [wwan0mbim0/at] opening serial port...
> [7442]: <debug> [wwan0mbim0/at] device open count is 1 (open)
> [7442]: <debug> [wwan0mbim0/at] --> 'AT<CR><LF>'
> [7442]: <debug> [plugin-manager] task 2: min probing time elapsed
> [7442]: <debug> [plugin-manager] task 2: still 1 running probes (1 
> active): wwan0mbim0
> [7442]: <debug> [wwan0mbim0/at] --> 'AT<CR><LF>'
> [7442]: <debug> [wwan0mbim0/at] --> 'AT<CR><LF>'
> [7442]: <debug> [wwan0mbim0/probe] port is not AT-capable
> [7442]: <debug> [wwan0mbim0/probe] probing QCDM...
> [7442]: <debug> [wwan0mbim0/at] device open count is 0 (close)
> [7442]: <debug> [wwan0mbim0/at] closing serial port...
> [7442]: <debug> [wwan0mbim0/at] serial port closed
> [7442]: <debug> [wwan0mbim0/at] forced to close port
> [7442]: <debug> [wwan0mbim0/qcdm] opening serial port...
> [7442]: <debug> [wwan0mbim0/qcdm] device open count is 1 (open)
> [7442]: <debug> [wwan0mbim0/qcdm] --> 7e 00 78 f0 7e
> [7442]: <debug> [wwan0mbim0/qcdm] --> 7e 00 78 f0 7e
> [7442]: <debug> [wwan0mbim0/probe] port is not QCDM-capable
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: checking with plugin 'cinterion'
> [7442]: <debug> [plugin/cinterion] subsystem wwan match
> [7442]: <debug> [plugin/cinterion] port wwan0mbim0 matched pre filters
> [7442]: <debug> [plugin/cinterion] probes required for port wwan0mbim0: 'at, at-vendor, qmi, mbim'
> [7442]: <debug> [wwan0mbim0/probe] launching port probing: 'qmi, mbim'
> [7442]: <debug> [wwan0mbim0/qcdm] device open count is 0 (close)
> [7442]: <debug> [wwan0mbim0/qcdm] closing serial port...
> [7442]: <debug> [wwan0mbim0/qcdm] serial port closed
> [7442]: <debug> [wwan0mbim0/qcdm] forced to close port
> [7442]: <debug> [wwan0mbim0/probe] probing QMI...
> [7442]: <debug> [wwan0mbim0/qmi] Opening QMI device...
> [7442]: <debug> [wwan0mbim0/qmi] Checking if QMI device already opening...
> [7442]: <debug> [wwan0mbim0/qmi] Checking if QMI device already open...
> [7442]: <debug> [wwan0mbim0/qmi] Creating QMI device...
> [7442]: <debug> [wwan0mbim0/qmi] Opening device with flags: version-info, proxy...
> [7442]: [/dev/wwan0mbim0] Opening device with flags 'version-info, proxy'...
> [7442]: [/dev/wwan0mbim0] requested QMI mode but unexpected transport 
> type found
> [7442]: [/dev/wwan0mbim0] created endpoint
> [7442]: cannot connect to proxy: Could not connect: Connection refused
> [7442]: spawning new qmi-proxy (try 1)...
> [7442]: [/dev/wwan0mbim0] Sent message...
> <<<<<< RAW:
> <<<<<<   length = 30
> <<<<<<   data   = 01:1D:00:00:00:00:00:01:00:FF:12:00:01:0F:00:2F:64:65:76:2F:77:77:61:6E:30:6D:62:69:6D:30
> [7442]: [/dev/wwan0mbim0] Sent generic request (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 29
> <<<<<<   flags   = 0x00
> <<<<<<   service = "ctl"
> <<<<<<   client  = 0
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 18
> <<<<<<   message     = "Internal Proxy Open" (0xFF00)
> <<<<<< TLV:
> <<<<<<   type       = "Device Path" (0x01)
> <<<<<<   length     = 15
> <<<<<<   value      = 2F:64:65:76:2F:77:77:61:6E:30:6D:62:69:6D:30
> <<<<<<   translated = /dev/wwan0mbim0
> [7442]: [/dev/wwan0mbim0] Received message...
> <<<<<< RAW:
> <<<<<<   length = 19
> <<<<<<   data   = 01:12:00:80:00:00:01:01:00:FF:07:00:02:04:00:00:00:00:00
> [7442]: [/dev/wwan0mbim0] Received generic response (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 18
> <<<<<<   flags   = 0x80
> <<<<<<   service = "ctl"
> <<<<<<   client  = 0
> <<<<<< QMI:
> <<<<<<   flags       = "response"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 7
> <<<<<<   message     = "Internal Proxy Open" (0xFF00)
> <<<<<< TLV:
> <<<<<<   type       = "Result" (0x02)
> <<<<<<   length     = 4
> <<<<<<   value      = 00:00:00:00
> <<<<<<   translated = SUCCESS
> [7442]: [/dev/wwan0mbim0] Checking version info (45 retries)...
> [7442]: [/dev/wwan0mbim0] Sent message...
> <<<<<< RAW:
> <<<<<<   length = 12
> <<<<<<   data   = 01:0B:00:00:00:00:00:02:21:00:00:00
> [7442]: [/dev/wwan0mbim0] Sent generic request (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 11
> <<<<<<   flags   = 0x00
> <<<<<<   service = "ctl"
> <<<<<<   client  = 0
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 2
> <<<<<<   tlv_length  = 0
> <<<<<<   message     = "Get Version Info" (0x0021)
> [7442]: transaction 0x2 aborted, but message is not abortable ...
> [7442]: <debug> [wwan0mbim0/qmi] QMI port open operation failed: 
> Transaction timed out
> [7442]: <debug> [wwan0mbim0/probe] error checking QMI support: 
> Transaction timed out
> [7442]: <debug> [wwan0mbim0/probe] port is not QMI-capable
> [7442]: <debug> [wwan0mbim0/probe] probing MBIM...
> [7442]: opening device...
> [7442]: cannot connect to proxy: Could not connect: Connection refused
> [7442]: spawning new mbim-proxy (try 1)...
> [7442]: [/dev/wwan0mbim0] Couldn't find descriptors file, possibly not 
> using cdc_mbim
> [7442]: [/dev/wwan0mbim0] Fallback to default max control message 
> size: 4096
> [7442]: [/dev/wwan0mbim0] Sent message...
> <<<<<< RAW:
> <<<<<<   length = 92
> <<<<<<   data   = 03:00:00:00:5C:00:00:00:01:00:00:00:01:00:00:00:00:00:00:00:83:8C:F7:FB:8D:0D:4D:7F:87:1E:D7:1D:BE:FB:B3:9B:01:00:00:00:01:00:00:00:2C:00:00:00:0C:00:00:00:1E:00:00:00:2D:00:00:00:2F:00:64:00:65:00:76:00:2F:00:77:00:77:00:61:00:6E:00:30:00:6D:00:62:00:69:00:6D:00:30:00:00:00
> [7442]: [/dev/wwan0mbim0] Sent message (translated)...
> <<<<<< Header:
> <<<<<<   length      = 92
> <<<<<<   type        = command (0x00000003)
> <<<<<<   transaction = 1
> <<<<<< Fragment header:
> <<<<<<   total   = 1
> <<<<<<   current = 0
> <<<<<< Contents:
> <<<<<<   service = 'proxy-control' (838cf7fb-8d0d-4d7f-871e-d71dbefbb39b)
> <<<<<<   cid     = 'configuration' (0x00000001)
> <<<<<<   type    = 'set' (0x00000001)
> <<<<<< Fields:
> <<<<<<   DevicePath = '/dev/wwan0mbim0'
> <<<<<<   Timeout = '45'
> [7442]: proxy configuration failed: closed
> [7442]: <debug> [wwan0mbim0/probe] error checking MBIM support: 
> Transaction timed out
> [7442]: <debug> [wwan0mbim0/probe] port is not MBIM-capable
> [7442]: [/dev/wwan0mbim0] channel destroyed
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: checking with plugin 'generic'
> [7442]: <debug> [plugin/generic] subsystem wwan match
> [7442]: <debug> [plugin/generic] port wwan0mbim0 matched pre filters
> [7442]: <debug> [plugin/generic] probes required for port wwan0mbim0: 'at, qcdm, qmi, mbim'
> [7442]: <debug> [wwan0mbim0/probe] port probing finished: no more 
> probings needed
> [7442]: <debug> [plugin/generic] port wwan0mbim0 matched post filters
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: found best plugin 
> for port (generic)
> [7442]: <debug> [plugin-manager] task 2,wwan0mbim0: finished in 
> '107.328048' seconds
> [7442]: <debug> [plugin-manager] task 2: no more ports to probe
> [7442]: <debug> [plugin-manager] task 2: finished in '107.328514' 
> seconds
> [7442]: <info>  [device 
> /sys/devices/platform/soc at 0/884057000000.pci/pci0002:57/0002:57:00.0] 
> creating modem with plugin 'generic' and '1' ports
> [7442]: <debug> [plugin/generic] subsystem wwan match
> [7442]: <warn>  [plugin/generic] could not grab port wwan0mbim0: 
> Cannot add port 'wwan/wwan0mbim0', unhandled port type
> [7442]: <debug> [modem0] completely disposed
> [7442]: <warn>  [base-manager] couldn't create modem for device 
> '/sys/devices/platform/soc at 0/884057000000.pci/pci0002:57/0002:57:00.0'
> : Failed to find primary AT port
>

I assume here that maybe trying QMI first and then MBIM could have caused some issues. Once we solve the port type hints, that problem should go away.

Did you try to use mbimcli directly on the /dev/wwan0mbim0 port? Did that work?

--
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list