scintill / android_frameworks_opt_telephony_ril_ofono

oFono-based Java RIL for Android
GNU General Public License v3.0
4 stars 5 forks source link

Goal

The goal of this project is to write an Android RIL on top of oFono (my fork here). For my convenience and code-safety, the RIL is written in Java as an implementation of the AOSP telephony framework's CommandsInterface, omitting the traditional rild and shared library parts.

Roadmap

Usage

  1. Build from Replicant 6 checkout with this manifest. (My device is serranoltexx, but this manifest will probably work with any Serrano device, or even any Samsung MSM8930-based device if you add its device tree from LineageOS.)
  2. Running
    • In theory, all you need to do is flash the build and boot, but in reality it currently takes some fiddling to get the modem booted.
      • Signs of success: rmtfsd logging in the main log about file requests; "apr_tal:Modem Is Up" in dmesg, ofonod logging in the radio log about QMI calls; kernel log does not have messages about the modem continually resetting.
      • Try writing "20" to /sys/devices/virtual/smdpkt/smdcntl0/open_timeout . Once you get it going, write the normal value "0".
      • You might need to restart ofonod as root, after the modem and rmtfsd appear to be talking.
      • You might try writing "1" to /sys/kernel/debug/modem_debug/reset_modem to reboot the modem if things seem stuck in a non-working state.
  3. Debugging
    • You can forward the dbus to your PC: Add <auth>ANONYMOUS</auth><allow_anonymous /> to /system/etc/dbus.conf, and adb forward localfilesystem:/tmp/dbus-android localreserved:dbus. Then use the dbus address unix:path=/tmp/dbus-android for dbus-send, d-feet, etc.
    • Look for log tags RilOfono, ofonod (in the radio log) and rmtfsd (in the main log)

Features

Nothing is thoroughly tested nor tried on a broad selection of hardware/networks yet, but the following have been implemented and tested:

Resources and Credit

Bugs and TODO

Code review

These should be reviewed more closely for correctness and safety:

License

ril_ofono is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ril_ofono is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with ril_ofono. If not, see http://www.gnu.org/licenses/.