Alcatel HH41V (MDM9207) modemmanager not showing device - mbim not connecting

Hardware:

  • Alcatel HH40V

  • Internal Qualcomm modem (MDM9207 based)

  • OpenWrt 25.12.4

Background:

The modem works correctly in its default USB mode:

VID = 1bbb:0196

In this mode OpenWrt sees:

  • RNDIS network interface

  • Three serial ports (option driver)

  • USB storage interface

The modem firmware contains several Qualcomm USB compositions:

901D
9021
9022
9024
9025
902B
902D
9049
904A
9056
9057
9059
9060
9063
9064
9067
9084
9085
9091
90A1
90A9
90AD
90B1

I switched the modem to composition 9063.

USB descriptor shows three configurations:

Configuration 1:

  • RNDIS

Configuration 2:

  • ECM

Configuration 3:

  • MBIM

After selecting configuration 3:

echo 3 > /sys/bus/usb/devices/1-1/bConfigurationValue

the kernel loads cdc_mbim successfully:

cdc_mbim 1-1:3.0: cdc-wdm0: USB WDM device
cdc_mbim 1-1:3.0 wwan0: register 'cdc_mbim'

The following devices are created:

/dev/cdc-wdm0
wwan0

USB descriptors confirm MBIM:

Cfg#=3
Cls=02 (Communications)
Sub=0e (MBIM)
Driver=cdc_mbim

Observed behavior:

  1. luci-proto-mbim detects the MBIM interface and attempts to use it.

  2. However, connection attempts fail and LuCI reports:

"PIN code rejected"

  1. Direct MBIM communication also fails.

Examples:

umbim -v -d /dev/cdc-wdm0 caps

Result:

ERROR: mbim message timeout

umbim -v -d /dev/cdc-wdm0 pinstate

Result:

ERROR: mbim message timeout

umbim -v -d /dev/cdc-wdm0 subscriber

Result:

ERROR: mbim message timeout

  1. ModemManager behavior is different:
  • cdc_mbim loads correctly.

  • /dev/cdc-wdm0 exists.

  • wwan0 exists.

  • Hotplug events are generated.

However ModemManager does not appear to detect or expose a usable modem device and no manageable modem becomes available.

Additional observations:

  • cdc_mbim binds successfully every time.

  • No obvious kernel errors appear in dmesg.

  • MBIM control messages never receive a response.

  • The issue appears to be deeper than a SIM PIN problem because even basic MBIM queries time out.

Questions:

  1. Has this behavior been observed on Qualcomm MDM9207 based devices?

  2. Is it possible that this firmware exposes MBIM descriptors while not implementing a functional MBIM control channel?

  3. Are there known Qualcomm-specific MBIM quirks required for older modem firmware?

  4. Why would luci-proto-mbim detect the MBIM interface while ModemManager does not create a usable modem object?

  5. What additional debugging steps would help determine whether the firmware actually supports MBIM messaging?

I can provide:

  • full dmesg logs

  • lsusb -v output

  • USB descriptors

  • composition scripts from the modem firmware

  • ModemManager debug logs

Note: with qmi i can connect with uqmi luci-proto-qmi but there are lot of problems so i left it. but ModemManager cant detect the device also with qmi mode.

i have switched the modem to 9091 compositions

