Modem Manager API using

Aleksander Morgado aleksander at
Thu Aug 27 07:26:14 PDT 2015

On Thu, Aug 27, 2015 at 3:47 PM, Carlos Fernández
<carlos.fernandez at> wrote:
> I am trying to get use of ModemManager API in order to develop a C
> application
> that communicates and ask the modem for diverse operations. I've seen some
> python and javascript client examples in the ModemManager repository, but
> nothing about C programming.
> Does anyone know if C coding examples on how to deal with ModemManager are
> available on the net, just to be used as a reference, as I have never
> programmed using D-Bus??

Oh, well, I thought that was implicit... :)

See the mmcli program here:

That's the best example of a C program using libmm-glib to communicate
with ModemManager through DBus.

> Both ModemManager and libmm-glib are called high-level APIs, but I'm not
> sure
> what are the difference between each other apart from the fact, as long as I
> understand, that libmm is invoked using its own library functions wether
> ModemManager is invoked using its D-bus methods (maybe I'm confused about
> how it works). I don't know if I should develop my program to use libmm or
> if it
> should call ModemManager methods (or even if ModemManager internally uses
> libmm
> functions).

libmm-glib provides a common ground for both ModemManager (the daemon)
and its clients. Both the daemon and the clients link to it, but they
use different sets of APIs. The APIs that the clients should use are
the ones explained in the API doc. If you're developing a C program to
talk to ModemManager, I'd suggest you go and use libmm-glib directly.


More information about the ModemManager-devel mailing list