Check out my first novel, midnight's simulacra!

QMI

From dankwiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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