root@OpenWrt:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 05c6:9091 Qualcomm, Inc. Intex Aqua Fish & Jolla C Diagnostic Mode
root@OpenWrt:~# lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
|__ Port 001: Dev 003, If 0, Class=[unknown], Driver=[none], 480M
|__ Port 001: Dev 003, If 1, Class=[unknown], Driver=[none], 480M
|__ Port 001: Dev 003, If 2, Class=[unknown], Driver=qmi_wwan, 480M
root@OpenWrt:~# ls /dev
bus        hwrng      mtd1ro     mtd4ro     mtd7ro     mtdblock5  ptmx       stdout     ttyS12     ttyS4      urandom
cdc-wdm0   kmsg       mtd2       mtd5       mtdblock0  mtdblock6  pts        tty        ttyS13     ttyS5      watchdog
console    log        mtd2ro     mtd5ro     mtdblock1  mtdblock7  random     ttyS0      ttyS14     ttyS6      zero
fd         mtd0       mtd3       mtd6       mtdblock2  null       shm        ttyS1      ttyS15     ttyS7
full       mtd0ro     mtd3ro     mtd6ro     mtdblock3  port       stderr     ttyS10     ttyS2      ttyS8
gpiochip0  mtd1       mtd4       mtd7       mtdblock4  ppp        stdin      ttyS11     ttyS3      ttyS9
root@OpenWrt:~# dmesg
[    0.000000] Linux version 6.12.87 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r32933-4ccb782af7) 14.3.0, GNU ld (GNU Binutils) 2.44) #0 Wed May 13 22:42:09 2026
[    0.000000] printk: legacy bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] MIPS: machine is Alcatel HH40V
[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in the DT
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=132768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Kernel command line: console=ttyS0,115200n8 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32768
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 650.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[    0.000002] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[    0.008305] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[    0.074884] pid_max: default: 32768 minimum: 301
[    0.091872] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.099603] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.119128] Memory: 118964K/131072K available (7190K kernel code, 606K rwdata, 956K rodata, 1224K init, 240K bss, 11556K reserved, 0K cma-reserved)
[    0.138054] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.148501] futex hash table entries: 256 (order: 0, 3072 bytes, linear)
[    0.164077] pinctrl core: initialized pinctrl subsystem
[    0.173221] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.180218] thermal_sys: Registered thermal governor 'step_wise'
[    0.200700] clocksource: Switched to clocksource MIPS
[    0.226057] NET: Registered PF_INET protocol family
[    0.231529] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.240975] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.249935] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.259379] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.267510] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.275001] TCP: Hash tables configured (established 1024 bind 1024)
[    0.282260] MPTCP token hash table entries: 512 (order: 1, 6144 bytes, linear)
[    0.290181] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.297153] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.305644] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.311734] PCI: CLS 0 bytes, default 32
[    0.320239] workingset: timestamp_bits=14 max_order=15 bucket_order=1
[    0.329206] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.335424] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.350334] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.362379] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[    0.375303] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.387852] printk: legacy console [ttyS0] disabled
[    0.393751] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 10, base_baud = 1562500) is a 16550A
[    0.403056] printk: legacy console [ttyS0] enabled
[    0.413458] printk: legacy bootconsole [early0] disabled
[    0.446743] 5 fixed-partitions partitions found on MTD device spi0.0
[    0.453745] Creating 5 MTD partitions on "spi0.0":
[    0.458718] 0x000000000000-0x000000040000 : "u-boot"
[    0.466618] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.473843] 0x000000050000-0x000000150000 : "oem"
[    0.480280] 0x000000150000-0x000000ff0000 : "firmware"
[    0.487516] 2 uimage-fw partitions found on MTD device firmware
[    0.493725] Creating 2 MTD partitions on "firmware":
[    0.498867] 0x000000000000-0x0000002a0000 : "kernel"
[    0.505599] 0x0000002a0000-0x000000ea0000 : "rootfs"
[    0.512329] mtd: setting mtd5 (rootfs) as root device
[    0.517658] 1 squashfs-split partitions found on MTD device rootfs
[    0.524170] 0x000000850000-0x000000ea0000 : "rootfs_data"
[    0.531404] 0x000000ff0000-0x000001000000 : "art"
[    0.880312] switch0: Atheros AR8229 rev. 1 switch registered on mdio.0
[    1.311948] ag71xx-legacy 19000000.eth: connected to PHY at mdio.0:1f:04 [uid=004dd042, driver=Qualcomm Atheros QCA9561 built-in PHY]
[    1.325156] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[    1.652905] ag71xx-legacy 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.663716] eth1: Atheros AG71xx at 0xba000000, irq 5, mode: gmii
[    1.670606] i2c_dev: i2c /dev entries driver
[    1.677738] NET: Registered PF_INET6 protocol family
[    1.690065] Segment Routing with IPv6
[    1.694067] In-situ OAM (IOAM) with IPv6
[    1.698308] NET: Registered PF_PACKET protocol family
[    1.703649] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.717402] 8021q: 802.1Q VLAN Support v1.8
[    1.751063] clk: Disabling unused clocks
[    1.763956] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    1.777760] Freeing unused kernel image (initmem) memory: 1224K
[    1.783943] This architecture does not have kernel memory protection.
[    1.790609] Run /sbin/init as init process
[    1.794850]   with arguments:
[    1.794858]     /sbin/init
[    1.794867]   with environment:
[    1.794873]     HOME=/
[    1.794881]     TERM=linux
[    2.574080] init: Console is alive
[    2.578066] init: - watchdog -
[    4.057780] kmodloader: loading kernel modules from /etc/modules-boot.d/
[    4.141246] usbcore: registered new interface driver usbfs
[    4.147010] usbcore: registered new interface driver hub
[    4.152729] usbcore: registered new device driver usb
[    4.166683] gpio_button_hotplug: loading out-of-tree module taints kernel.
[    4.185897] ehci-platform 1b000000.usb: EHCI Host Controller
[    4.191960] ehci-platform 1b000000.usb: new USB bus registered, assigned bus number 1
[    4.200230] ehci-platform 1b000000.usb: irq 3, io mem 0x1b000000
[    4.220721] ehci-platform 1b000000.usb: USB 2.0 started, EHCI 1.00
[    4.228563] hub 1-0:1.0: USB hub found
[    4.232942] hub 1-0:1.0: 1 port detected
[    4.241791] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.250647] init: - preinit -
[    4.591366] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    6.840738] random: crng init done
[    8.353187] eth1: link up (1000Mbps/Full duplex)
[   12.825915] jffs2: notice: (566) jffs2_build_xattr_subsystem: complete building xattr subsystem, 50 of xdatum (45 unchecked, 5 orphan) and 74 of xref (13 dead, 0 orphan) found.
[   12.844941] mount_root: switching to jffs2 overlay
[   12.890509] overlayfs: upper fs does not support tmpfile.
[   12.903448] urandom-seed: Seeding with /etc/urandom.seed
[   13.064532] eth1: link down
[   13.085187] procd: - early -
[   13.088544] procd: - watchdog -
[   13.884746] procd: - watchdog -
[   13.889410] procd: - ubus -
[   14.141546] procd: - init -
[   19.737466] kmodloader: loading kernel modules from /etc/modules.d/*
[   20.661675] urngd: v1.0.2 started.
[   23.404866] usbcore: registered new interface driver cdc_wdm
[   23.411950] Loading modules backported from Linux version v6.18.26-0-g1fe060681
[   23.419538] Backport generated by backports.git 6ecbb44
[   23.452457] usbcore: registered new interface driver usbserial_generic
[   23.459309] usbserial: USB Serial support registered for generic
[   23.469202] usbcore: registered new interface driver cdc_ether
[   23.488026] usbcore: registered new interface driver cdc_ncm
[   23.851445] PPP generic driver version 2.4.2
[   23.857431] NET: Registered PF_PPPOX protocol family
[   23.889694] usbcore: registered new interface driver qmi_wwan
[   24.002814] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-1b000000.usb-1, RNDIS device, 16:d7:5d:b3:16:60
[   24.013782] usbcore: registered new interface driver rndis_host
[   24.068029] usbcore: registered new interface driver cdc_mbim
[   24.085887] usbcore: registered new interface driver option
[   24.091834] usbserial: USB Serial support registered for GSM modem (1-port)
[   24.155726] ath: EEPROM regdomain: 0x0
[   24.155763] ath: EEPROM indicates default country code should be used
[   24.155771] ath: doing EEPROM country->regdmn map search
[   24.155790] ath: country maps to regdmn code: 0x3a
[   24.155800] ath: Country alpha2 being used: US
[   24.155809] ath: Regpair used: 0x3a
[   24.167966] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   24.169040] ieee80211 phy0: Atheros AR9531 Rev:2 mem=0xa0b6163e, irq=11
[   24.202044] kmodloader: done loading kernel modules from /etc/modules.d/*
[   57.036330] eth1: link up (1000Mbps/Full duplex)
[   57.043212] br-lan: port 1(eth1) entered blocking state
[   57.048650] br-lan: port 1(eth1) entered disabled state
[   57.054164] ag71xx-legacy 1a000000.eth eth1: entered allmulticast mode
[   57.061245] ag71xx-legacy 1a000000.eth eth1: entered promiscuous mode
[   57.104399] br-lan: port 1(eth1) entered blocking state
[   57.109839] br-lan: port 1(eth1) entered forwarding state
[   61.865608] br-lan: port 2(phy0-ap0) entered blocking state
[   61.871466] br-lan: port 2(phy0-ap0) entered disabled state
[   61.877295] ath9k 18100000.wmac phy0-ap0: entered allmulticast mode
[   61.884145] ath9k 18100000.wmac phy0-ap0: entered promiscuous mode
[   61.937011] ath: EEPROM regdomain: 0x800c
[   61.941255] ath: EEPROM indicates we should expect a country code
[   61.947550] ath: doing EEPROM country->regdmn map search
[   61.953085] ath: country maps to regdmn code: 0x5a
[   61.958044] ath: Country alpha2 being used: DZ
[   61.962644] ath: Regpair used: 0x5a
[   61.966405] ath: regdomain 0x800c dynamically updated by user
[   72.070964] br-lan: port 2(phy0-ap0) entered blocking state
[   72.076767] br-lan: port 2(phy0-ap0) entered forwarding state
[   79.062755] option 1-1:1.2: GSM modem (1-port) converter detected
[   79.069450] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[   79.077379] option 1-1:1.3: GSM modem (1-port) converter detected
[   79.084162] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[   79.092095] option 1-1:1.4: GSM modem (1-port) converter detected
[   79.098746] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
[  179.442055] usb 1-1: USB disconnect, device number 2
[  179.449961] rndis_host 1-1:1.0 usb0: unregister 'rndis_host' usb-1b000000.usb-1, RNDIS device
[  179.477641] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[  179.486185] option 1-1:1.2: device disconnected
[  179.491371] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1
[  179.499913] option 1-1:1.3: device disconnected
[  179.505194] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[  179.513615] option 1-1:1.4: device disconnected
[  180.933551] usb 1-1: new high-speed USB device number 3 using ehci-platform
[  181.183990] qmi_wwan 1-1:1.2: cdc-wdm0: USB WDM device
[  181.210666] qmi_wwan 1-1:1.2 wwan0: register 'qmi_wwan' at usb-1b000000.usb-1, WWAN/QMI device, 3e:b6:b4:2b:99:3c
root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 6.12
S:  Manufacturer=Linux 6.12.87 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=1b000000.usb
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=05c6 ProdID=9091 Rev=10.00
S:  Manufacturer=Alcatel
S:  Product=Mobilebroadband
S:  SerialNumber=1234567890ABCDEF
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E:  Ad=85(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

in luci when i add modemmanager interface it cant detect the device. why?

i have all theses packages installed:

kmod-usb-serial kmod-usb-net kmod-usb-serial-wwan kmod-usb-serial-option kmod-usb-net-qmi-wwan kmod-usb-net-cdc-mbim modemmanager luci-proto-modemmanager

also: how to activate the other 2 drviers not listed? i think one is the at port and the other is adb?

You need to add your device to the driver on each and every boot:
echo "05c6 9091 ff" > /sys/bus/usb-serial/drivers/option1/new_id
The interfaces you have at the moment are probably DIAG and MODEM.
There is no ADB there.
I wonder how you change compositions?

thank you. i have twro ttyusb ports now.
but why this echo "05c6 9091 ff" > /sys/bus/usb-serial/drivers/option1/new_id works
and this echo "05c6 9091" > /sys/bus/usb-serial/drivers/option1/new_id did not work?

this is how i changed the composition:
adb devices
adb connect 192.168.225.1:5555
adb -s 192.168.225.1:5555 shell
/sbin/usb/compositions/9091 n 1 y

there are others like:
/sbin/usb/compositions/9064
/sbin/usb/compositions/90A9

| 901D | DIAG + ADB |
| 9021 | DIAG + QMI_RMNET (Android) |
| 9022 | DIAG + ADB + QMI_RMNET (Android) |
| 9024 | RNDIS + ADB [Android] |
| 9025 | DIAG + ADB + MODEM + NMEA + QMI_RMNET + Mass Storage (Android) |
| 902B | RNDIS + ADB + Mass Storage |
| 902D | RNDIS + DIAG + ADB [Android] |
| 9049 | DIAG + ADB + DUN + RMNET + Mass Storage + QDSS [Android] |
| 904A | DIAG + QDSS [Android] |
| 9056 | DIAG + ADB + SERIAL + RMNET + Mass Storage + Audio [Android] |
| 9057 | RNDIS : ECM |
| 9059 | DIAG + ADB + RNDIS : ECM |
| 9060 | DIAG + QDSS + ADB |
| 9084 | DIAG + QDSS + ADB + RMNET |
| 9091 | DIAG + MODEM + QMI_RMNET + ADB |
| 90A1 | DIAG + ADB + (multiplexed) QMI_RMNET (Android) |
| 90AD | DIAG + ADB + MODEM + NMEA + QMI_RMNET + Mass Storage + DPL |
| 90B1 | ECM |
| F000 | Mass Storage |

you can list them by and now how they are working
the default composition has: rndis + adb + at commands port
i want to try other ports with: mbim with at and adb even by changing the config or qmi instead of mbim or ecm (all ecm does not has at with them)
the main problem now that momdemanager cant find the qmi of mbim device
umbim always says: incorrent pin
uqmi works but with lot of problems, so i want to try modemmanager with mbim or qmi because i read that it is better then rndis

I suggest removing ModemManager completely and focusing on QMI mode with luci-proto-qmi.

Start from the simplest config:

config interface 'lte'
        option proto 'qmi'
        option device '/dev/cdc-wdm0'
        option apn 'internet'
        option auth 'none'
        option pdptype 'ip'

Replace "internet" with your APN. Configure the same APN on the modem.

i tried a lot with uqmi but i always get lot of problems
for example i get: Error: Unknown error (SIM_ILLEGAL_STATE)

the interface i well configured with the correct APN
i think uqmi is not stable with this modem or the problem is from the modem side.

mbim in the other hand also always gives: incorrect pin. while the sim has no pin code.

so i think if i go to momdemanager even it has bigger size comparing to mbim and qmi i may get a stable state with signal info and better modem management. rndis mode does not give good access to modem.

the mode ECM i think is it better than rndis. but there is not composition with ECM and at so as i can change to lte onfly for example from at port and read sms settings and send ussd codes.

---edit

in qmi interface should i put:

network.qqmi.pdptype='ipv4'

or:

option pdptype 'ip'

i have tried again with 9091 composition after removing uqmi and luci-proto-qmi

i have stepped modemmanager

service modemmanager stop
/etc/init.d/modemmanager stop

then:

MM_LOGGING=DEBUG /usr/sbin/ModemManager --debug

and after this i changed to 9091

adb devices
wait 10 sec
adb connect 192.168.225.1:5555
adb -s 192.168.225.1:5555 shell
/sbin/usb/compositions/9091 n 1 y

the debugging log is pasted here:

after few seconds the modem reboots and the router so reboots also.

i'm using an original charger.

i think this modem is no capable of working with modemmanager so?

so the solution may be will be with uqmi but it needs lot of manual codes to connect with sim and change to lte for example with lot of problems.