Jump to content

Qualcomm MSM Interface

From Wikipedia, the free encyclopedia

The Qualcomm MSM Interface is a proprietary interface for interacting with Qualcomm baseband processors and is a replacement for the legacy cellular extensions of the Hayes command set.[1] With mobile chipsets, communication between the application processor and the baseband processor happens through shared memory. On PCs with data cards, QMI is exposed through USB.[2][3]


In the Linux kernel, QMI can be used through two mutually exclusive drivers: GobiNet and qmi_wwan. These two drivers take completely different approaches to handle the protocol. GobiNet is a complex driver which implements within the kernel most of the core protocol logic, while qmi_wwan leaves all those tasks to user-space processes, and therefore keeping the kernel driver as small as possible.[1][4] There are several userspace implementations, such as uqmi on OpenWrt,[5] oFono[6] and libqmi[7]

See also[edit]


  1. ^ a b Morgado, Aleksander (December 10, 2013). "Qualcomm Gobi devices in Linux based systems" (PDF). Osmocom.org.
  2. ^ "Qualcomm Linux Modems by Quectel & Co - QMI".
  3. ^ "QMI". postmarketOS wiki.
  4. ^ "QMI/Gobi management in the kernel: qmi_wwan or GobiNet?". SIGQUIT. 2014-06-10. Retrieved 2019-12-06.
  5. ^ "OpenWrt Project: How To use LTE modem in QMI mode for WAN connection". openwrt.org. 3 January 2015. Retrieved 2019-12-06.
  6. ^ "qmimodem\drivers - ofono/ofono.git - Open Source Telephony". git.kernel.org. Retrieved 2019-12-06.
  7. ^ "libqmi". www.freedesktop.org. Retrieved 2019-12-06.