https://redmine.replicant.us/https://redmine.replicant.us/favicon.ico?15984615062019-07-24T19:17:11ZReplicantReplicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=74922019-07-24T19:17:11ZDenis 'GNUtoo' CarikliGNUtoo@cyberdimension.org
<ul></ul>TODO:
<ul>
<li>Look if the <a href="https://github.com/scintill/android_frameworks_opt_telephony_ril_ofono/blob/master/build/java/net/scintill/ril_ofono/BuildRilWrapper.java" class="external">BuildRilWrapper.java</a> uses introspection to build the API between the Framework and android_frameworks_opt_telephony_ril_ofono (See the <a href="https://source.android.com/devices/tech/connect/ril" class="external">Official documentation</a> for more background information) and evaluate how sustainable this is (how much maintenance would it need over time).</li>
<li>Test it on the Galaxy SIII 4G</li>
</ul>
Documentation:
<ul>
<li>See <a class="wiki-page" href="https://redmine.replicant.us/projects/replicant/wiki/Upstream#Modem-support">Upstream</a></li>
</ul> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=74992019-08-06T05:40:05ZJoey Hewitt
<ul><li><strong>File</strong> <a href="/attachments/1620">ofono_based_java_ril_architecture.png</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1620/ofono_based_java_ril_architecture.png">ofono_based_java_ril_architecture.png</a> added</li></ul><p>I'm the author of this RIL. I added some detail to GNUtoo's graph, attached. (Sorry it's weird; I don't know graphviz.)</p>
<p>Since my repo is lacking in documentation, some notes:</p>
<a name="Why-Java"></a>
<h2 >Why Java?<a href="#Why-Java" class="wiki-anchor">¶</a></h2>
<p>I didn't want to deal with C or the rild <-> libril interface, so I implemented a Java RIL class that replaces the one that usually talks to rild. Android is directed to use my class by a build.prop.</p>
<a name="BuildRilWrapper"></a>
<h2 >BuildRilWrapper<a href="#BuildRilWrapper" class="wiki-anchor">¶</a></h2>
<p>BuildRilWrapper runs at build time, and autogenerates code to dispatch incoming method calls to the corresponding module (e.g. SmsModule.) Most methods are asynchronous and cannot run on the thread that received the method call, so a Runnable is posted to another thread that does the necessary work and then invokes the callback.</p>
<p>I find my way far more convenient than the Message junk, so I wonder if there is some performance reason (memory usage?) it isn't usually done this way. Or maybe it is just the legacy of starting over 10 years ago.</p>
<p>The target method is found by looking for a method amongst the modules with a matching signature (same argument types, except omitting the Message that is for the callback.)</p>
<a name="Modules"></a>
<h2 >Modules<a href="#Modules" class="wiki-anchor">¶</a></h2>
<p>Modules are methods grouped by functionality type, and correspond closely to oFono interfaces. When oFono notifies that a given interface has loaded/unloaded, we load/unload the corresponding module. When a module is not loaded and the framework requests something that is implemented in the module, BuildRilWrapper's generated code detects this condition and reports an error to the framework.</p> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=75512019-08-25T21:05:42ZKurtis HannaKurtis@riseup.net
<ul></ul><p>A video presentation and the corresponding slides related to oFono in Replicant can be viewed here: <a class="external" href="https://redmine.replicant.us/projects/replicant/wiki/ContributorsMeetingJuly2019#Presentations">https://redmine.replicant.us/projects/replicant/wiki/ContributorsMeetingJuly2019#Presentations</a></p> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=75532019-08-26T00:45:50ZKurtis HannaKurtis@riseup.net
<ul><li><strong>Related to</strong> <i><a class="issue tracker-9 status-3 priority-21 priority-default" href="/issues/1813">Feature #1813</a>: Modem support for i9305</i> added</li></ul> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=75732019-09-07T18:30:56ZKurtis HannaKurtis@riseup.net
<ul></ul><p>Here's a program that does baseband diagnostics via USB that might come in handy: <a class="external" href="https://github.com/fgsect/scat">https://github.com/fgsect/scat</a></p> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=75812019-09-12T23:27:55ZKurtis HannaKurtis@riseup.net
<ul></ul><p>xc-racer99 has been working on an oFono driver for Samsung-IPC: <a class="external" href="https://github.com/PabloPL/linux/issues/23#issuecomment-531039814">https://github.com/PabloPL/linux/issues/23#issuecomment-531039814</a></p>
<p>They wonder if we have plans to upstream the Samsung IPC driver.</p> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=75902019-09-20T06:26:32ZKurtis HannaKurtis@riseup.net
<ul></ul><p>Joey reported on IRC that initial SMS tests were successful and voice calls had partial success on Note 2 LTE with his RIL.</p> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=76022019-10-07T02:58:30ZKurtis HannaKurtis@riseup.net
<ul><li><strong>Related to</strong> <i><a class="issue tracker-9 status-9 priority-21 priority-default" href="/issues/1958">Feature #1958</a>: Note II LTE modem (ofono Java RIL)</i> added</li></ul> Replicant - Feature #1945: Evaluate more in depth the android_frameworks_opt_telephony_ril_ofono RILhttps://redmine.replicant.us/issues/1945?journal_id=88072021-03-24T00:53:17Z_I3^ RELATIVISM
<ul><li><strong>Type of work</strong> <i>Any programming languages (scripts, C, etc)</i> added</li></ul>