MBIM doesn't handle CDMA capabilities well
@dcbw
Submitted by Dan Williams Assigned to ModemManager bug user
Description
When a modem like a Sierra EM7355 (or any MBIM-capable Gobi modem) exposes CDMA capabilities, MM tries to enable the 3GPP2 interface and fails because MBIM doesn't handle CDMA yet.
[/dev/cdc-wdm1] Device capabilities retrieved: Device type: 'embedded' Cellular class: 'gsm, cdma' Voice class: 'no-voice' Sim class: 'removable' Data class: 'gprs, edge, umts, hsdpa, hsupa, 1xrtt, 1xevdo, 1xevdo-reva' SMS caps: 'pdu-receive, pdu-send' Ctrl caps: 'reg-manual, cdma-mobile-ip, cdma-simple-ip, multi-carrier' Max sessions: '8' Custom data class: 'unknown' Device ID: 'xxxxx' Firmware info: 'SWI9X15C_05.05' Hardware info: 'EM7355'
[/dev/cdc-wdm1] Registration status: Network error: 'unknown' Register state: 'deregistered' Register mode: 'automatic' Available data classes: 'unknown' Current cellular class: 'cdma' Provider ID: 'unknown' Provider name: 'unknown' Roaming text: 'unknown' Registration flags: 'packet-service-automatic-attach'
[/dev/cdc-wdm1] Registration status: Network error: 'unknown' Register state: 'searching' Register mode: 'automatic' Available data classes: 'unknown' Current cellular class: 'gsm' Provider ID: 'unknown' Provider name: 'unknown' Roaming text: 'unknown' Registration flags: 'packet-service-automatic-attach'
mmcli -m 0 -e: error: couldn't enable the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Connected: No AT port available to run command'
ModemManager[4421]: [/dev/cdc-wdm1] Sent message (translated)... <<<<<< Header: <<<<<< length = 48 <<<<<< type = command (0x00000003) <<<<<< transaction = 18 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) <<<<<< cid = 'register-state' (0x00000009) <<<<<< type = 'query' (0x00000000) ModemManager[4421]: [/dev/cdc-wdm1] Received message...
RAW: length = 96 data = 03:00:00:80:60:00:00:00:12:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:09:00:00:00:00:00:00:00:30:00:00:00:00:00:00:00:02:00:00:00:01:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00 ModemManager[4421]: [/dev/cdc-wdm1] Received message (translated)... Header: length = 96 type = command-done (0x80000003) transaction = 18 Fragment header: total = 1 current = 0 Contents: status error = 'None' (0x00000000) service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) cid = 'register-state' (0x00000009) ModemManager[4421]:
<debug>
[1436977958.922412] [mm-broadband-modem.c:8529] enabling_step(): Modem has CDMA capabilities, enabling the Modem CDMA interface... ModemManager[4421]:<debug>
[1436977958.922521] [mm-iface-modem-cdma.c:946] mm_iface_modem_cdma_run_registration_checks(): Running registration checks (CDMA1x: 'yes', EV-DO: 'yes') ModemManager[4421]:<debug>
[1436977958.922575] [mm-broadband-modem.c:7033] setup_registration_checks_context_complete_and_free(): Will skip all QCDM-based registration checks ModemManager[4421]:<debug>
[1436977958.922619] [mm-broadband-modem.c:7054] setup_registration_checks_context_complete_and_free(): Will skip generic detailed registration check, we don't have Sprint commands ModemManager[4421]:<debug>
[1436977958.922687] [mm-iface-modem-cdma.c:768] registration_check_step(): Starting QCDM-based registration checks ModemManager[4421]:<debug>
[1436977958.922732] [mm-iface-modem-cdma.c:780] registration_check_step(): Skipping all QCDM-based checks and falling back to AT-based checks ModemManager[4421]:<debug>
[1436977958.922772] [mm-iface-modem-cdma.c:823] registration_check_step(): Starting AT-based registration checks ModemManager[4421]:<warn>
[1436977958.922841] [mm-iface-modem-cdma.c:641] get_service_status_ready(): Could not get service status: No AT port available to run command ModemManager[4421]:<info>
[1436977958.922935] [mm-iface-modem.c:1203] __iface_modem_update_state_internal(): Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> disabled)
Version: git master