Add support for using QMI protocol

Bug #977761 reported by Marius B. Kotsbak
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNOME Shell
Fix Released
Medium
KDE Network
Fix Released
High
ModemManager
Fix Released
Undecided
Unassigned
Network Manager Applet
Fix Released
Medium
NetworkManager
Fix Released
Medium
gnome-control-center
Fix Released
Medium
libqmi
Fix Released
High
Unassigned
geoclue (Ubuntu)
New
Undecided
Unassigned
gnome-control-center (Ubuntu)
New
Undecided
Unassigned
gnome-shell (Ubuntu)
Fix Released
Undecided
Unassigned
libqmi (Debian)
Fix Released
Unknown
libqmi (Ubuntu)
Fix Released
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
modemmanager (Ubuntu)
Fix Released
Wishlist
Unassigned
network-manager (Ubuntu)
Fix Released
Undecided
Unassigned
network-manager-applet (Ubuntu)
Fix Released
Undecided
Unassigned
plasma-nm (Ubuntu)
Fix Released
Low
Unassigned
wader (Ubuntu)
New
Undecided
Unassigned

Bug Description

USB modeswitching works ok, and the network operator appears in the NM menu, but it fails to connect.

Nm-applet needs to be updated upstream. See the same change for Gnome shell:

https://bugzilla.gnome.org/show_bug.cgi?id=687359

We also need libqmi packaged, see bug #1075801.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: modemmanager 0.5.2.0-0ubuntu2
ProcVersionSignature: Ubuntu 3.2.0-22.35-generic-pae 3.2.14
Uname: Linux 3.2.0-22-generic-pae i686
ApportVersion: 2.0-0ubuntu4
Architecture: i386
Date: Tue Apr 10 08:48:55 2012
EcryptfsInUse: Yes
SourcePackage: modemmanager
UpgradeStatus: No upgrade log present (probably fresh install)
---
ApportVersion: 2.0.1-0ubuntu7
Architecture: i386
DistroRelease: Ubuntu 12.04
EcryptfsInUse: Yes
Package: modemmanager 0.5.2.0-0ubuntu2 [modified: lib/udev/rules.d/77-mm-zte-port-types.rules]
PackageArchitecture: i386
ProcEnviron:
 LANGUAGE=nb_NO:nb:no_NO:no:nn_NO:nn:en
 TERM=xterm
 PATH=(custom, user)
 LANG=nb_NO.UTF-8
 SHELL=/bin/bash
Tags: precise precise
Uname: Linux 3.4.0-030400rc4-generic i686
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm dialout lpadmin sambashare sudo

PPA for testing/development: https://launchpad.net/~mariusko/+archive/network-manager-snapshots

Related branches

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

The modem worked much better with a SIM card inserted :) There should have been an error dialog telling me about this.

Changed in modemmanager (Ubuntu):
status: New → Invalid
Revision history for this message
Aleksander Morgado (aleksander-m) wrote :

Indeed. The new ModemManager (0.7) will export a modem in a 'Failed' state whenever a fatal SIM error occurs (e.g. no SIM card). Providing more information on why the modem went into this 'Failed' state could help to make UIs expose the real reason.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote : Re: Connection with ZTE MF820D LTE/4G modem not using new qmi-wdm/qmi_wwan kernel modules

The qmi-wdm/qmi_wwan kernel modules are available in 3.4 kernels.

Changed in modemmanager (Ubuntu):
status: Invalid → New
summary: - Connection not working with ZTE MF820D LTE/4G modem
+ Connection with ZTE MF820D LTE/4G modem not using new qmi-wdm/qmi_wwan
+ kernel modules
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

But we don't ship that kernel in Precise even; resetting to Triaged/Wishlist, we're not fixing that just yet...

Changed in network-manager (Ubuntu):
status: New → Invalid
Changed in modemmanager (Ubuntu):
status: New → Triaged
importance: Undecided → Wishlist
no longer affects: modemmanager
no longer affects: network-manager
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

I know, so it is just a place to keep track of it for 12.10/backports. There might also be some NM upstream plugin code missing.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

I see that the kernels built at http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-rc5-precise/

has not this module enabled:

+# CONFIG_USB_NET_QMI_WWAN is not set

Andy Whitcroft, is there any reason for this, or could it be changed to be enabled in the next kernels built there and later for Ubuntu?

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 977761

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Marius B. Kotsbak (mariusko) wrote : Dependencies.txt

apport information

tags: added: apport-collected
description: updated
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Marius B. Kotsbak (mariusko) wrote : Re: Connection with ZTE MF820D LTE/4G modem not using new qmi-wdm/qmi_wwan kernel modules

Hmm, i see in http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-rc7-precise/BUILD.LOG

"QMI WWAN driver for Qualcomm MSM based 3G and LTE modems (USB_NET_QMI_WWAN) [N/m/?] (NEW) Option USB High Speed Mobile Devices (USB_HSO) [M/n/y/?] m"

Seems like there is a missing answer to the question about this module.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

The module is included in the 3.4 Linux images for 12.10.

Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

