running libqmi on Android / qmuxd

Harald Welte laforge at
Sun Dec 18 09:58:13 UTC 2016

Hi all,

it would be interesting to be able to run the open source libqmi (and
applications based on it) on systems running the Qualcomm Android

I am willing to commit some time into implementing this, but as I'm
quite new to libqmi and QMI, I'm sure you guys have a better idea on how
this might be done in the best way.

The rationale behind this is quite simple:  Said devices use the full
Qualcomm Android kernel + userspace QMI stack / infrastructure for their
own software.  However, header files for the proprietary / and related libraries are not publicly available.
And if some versions are found, they are under licsne terms that don't
ermit re-distribution anyway.

So in order to put your own softare that wants to interface QMI on such
devices, it would be great if we could simply cross-compile the open
source libqmi and run that on top of the Qualcomm QMI infrastructure,
such as qmuxd.

The question is where exactly to draw the line.  As Aleksander has
pointed out in detail
things like Client ID acllocation/registration are handled by the
Qualcomm infrastructure, but libqmi also wants to handle it.

I know how to access qmuxd and have soem early proof-of-concept code to
e.g. obtain the IMEI via it.

So what I'm asking for is an idea where it is best to split libqmi and
create a Frankenstein-backend that talks to qmuxd, rather than to a
/dev/cdc-wdm device

The goal is to have the 'upper layer' from libqmi, together with some
free softwre glue code to talk to qmuxd, and thus be free of linking or
includign any proprietary qualcomm bits.

Thanks in advance,

- Harald Welte <laforge at> 
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)

More information about the libqmi-devel mailing list