tree: ac387ab8e7afed19c4f0db4c7a106dc09cae10c3 [path history] [tgz]
  1. modem-mgr/
  2. ril-qmi/
  3. tools/
  4. MAINTAINERS
  5. README.md
bin/telephony/README.md

Telephony

The Fuchsia Telephony stack currently aims to provide a fast, robust, and reliable data connection over modern cellular protocols.

Source code:

Supported Hardware:

  • Sierra Wireless EM7565

Acronyms:

  • FRIL - Fuchsia Radio Interface Layer
  • VFS - Virtual File System

Getting Started

API Examples

TODO(bwb): write an example app

Tools

See the telephony/tools directory for the source code.

ril-ctl

The ril-ctl package is used for interacting with devices that expose the FRIL interface. The interactive CLI is currently incompatible with the standard run command, so you need to call the binary from pkgfs directly.

$ /pkgfs/packages/ril-ctl/0/bin/app -d /dev/class/qmi-transport/000

Running Tests

Host Side Tests

A large chunk of the logic of interacting with QMI based modems is generated at compile time. Tests for this live in qmi_host_tests. You can run them on your host system with:

$ fx run-host-tests qmi_host_tests

Unit Tets

TODO(bwb): Add name of tests when they land

Architecture

QMI-based

Modem Manager watches the VFS for the qmi-usb-transport device to bind against any of the usb devices it supports. Modem manager uses an IOCTL call (TODO: transition to FIDL) to acquire a transport channel to the driver. It then starts a service that provides the FRIL, ril-qmi. ril-qmi proxies/translates the FIDL messages spoken to the RadioInterfaceLayer interface to vendor specific calls.

ril-ctl tool is also able to initialize and connect ril-qmi to a specified device. It will also eventually have the ability to interact with an existing ril-qmi through a management interface on the Modem Manager.


+----------------------+ | | | Modem Manager +-+---+ | | | | vfs-watcher +-----------------+ +----------+-----------+ | | | | | | | | ril-ctl | | | | | | | | | +--------+--------+ +----------+-----------+ | | | | | | | +-----------------| ril-qmi +-+ | | | | +----------+-----------+ | | | +------------------------------------------+-----------------+--------------------+ Device Manager | | | | +-----------+-----------+ | | | | | qmi-usb-transport +-----+ | | +-----------------------+