Comment 21 for bug 977761

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.