The kernel fix actually breaks the use of the modem with Network manager, so this must be solved before Ubuntu 12.10:

Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Auto-activating connection 'Netcom'.
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Activation (wwan0) starting connection 'Netcom'
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> (wwan0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Activation (wwan0) Stage 1 of 5 (Device Prepare) scheduled...
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Activation (wwan0) Stage 1 of 5 (Device Prepare) started...
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> (wwan0): device state change: prepare -> need-auth (reason 'none') [40 60 0]
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Activation (wwan0) Stage 1 of 5 (Device Prepare) complete.
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Activation (wwan0) Stage 1 of 5 (Device Prepare) scheduled...
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Activation (wwan0) Stage 1 of 5 (Device Prepare) started...
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> (wwan0): device state change: need-auth -> prepare (reason 'none') [60 40 0]
Jun 11 13:42:53 marius-T1005 NetworkManager[1174]: <info> Activation (wwan0) Stage 1 of 5 (Device Prepare) complete.
Jun 11 13:43:19 marius-T1005 NetworkManager[1174]: <warn> GSM connection failed: (32) Serial command timed out
Jun 11 13:43:19 marius-T1005 NetworkManager[1174]: <info> (wwan0): device state change: prepare -> failed (reason 'unknown') [40 120 1]
Jun 11 13:43:19 marius-T1005 NetworkManager[1174]: <warn> Activation (wwan0) failed.
Jun 11 13:43:19 marius-T1005 NetworkManager[1174]: <info> (wwan0): device state change: failed -> disconnected (reason 'none') [120 30 0]
Jun 11 13:43:19 marius-T1005 NetworkManager[1174]: <info> (wwan0): deactivating device (reason 'none') [0]

I guess modemmanager should communicate with the new /dev/cdc-wdm0 instead of wwan0.

Revision history for this message
Aleksander Morgado (aleksander-m) wrote :

There is work in progress already to use the cdc-wdm0 interface for QMI with libqmi in ModemManager.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Japp, I saw there were a branch for that in modemmanager at master branch, but I was not able to get it running with the current Networkmanager in Ubunt. Also I was not able to get NM from master branch to work. Do I need to replace the nm-applet too?

Do you know if there is an easy way to get the master version built for Ubuntu? It seems like the packages available in the PPAs are outdated or use the stable branches.

Revision history for this message
Aleksander Morgado (aleksander-m) wrote :

Still quite some things to do before being able to use QMI in ModemManager, including finishing to port all pending MM plugins to the new codebase, and updating NetworkManager to talk to the new redesigned interface... Current MM git master is not yet able to talk to NM git master.

Help really welcome :-)

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

I verified that the kernel for 12.10 works using NetCom in Norway by testing with libqmi-glib by running:

* qmi-network /dev/cdc-wdm0 start
* dhclient wwan0

Would it be possible to backport the qmi support to a stable NM/MM? Rebasing the branch to 0.6 did not work without conflicts.

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Before this is fixed, for Ubuntu 12.10, we need an updated modemmanager version containing the following commit

http://cgit.freedesktop.org/ModemManager/ModemManager/commit/?h=MM_06&id=d09375e08e4234ae87c5a1af5e5cbcdc84771742

See also what happened in Fedora without:

https://bugzilla.redhat.com/show_bug.cgi?id=835153#c9

Changed in modemmanager:
assignee: nobody → Aleksander Morgado (aleksander-m)
assignee: Aleksander Morgado (aleksander-m) → nobody
status: New → In Progress
assignee: nobody → Aleksander Morgado (aleksander-m)
Revision history for this message
Aleksander Morgado (aleksander-m) wrote :

Backporting the QMI support from MM git master (0.7) to 0.5/0.6 is a thousand times more complex than improving NetworkManager to support MM 0.7, which is anyway something planned to be done. Help welcome :-)

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

QMI support implemented in Modem Manager master branch.

Changed in modemmanager:
status: In Progress → Fix Committed
Changed in network-manager:
status: New → In Progress
summary: - Connection with ZTE MF820D LTE/4G modem not using new qmi-wdm/qmi_wwan
- kernel modules
+ Connection with ZTE MF820D LTE/4G modem not using QMI protocol
Changed in network-manager (Ubuntu):
status: Invalid → Confirmed
description: updated
description: updated
Changed in network-manager-applet (Ubuntu):
status: New → Confirmed
Changed in network-manager-applet:
status: New → Confirmed
tags: added: quantal
Revision history for this message
In , Aleksander Morgado (aleksander-m) wrote :

ModemManager >= 0.7 will come with an improved DBus interface. Documentation about this interface can be seen at:
http://www.lanedo.com/~aleksander/modem-manager/api-20121005/api/ref-dbus.html

In order to ease the integration of the new ModemManager, headers with enums/error definitions are also available:
http://cgit.freedesktop.org/ModemManager/ModemManager/tree/include

There's also a new 'libmm-glib', which helps to integrate ModemManager in glib-based applications, although not sure if this is really desirable here:
http://www.lanedo.com/~aleksander/modem-manager/api-20121005/libmm-glib/

