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.
Hints, see how it is implemented in Gnome shell and NM-applet: https://bugzilla.gnome.org/show_bug.cgi?id=687359 https://bugzilla.gnome.org/show_bug.cgi?id=690445
Related information about the state of the code to be modified: http://lamarque-lvs.blogspot.com.br/2012/07/improving-qtnetworkmanager-former-libnm.html http://lamarque-lvs.blogspot.com.es/2013/03/what-is-happening-in-qtnetworkmanager.html
See also http://community.kde.org/GSoC/2013/Ideas#Project:_Improve_Plasma_NetworkManagement.27s_information_details_panel
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.
Superb!
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.