The Linux Kernel Continues Crafting A WWAN Subsystem
Written by Michael Larabel in Linux Networking on 5 April 2021 at 06:12 AM EDT. 5 Comments
LINUX NETWORKING --
Linaro continues leading the effort on a Wireless WAN (WWAN) subsystem/framework for the Linux kernel.

The framework aims to deal with at least in part the complexity and heterogeneity of Wireless WAN hardware. The Linux WWAN subsystem in proposed form is summed up as:
This initial version adds the concept of WWAN port, which is a logical pipe to a modem control protocol. The protocols are rawly exposed to user via character device, allowing straigthforward support in existing tools (ModemManager, ofono...). The WWAN core takes care of the generic part, including character device management, and relies on port driver operations to receive/submit protocol data.

Since the different devices exposing protocols for a same WWAN hardware do not necessarily know about each others (e.g. two different USB interfaces, PCI/MHI channel devices...) and can be created/removed in different orders, the WWAN core ensures that all WAN ports contributing to the 'whole' WWAN feature are grouped under the same virtual WWAN device, relying on the provided parent device (e.g. mhi controller, USB device). It's a 'trick' I copied from Johannes's earlier WWAN subsystem proposal.

This initial version is purposely minimalist, it's essentially moving the generic part of the previously proposed mhi_wwan_ctrl driver inside a common WWAN framework, but the implementation is open and flexible enough to allow extension for further drivers.

This Linux WWAN code is being led by Linaro's Loic Poulain and today marks its latest spin up on the kernel mailing list. Besides working on the generic subsystem itself, driving this along and initial "user" is a Qualcomm MHI WWAN control driver for their PCI Express modems. This new Qualcomm open-source WWAN modem driver in turn will expose different modem control protocols/ports to user-space. Among the protocols exposed to user-space with the driver are AT, MBIM, QMI, QCOM, and FIREHOSE.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week