Some basic hints:
* NetworkManager will expose Modems handled by the new ModemManager with a UDI prefixed with "/org/freedesktop/ModemManager1/Modem/".
* SIMs are exposed as independent DBus objects. You'll need to get the SIM object path, if any, from the 'Modem' interface. PIN unlocking is done directly in the SIM interface of the SIM object.
* Both 3GPP (a.k.a. GSM) and 3GPP2 (a.k.a. CDMA) modems are now handled in the same way. The new ModemManager exposes in 'CurrentCapabilities' in the modem interface which capabilities are supported. It is expected to have modems which are both 3GPP and 3GPP2 (e.g. LTE+CDMA modems).
* For connecting/disconnecting, using the Simple interface is still the simplest way for now. The new ModemManager can handle multiple data bearer configurations if directly playing with creating bearer objects and connecting them independently (the Simple interface can't do that yet).
* DBus interfaces are dynamic. E.g. a modem exposing the Messaging interface will have messaging (SMS) capabilities, otherwise the interface won't be exposed.
* When a modem is non yet PIN-unlocked, only the Modem interface and the SIM object will be available.

Reproducible: Always

Can be tested with latest git master for both NetworkManager and ModemManager.

Changed in network-manager-applet:
status: Confirmed → In Progress
Changed in modemmanager (Ubuntu):
assignee: nobody → Marius B. Kotsbak (mariusko)
Changed in network-manager (Ubuntu):
assignee: nobody → Marius B. Kotsbak (mariusko)
Changed in network-manager-applet:
importance: Undecided → Unknown
status: In Progress → Unknown
summary: - Connection with ZTE MF820D LTE/4G modem not using QMI protocol
+ Add support for using QMI protocol
Changed in gnome-shell (Ubuntu):
status: New → Confirmed
description: updated
Changed in network-manager-applet:
importance: Unknown → Medium
status: Unknown → Fix Released
Changed in gnome-shell:
importance: Unknown → Medium
status: Unknown → In Progress
Changed in network-manager:
status: In Progress → Fix Committed
Changed in gnome-shell:
status: In Progress → Fix Released
Changed in libqmi:
importance: Undecided → High
status: New → Fix Released
Changed in network-manager-applet (Ubuntu):
assignee: nobody → Marius B. Kotsbak (mariusko)
status: Confirmed → In Progress
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :
Changed in network-manager-applet (Ubuntu):
assignee: Marius B. Kotsbak (mariusko) → nobody
status: In Progress → Confirmed
Changed in modemmanager (Ubuntu):
assignee: Marius B. Kotsbak (mariusko) → nobody
Changed in network-manager (Ubuntu):
assignee: Marius B. Kotsbak (mariusko) → nobody
Changed in network-manager:
importance: Undecided → Unknown
status: Fix Committed → Unknown
Changed in modemmanager:
assignee: Aleksander Morgado (aleksander-m) → nobody
status: Fix Committed → Fix Released
Changed in gnome-control-center:
importance: Unknown → Medium
status: Unknown → New
Changed in network-manager:
importance: Unknown → Medium
status: Unknown → Fix Released
Changed in gnome-control-center:
status: New → Fix Released
Revision history for this message
In , Marius B. Kotsbak (mariusko) wrote :
Changed in kdenetwork:
importance: Unknown → High
status: Unknown → New
Revision history for this message
In , Marius B. Kotsbak (mariusko) wrote :
Revision history for this message
In , Marius B. Kotsbak (mariusko) wrote :
Changed in libqmi (Debian):
status: Unknown → Fix Released
Changed in libqmi (Ubuntu):
status: New → Fix Released
Revision history for this message
In , Lamarque (lamarque) wrote :

Just to update the status of this bug. ModemManagerQt and NetworkManagerQt's master branch already support ModemManager1 interface. There is a mm1port branch in the new Plasma NM applet that also supports ModemManager1, so this bug is near to be closed as fixed.

Changed in kdenetwork:
status: New → Unknown
Revision history for this message
In , Aleksander Morgado (aleksander-m) wrote :

Superb!

Revision history for this message
In , Lukáš Tinkl (lukas-kde) wrote :

Support is available in plasma-nm starting from version 0.9.3.1.

Please note that in order to benefit from the MM 1.0 API features, you have to compile both libmm-qt and libnm-qt from the master branches.

Changed in kdenetwork:
status: Unknown → Fix Released
affects: networkmanagement (Ubuntu) → plasma-nm (Ubuntu)
Changed in plasma-nm (Ubuntu):
importance: Undecided → Low
status: New → Triaged
Revision history for this message
Jackson Doak (noskcaj) wrote :

Fixed in 0.9.3.1

Changed in plasma-nm (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

Released to Trusty (14.04 LTS).

Changed in modemmanager (Ubuntu):
status: Triaged → Fix Released
Changed in network-manager (Ubuntu):
status: Confirmed → Fix Released
Changed in network-manager-applet (Ubuntu):
status: Confirmed → Fix Released
Changed in gnome-shell (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.