QMI

From dankwiki
Jump to navigation Jump to search

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:

  • 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