QMI: Difference between revisions
No edit summary |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
The Qualcomm MSM Interface is a binary protocol that seeks to replace the Hayes AT command set for modems. It defines a set of services: | The Qualcomm MSM Interface is a binary protocol that seeks to replace the [https://en.wikipedia.org/wiki/Hayes_command_set Hayes AT command set] for [[Cellular|cellular modems]]. It defines a set of services: | ||
* CTL -- control | * CTL -- control | ||
* DMS -- device management | * DMS -- device management | ||
| Line 10: | Line 10: | ||
* UIM -- user identification module | * UIM -- user identification module | ||
* OMA -- open management alliance | * OMA -- open management alliance | ||
On Linux, QMI is primarily driven through the [https://www.freedesktop.org/software/libqmi/libqmi-glib/latest/ qmi-glib] library and the [https://www.freedesktop.org/wiki/Software/libqmi/ qmicli] tool. A client context must be acquired from the CTL service to use most other services. | On Linux, QMI is primarily driven through the [https://www.freedesktop.org/software/libqmi/libqmi-glib/latest/ qmi-glib] library and the [https://www.freedesktop.org/wiki/Software/libqmi/ qmicli] tool, using the cdc-wdm and qmi_wwan drivers. A client context must be acquired from the CTL service to use most other services. Services implement "Requests" and "Indications": indications are sent to subscribed clients, while requests are bound to a client context, pipelined, and can be answered out of order. Input and output arguments are defined as TLVs (Type-Length Values). | ||
==Device Management Service== | |||
* Retrieve ESN/IMEI/MEID: <tt>qmicli --dms-get-ids</tt> | |||
* Retrieve IMSI: <tt>qmicli --dms-uim-get-imsi</tt> | |||