tree: 4f58ec20d391df2719c192b2fb0556d17767aea5 [path history] [tgz]
  1. BUILD.gn
  2. OWNERS
  3. README.md
  4. config/
  5. drivers/
  6. lib/
  7. ril-qmi/
  8. telephony/
  9. tests/
  10. tools/
src/connectivity/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

Setup

Telephony is not included in the core fuchsia bringup currently. You can include the bundle like in the example below:

$ fx set2 core.x64 --with //src/connectivity/telephony/

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. Interactive CLIs are currently incompatible with the standard run command, so these are launched through /bin

connection owned by telephony service:

$ ril-ctl

exclusive connection to device:

$ ril-ctl -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 qmigen_unittests_lib_test. You can run them on your host system with:

$ fx run-host-tests qmigen_unittests_lib_test

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 +-----+ | | +-----------------------+