Difference between revisions of "QMI"

From dankwiki
 
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

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