Regression: Huawei ME909u-521 stopped working after ModemManager 1.18
My Huawei ME909u-521 modem has been working fine in QMI mode (usb_modeswitch -W -v 12d1 -p 1573 -u 1
), up to (and including) the 1.18 series of ModemManager.
$ mmcli -m 0
----------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: 06210846660017b1f1f16ace8af8da2f18bbcc3b
----------------------------------
Hardware | manufacturer: QUALCOMM INCORPORATED
| model: ML1ME909UM
| firmware revision: 12.636.12.01.00 1 [Mar 05 2015 02:00:00]
| carrier config: default
| h/w revision: ML1ME909UM
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: 860461025885644
----------------------------------
System | device: /sys/devices/pci0000:00/0000:00:13.0/usb1/1-1/1-1.3
| drivers: option, qmi_wwan
| plugin: huawei
| primary port: cdc-wdm0
| ports: cdc-wdm0 (qmi), ttyUSB0 (at), ttyUSB2 (at), ttyUSB3 (gps),
| wwp0s19u1u3i3 (net)
----------------------------------
Status | lock: sim-pin2
| unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)
| state: connected
| power state: on
| access tech: lte
| signal quality: 62% (recent)
----------------------------------
Modes | supported: allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 2g, 3g; preferred: 3g
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 4g; preferred: 4g
| allowed: 2g, 4g; preferred: 2g
| allowed: 3g, 4g; preferred: 4g
| allowed: 3g, 4g; preferred: 3g
| allowed: 2g, 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 3g
| allowed: 2g, 3g, 4g; preferred: 2g
| current: allowed: 2g, 3g, 4g; preferred: 4g
----------------------------------
Bands | supported: egsm, dcs, pcs, g850, utran-1, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-5, eutran-7, eutran-8, eutran-20
| current: egsm, dcs, pcs, g850, utran-1, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-5, eutran-7, eutran-8, eutran-20
----------------------------------
IP | supported: ipv4, ipv6, ipv4v6
----------------------------------
3GPP | imei: [snip]
| enabled locks: fixed-dialing
| operator id: 20810
| operator name: Prixtel
| registration: home
| packet service state: attached
----------------------------------
3GPP EPS | ue mode of operation: csps-2
| initial bearer path: /org/freedesktop/ModemManager1/Bearer/0
| initial bearer ip type: ipv4v6
----------------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
----------------------------------
Bearer | paths: /org/freedesktop/ModemManager1/Bearer/1
But on newer versions it no longer works: at best an IP is obtained for a brief moment but still ping 9.9.9.9
would not work, nor other attempt to reach the Intenet, IOW nm-online
never succeeds.
A bisect of ModemManager (all using the recent libqmi-1.34.0
and libmbim-1.30.0
)
finds the first breaking commit to be from !739 (merged):
- af9b6d4f mm-bearer-qmi: Add Support for PCO
None of those commits following that one have fixed the issue since, including:
- f4b8d14b bearer-qmi: explicitly ignore PCOs with undefined contents:
- cf59b497 bearer-qmi: app specific info in PCO may be empty
- 34ba11b3 bearer-qmi: fix pco array declaration
Here are ModemManager --debug
logs at the key commits, inlined are a grep -i '\<error\>
of those:
- Latest good (between 1.18.0 and 1.20.0) : ModemManager.61e540c8d9bfde58333eb46e81fc825c5651764c.good.log
ModemManager[1604]: <debug> [1697362450.809896] [modem0] slot status retrieval failed: QMI protocol error (94): 'NotSupported'
ModemManager[1604]: <warn> [1697362450.873184] [modem0] couldn't query SIM slots: QMI protocol error (94): 'NotSupported'
ModemManager[1604]: <warn> [1697362451.257208] [modem0] couldn't load list of own numbers: Couldn't get MSISDN: QMI protocol error (16): 'NotProvisioned'
ModemManager[1604]: <debug> [1697362452.569004] [modem0] couldn't read SMS messages: QMI protocol error (17): 'MissingArgument'
ModemManager[1604]: <debug> [1697362452.601072] [modem0] couldn't read SMS messages: QMI protocol error (52): 'DeviceNotReady'
ModemManager[1604]: <debug> [1697362452.728951] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1604]: <debug> [1697362452.761014] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1604]: <debug> [1697362452.793027] [modem0] couldn't read SMS messages: QMI protocol error (17): 'MissingArgument'
ModemManager[1604]: <debug> [1697362452.888909] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1604]: <debug> [1697362452.920893] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1604]: <info> [1697362454.073026] [modem0/bearer1] couldn't start network: QMI protocol error (14): 'CallFailed'
ModemManager[1641]: <debug> [1697372429.816394] [modem0] slot status retrieval failed: QMI protocol error (94): 'NotSupported'
ModemManager[1641]: <warn> [1697372429.879734] [modem0] couldn't query SIM slots: QMI protocol error (94): 'NotSupported'
ModemManager[1641]: <warn> [1697372430.263672] [modem0] couldn't load list of own numbers: Couldn't get MSISDN: QMI protocol error (16): 'NotProvisioned'
ModemManager[1641]: <debug> [1697372431.575423] [modem0] couldn't read SMS messages: QMI protocol error (17): 'MissingArgument'
ModemManager[1641]: <debug> [1697372431.607657] [modem0] couldn't read SMS messages: QMI protocol error (52): 'DeviceNotReady'
ModemManager[1641]: <debug> [1697372431.735304] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1641]: <debug> [1697372431.767175] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1641]: <debug> [1697372431.799159] [modem0] couldn't read SMS messages: QMI protocol error (17): 'MissingArgument'
ModemManager[1641]: <debug> [1697372431.927241] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1641]: <debug> [1697372431.959284] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1641]: <error> [1697372432.858542] mm_utils_bin2hexstr: assertion 'bin != NULL' failed
ModemManager[1641]: <info> [1697372433.143304] [modem0/bearer1] couldn't start network: QMI protocol error (14): 'CallFailed'
- Still bad (recent main): ModemManager.ae02c47634141c532db62559d1b5baa5048f70cd.bad.log
ModemManager[1582]: <dbg> [1697370983.824641] [modem0] slot status retrieval failed: QMI protocol error (94): 'NotSupported'
ModemManager[1582]: <dbg> [1697370984.303730] [modem0/sim0] couldn't load GID2: Couldn't read data from UIM: QMI protocol error (3): 'Internal'
ModemManager[1582]: <dbg> [1697370984.335618] [modem0] couldn't load list of own numbers: Couldn't get MSISDN: QMI protocol error (16): 'NotProvisioned'
ModemManager[1582]: <dbg> [1697370985.583472] [modem0] couldn't enable unsolicited profile management events: QMI protocol error (71): 'InvalidQmiCommand'
ModemManager[1582]: <dbg> [1697370985.743469] [modem0] couldn't read SMS messages: QMI protocol error (17): 'MissingArgument'
ModemManager[1582]: <dbg> [1697370985.775504] [modem0] couldn't read SMS messages: QMI protocol error (52): 'DeviceNotReady'
ModemManager[1582]: <dbg> [1697370985.902931] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1582]: <dbg> [1697370985.935543] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1582]: <dbg> [1697370985.967500] [modem0] couldn't read SMS messages: QMI protocol error (17): 'MissingArgument'
ModemManager[1582]: <dbg> [1697370986.063327] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1582]: <dbg> [1697370986.095513] [modem0] couldn't read SMS messages: QMI protocol error (48): 'InvalidArgument'
ModemManager[1582]: <dbg> [1697370986.122029] [ttyUSB2/at] <-- '<CR><LF>+CMS ERROR: 303<CR><LF>'
ModemManager[1582]: <dbg> [1697370986.159184] [modem0] cleaning up extended signal information thresholds: interface enabled, rssi threshold 0 dBm, error rate threshold disabled
ModemManager[1582]: <msg> [1697370987.438972] [modem0/bearer1] couldn't start IPv6 network: QMI protocol error (14): 'CallFailed'
Each test was done a couple of times, just after a reboot to be sure the modem was not left in a bad state.
I can test/provide more info if that could help.