Check out my first novel, midnight's simulacra!
QMI: Difference between revisions
From dankwiki
No edit summary |
No edit summary |
||
(One intermediate revision 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 14: | Line 14: | ||
==Device Management Service== | ==Device Management Service== | ||
* Retrieve ESN/IMEI/MEID: <tt>qmicli --dms-get-ids</tt> | * Retrieve ESN/IMEI/MEID: <tt>qmicli --dms-get-ids</tt> | ||
* Retrieve IMSI: <tt>qmicli --dms-uim-get-imsi</tt> |
Latest revision as of 00:46, 10 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