QMI: Difference between revisions

From dankwiki
No edit summary
No edit summary
 
(3 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 [https://en.wikipedia.org/wiki/Hayes_command_set 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>

Latest revision as of 20:46, 9 July 2019

The Qualcomm MSM Interface is a binary protocol that seeks to replace the Hayes AT command set for cellular modems. It defines a set of services:

  • CTL -- control
  • DMS -- device management
  • NAS -- network access
  • WDS -- wireless data
  • WDA -- wireless data administration
  • WMS -- wireless messaging
  • PDS -- position determination
  • PBM -- phonebook management
  • UIM -- user identification module
  • OMA -- open management alliance

On Linux, QMI is primarily driven through the qmi-glib library and the 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: qmicli --dms-get-ids
  • Retrieve IMSI: qmicli --dms-uim-get-imsi