The Fuchsia Telephony stack currently aims to provide a fast, robust, and reliable data connection over modern cellular protocols.
Source code:
Supported Hardware:
Acronyms:
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/
TODO(bwb): write an example app
See the telephony/tools directory for the source code.
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
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
TODO(bwb): Add name of tests when they land
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 +-----+ | | +-----------------------+