Qualcomm MSM Interface

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.

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.

GobiNet is a complex proprietary driver which implements within the kernel most of the core protocol logic, while qmi_wwan is part of the upstream kernel and 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]