From 157fb0ef5f8c79da272a3cdccf0549ba28e97b1d Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Thu, 9 May 2019 18:04:56 +0200 Subject: Add third and forth months Signed-off-by: Denis 'GNUtoo' Carikli --- .../porting_replicant_to_android9.tex | 132 +++++++++++++++++---- 1 file 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} -- cgit v1.2.3