summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2019-07-25 23:50:26 +0200
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2019-07-26 18:24:38 +0200
commitfdfd51567fa86156b5e6efed6e3a2a15ec20cbc1 (patch)
tree8756eed95dd17ffe71efc448c77ac0fee96fc524
parent29b787f8c9c35622bf132bd1ea2ec25eee816192 (diff)
downloadpresentations-fdfd51567fa86156b5e6efed6e3a2a15ec20cbc1.tar.gz
presentations-fdfd51567fa86156b5e6efed6e3a2a15ec20cbc1.tar.bz2
presentations-fdfd51567fa86156b5e6efed6e3a2a15ec20cbc1.zip
July 2019 Replicant meeting: modems: Add presentation about oFono based Java RIL
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r--Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Makefile14
-rw-r--r--Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Replicant_and_oFono-based_Java_RIL.tex115
-rw-r--r--Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/dot/ofono_based_java_ril_architecture.dot39
3 files changed, 167 insertions, 1 deletions
diff --git a/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Makefile b/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Makefile
index 8440fe3..bf320d9 100644
--- a/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Makefile
+++ b/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Makefile
@@ -6,9 +6,13 @@ TEXFLAGS ?= -halt-on-error -output-format pdf -output-directory output
test \
medias \
-all: output/Replicant_and_modems_Introduction.pdf output/Replicant_and_modems_Samsung-ipc.pdf
+all: \
+ output/Replicant_and_modems_Introduction.pdf \
+ output/Replicant_and_modems_Samsung-ipc.pdf \
+ output/Replicant_and_oFono-based_Java_RIL.pdf
xdg-open output/Replicant_and_modems_Introduction.pdf
xdg-open output/Replicant_and_modems_Samsung-ipc.pdf
+ xdg-open output/Replicant_and_oFono-based_Java_RIL.pdf
output:
mkdir output
@@ -36,6 +40,14 @@ output/Replicant_and_modems_Samsung-ipc.pdf: \
pdflatex $(TEXFLAGS) '\providecommand\locale{en}\input{Replicant_and_modems_Samsung-ipc.tex}'
pdflatex $(TEXFLAGS) '\providecommand\locale{en}\input{Replicant_and_modems_Samsung-ipc.tex}'
+output/Replicant_and_oFono-based_Java_RIL.pdf: \
+ Replicant_and_oFono-based_Java_RIL.tex \
+ output/example_modem.png \
+ output/ofono_based_java_ril_architecture.png \
+ output
+ pdflatex $(TEXFLAGS) '\providecommand\locale{en}\input{Replicant_and_oFono-based_Java_RIL.tex}'
+ pdflatex $(TEXFLAGS) '\providecommand\locale{en}\input{Replicant_and_oFono-based_Java_RIL.tex}'
+
output/%.png: dot/%.dot output
dot -T png $< > $@
diff --git a/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Replicant_and_oFono-based_Java_RIL.tex b/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Replicant_and_oFono-based_Java_RIL.tex
new file mode 100644
index 0000000..2b35b26
--- /dev/null
+++ b/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/Replicant_and_oFono-based_Java_RIL.tex
@@ -0,0 +1,115 @@
+\documentclass{beamer}
+\usepackage[english]{babel}
+\usepackage{color}
+\usepackage{graphicx}
+\usepackage{ifthen}
+\usepackage[utf8]{inputenc}
+\usepackage{listings}
+\usepackage{pdfpages}
+
+\lstdefinestyle{terminal}{
+ backgroundcolor=\color{black},
+ basicstyle=\scriptsize\color{green},
+}
+
+%% Based on:
+%% https://tex.stackexchange.com/questions/136900/insert-a-full-page-image
+\newcommand{\pictureframe}[1] {
+ {
+ \begin{frame}
+ \noindent
+ \resizebox{\textwidth}{\textheight}
+ {\includegraphics{#1}}
+ \hspace*{-\textwidth}
+ \end{frame}
+ }
+}
+
+\usetheme{Singapore}
+
+\title{Using the oFono based Java RIL in Replicant}
+\author{Denis 'GNUtoo' Carikli}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+%% TODO: Using \itemize{} fails to compile
+%% TODO: convert \center frames to chapter title
+
+\begin{frame}
+ \center{Classical architecture}
+\end{frame}
+
+\pictureframe{output/example_modem.png}
+
+\begin{frame}
+ \center{Ofono based Java RIL}
+\end{frame}
+
+\pictureframe{output/ofono_based_java_ril_architecture.png}
+
+\begin{frame}
+ \center{Why using Ofono based Java RIL?}
+ \begin{itemize}
+ \item Adds supports for AT modems, could be used to support many devices:
+ \begin{itemize}
+ \item GTA04: Free software bootloader
+ \item Optimus black: Free software bootloader
+ \item PinePhone (EG25 modem?): Will probably have a free software bootloader
+ \item Librem 5 (EG25 modem?): Free software bootloader, nonfree firmware for the DDR4 controller\cite{librem5-ddr4-firmare} on a flash chip $\rightarrow$ No redistribtion issues for Replicant.
+ \end{itemize}
+ \item Already has QMI support. Could be used add support for 4G with the following devices:
+ \begin{itemize}
+ \item Galaxy SIII 4G (I9305)
+ \item Galaxy Note II 4G (N7105)
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Status}
+ \begin{itemize}
+ \item Already tested on Replicant 6 with a smartphone that uses a Qualcomm System On a Chip (SOC)
+ \item Tested with Voice calls, SMS, MMS, USSD, data, SIM ID, voicemail\cite{README}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{oFono Substainability}
+ \begin{itemize}
+ \item Ofono is Maintained, has several modems and protocols
+ \item Supports GNU/Linux modems (Smartphones with free software bootloaders often run GNU/Linux)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{oFono based Java RIL}
+ \begin{itemize}
+ \item BuildRilWrapper.java\cite{BuildRilWrapper.java} seem to use introspection to build the Framework$\leftarrow$$\rightarrow$ RIL API.
+ \item Last commit from 2017
+ \item Written in Java $\rightarrow$ We would need more people fluent in Java.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ Licenses:
+ \begin{itemize}
+ \item \url{https://creativecommons.org/licenses/by-sa/4.0/}
+ \end{itemize}
+\end{frame}
+
+\begin{thebibliography}{99}
+
+\bibitem{librem5-ddr4-firmare}
+ \url{https://puri.sm/posts/librem5-solving-the-first-fsf-ryf-hurdle/}
+
+\bibitem{BuildRilWrapper.java}
+ \url{https://github.com/scintill/android_frameworks_opt_telephony_ril_ofono/blob/master/build/java/net/scintill/ril_ofono/BuildRilWrapper.java}
+
+\bibitem{README}
+ \url{https://github.com/scintill/android_frameworks_opt_telephony_ril_ofono/blob/master/README.md}
+
+\end{thebibliography}
+\end{document}
diff --git a/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/dot/ofono_based_java_ril_architecture.dot b/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/dot/ofono_based_java_ril_architecture.dot
new file mode 100644
index 0000000..3f0b5b2
--- /dev/null
+++ b/Replicant_contributors_meeting_27_28_July_2019_Paris_France/modems/dot/ofono_based_java_ril_architecture.dot
@@ -0,0 +1,39 @@
+graph {
+ bgcolor="#ffffff00" # Transparent background
+ ratio=0.8
+ overlap=false
+ subgraph cluster_modem {
+ label="Modem";
+ "MODEM_BUS" [label="USB, Serial port, HSIC, RAM, MIPI, etc"];
+
+ };
+ subgraph cluster_soc {
+ label="SOC (Exynos, OMAP, etc)";
+ subgraph cluster_hardware {
+ label="Hardware";
+ "SOC_BUS" [label="USB, Serial port, HSIC, RAM, MIPI, etc"];
+ "SOC_BUS" -- "MODEM_BUS";
+ };
+
+ subgraph cluster_software {
+ label="Software";
+ "MODEM_DRIVER" [label="Linux driver: Modem drivers (+ possibly a low level protocol)"];
+ "rild" [label="oFono based Java RIL"];
+ "ofono backend" [label="oFono backend(AT, QMI, ISI, etc)"];
+
+ "SOC_BUS" -- "MODEM_DRIVER";
+
+ "MODEM_DRIVER" -- "ofono backend";
+ "MODEM_DRIVER" -- "libqmi";
+ "MODEM_DRIVER" -- "libisi";
+ "ofono backend" -- "libqmi";
+ "ofono backend" -- "libisi";
+ "ofono backend" -- "ofono";
+ "ofono" -- "rild" [label="dbus"];
+
+ "rild" -- "framework" [label="socket"];
+ "framework" -- "applications (dialer, silence, etc)";
+ };
+ };
+
+}