summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NLnet/porting_replicant_to_android9/porting_replicant_to_android9.tex132
1 files changed, 108 insertions, 24 deletions
diff --git a/NLnet/porting_replicant_to_android9/porting_replicant_to_android9.tex b/NLnet/porting_replicant_to_android9/porting_replicant_to_android9.tex
index bde654f..b8cb7cb 100644
--- a/NLnet/porting_replicant_to_android9/porting_replicant_to_android9.tex
+++ b/NLnet/porting_replicant_to_android9/porting_replicant_to_android9.tex
@@ -16,7 +16,7 @@
\maketitle
\section{
- Disclaimers:
+ Disclamers:
}
\begin{itemize}
@@ -45,7 +45,7 @@
\end{itemize}
\section{
- Deliverable
+ Deliverables
}
\subsection{
@@ -105,23 +105,15 @@
\item{rebrand LineageOS as Replicant}
\end{itemize} & \\
\hline
- 70H &
+ 7H &
\begin{itemize}
- \item{port and cleanup the the Galaxy SIII (i9300) modem Linux driver to Linux 5.0 or later}
+ \item{port and cleanup the the Galaxy SIII (i9300) modem Linux driver from 4.16 to 5.0}
\end{itemize} &
- A port to Linux 4.16 of the driver is available at \url{https://github.com/fourkbomb/linux/}
- in the modem branch. At the beginning it can be used as a base for the work by porting
- it to Linux 5.0 or later. If that port is chosen, I will then need to investigate,
- possibly with the help of other upstream Linux developers, how to get rid of the hacks
- that are present in this port to Linux 4.16. Depending on how it turns out, I may have to
- rewrite a significant portion of the driver or other related code.
- At the time of writing I'm aware of a hack with the code that resets the link between
- the modem and the processor running Android\cite{HSIC-hack}, but it might not be the
- only issue that may take time to address.
- \\
+ The driver to port is available at \url{https://github.com/fourkbomb/linux/}
+ in the modem branch \\
\hline
\hline
- \multicolumn{3}{|c|}{Total: 147h (~1 month) }\\
+ \multicolumn{3}{|c|}{Total: 147h (aproximately one month) }\\
\hline
\end{longtable}
@@ -140,10 +132,9 @@
\item{Make the modem driver and libsamsung-ipc work together}
\end{itemize} &
The port of libsamsung-ipc and libsamsung-ril will be attempted
- with a compatibility layer at first. Devices manufacturer are
- probably required not to use an approach like
- that\cite{hal-types}\cite{HIDL} for new devices shipping
- Android 9.
+ with a compatibility layer at first. Devices manufacturer shipping
+ new devices with Android 9 are probably required not to use an
+ approach like that\cite{hal-types}\cite{HIDL}.
This issue will need to be looked in more details at later.
This will be done to be able to focus more on the modem driver,
@@ -158,7 +149,103 @@
\\
\hline
\hline
- \multicolumn{3}{|c|}{Total: 157h (~1 month) }\\
+ \multicolumn{3}{|c|}{Total: 147h (aproximately one month) }\\
+ \hline
+\end{longtable}
+
+\subsection{
+ Third month
+}
+
+\begin{longtable}[!t]{|p{1cm}|p{6cm}|p{6cm}|}
+ \hline
+ Time estimation & Task & Comments \\
+ \hline
+ \hline
+ 70H &
+ \begin{itemize}
+ \item{port the sensors libraries and other device specific libraries}
+ \end{itemize} & \\
+ \hline
+ 70H &
+ \begin{itemize}
+ \item{Add support for Audio with the upstream kernel driver}
+ \end{itemize} &
+ Might be faster, depending on what Android 9 uses. \\
+ \hline
+ 14H &
+ \begin{itemize}
+ \item{Add partial support for one of the following devices:
+ \begin{itemize}
+ \item{Galaxy SIII (I9300)}
+ \item{Galaxy SIII 4G (I9305)}
+ \end{itemize}
+ } and factorize the code with the one that is already supported.
+ \end{itemize}
+ & \\
+ \hline
+ \multicolumn{3}{|c|}{Total: 154h (aproximately one month) }\\
+ \hline
+\end{longtable}
+
+\subsection{
+ Forth month
+}
+
+\begin{longtable}[!t]{|p{1cm}|p{6cm}|p{6cm}|}
+ \hline
+ Time estimation & Task & Comments \\
+ \hline
+ \hline
+ 21h &
+ \begin{itemize}
+ \item{Create a recovery}
+ \end{itemize} & \\
+ \hline
+ 6h &
+ \begin{itemize}
+ \item{Add internal WiFi support and validate the functionality}
+ \end{itemize} &
+ This assumes that no big issues are encountred and that Android 9
+ already supports upstream Linux standard WiFi interfaces like
+ nl80211 or Wext.
+ Note that the internal WiFi don't work without nonfree firmwares.
+ The Replicant project doesn't ship the firmwares nor advises or
+ instructs users on how to install them.
+ This however don't prevent users to install them by their own.
+ \\
+ \hline
+ 20h &
+ \begin{itemize}
+ \item{Add external WiFi support and validate the functionality}
+ \end{itemize} & This might be very tricky. This is known to work
+ on Replicant 6 on some of the supported devices, but it has
+ reliability issues, which seem to depend a lot on the device
+ used and the charge of the battery. This is most probably due
+ to the fact that some devices aren't able to provide enough
+ current to the external dongle. More research will be needed
+ later (which is not part of this deliverable) to better
+ understand and characterize the issue for some of the devices.
+ If no big software issues are encountred, I will try to make
+ it work as well as on Replicant 6.
+ This is required for basic usage as the Internal WiFi doesn't
+ work without nonfree firmwares. \\
+ \hline
+ 35H &
+ \begin{itemize}
+ \item{create new update the install and upgrade instructions }
+ \end{itemize} &
+ The instructions will need to be made modular in order to be
+ easily changed. More specifically, to make a change that
+ applied to all the devices, you needed to change
+ each device-specific instructions, which highly discourage
+ contributing to the instructions.
+ The instructions will also need to be as simple as
+ possible to enable users with very basic command line
+ usage to use them.
+ \\
+ \hline
+ \multicolumn{3}{|c|}{Total: 82h (aproximately two weeks) } \\
\hline
\end{longtable}
@@ -166,7 +253,7 @@
\bibitem{CustomROMs}
\begin{itemize}
- lineage-16.0 branch in \url{https://github.com/CustomROMs/android\_local\_manifests\_i9300} and associated repositories.
+ lineag-16.0 branch in \url{https://github.com/CustomROMs/android\_local\_manifests\_i9300} and associated repositores.
\end{itemize}
\bibitem{hal-types}
@@ -175,9 +262,6 @@
\bibitem{HIDL}
\url{https://source.android.com/devices/architecture/hidl/}
-\bibitem{HSIC-hack}
- \url{https://github.com/fourkbomb/linux/commit/5c71c549206351c16412d23c38e3d8d62763f454}
-
\end{thebibliography}
\end{document}