Samsung Galaxy Tab S2 mit LineageOS

9. Juni 2019 · Betriebssysteme · andreas · 16 Kommentare

Auch wenn der Markt für Android Tablets auf den ersten Blick nach halbwegs Ausahl aussieht - spätestens beim Blick auf die Sicherheitsupdates kommt der Gedanke, daß es um diese nicht nur gefühlt nochmals eine ganze Ecke schlechter bestellt ist als bei Smartphones.

Denkt man gar darüber nach, ein alternatives Betriebssystem wie LineageOS einsetzen zu wollen, bleiben von den aktuell am Markt befindlichen Geräten nur noch wenige übrig. Als “Preis-Leistungssieger” entpuppt sich das Samsung Galaxy Tab S2, welches mit immer noch ausreichender Ausstattung als Neugerät erhältlich und für das offiziell LineageOS 16 verfügbar ist.

Wichtig ist, die richtige Version des Gerätes zu erwischen. Statt der Urversion des S2 von 2015 wird die aktualisierte Version von 2016 benötigt, in welcher der Samsung eigene Exynos-Prozessor durch einen Qualcomm Snapdragon ersetzt wurde. Wie das LineageOS Wiki verrät, handelt es sich hierbei um die Modellnummer SM-T813, Codename “gts210vewifi”.

Im Wiki findet sich auch eine Installationsanleitung, welche sich im Vergleich zu z.B. den Google-eigenen Nexus-Geräten nicht einfach nachklicken lässt, sondern so manchen Stolperstein beinhaltet.

Heimdall

Während bei “normalen” Android-Geräten das Einspielen der Custom Recovery mittels “fastboot” erledigt wird, hat Samsung einen sogenannten “Download-Modus” implementiert, der auf dem Odin-Protokoll basiert. Die Installationsanleitung verweist hierfür auf “heimdall”, eine freie Implementierung des Odin-Protokolls und gibt an:

Linux: Pick the appropriate package to install for your distribution. The -frontend packages aren’t needed for this guide. After installation, verify Heimdall is installed by running heimdall version in the terminal.

Leider stellt sich heraus, daß der Testbefehl

heimdall print-pit

mit der aktuell für alle Debian-Releases erhältlichen Heimdall Version v1.4.1 auf einen Fehler läuft:

$ heimdall print-pit
Heimdall v1.4.1
...
Downloading device's PIT file...
ERROR: Failed to send request to end PIT file transfer!
ERROR: Failed to download PIT file!
Ending session...
ERROR: Failed to send end session packet!
Releasing device interface...

Abhilfe schafft, sich den aktuellen Heimdall-Quellcode von GitLab zu organisieren (Klick auf das Symbol mit der Wolke und “Download”) und anschließend selbst zu übersetzen. Eine Kurzanleitung findet sich im archivierten GitHub-Wiki und besteht im Wesentlichen darin, nach dem Installieren der erforderlichen Pakete

sudo apt-get install build-essential cmake zlib1g-dev qt5-default libusb-1.0-0-dev libgl1-mesa-glx libgl1-mesa-dev

die Entwicklungswerkzeuge ihre Arbeit erledigen zu lassen

$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make

Anschließend findet sich im “bin”-Verzeichnis heimdall in der Version v1.4.2, mit der die Kommunikation dann problemlos funktioniert:

$ ./heimdall print-pit
Heimdall v1.4.2
...
Downloading device's PIT file...
PIT file download successful.

Entry Count: 43
...
Ending session...
Rebooting device...
Releasing device interface...

Nach erfolgreichem Test kann dann das Recovery auf das Tablet übertragen werden:

$ ./heimdall flash --RECOVERY twrp-3.3.1-0-gts210vewifi.img --no-reboot
Heimdall v1.4.2
...
Downloading device's PIT file...
PIT file download successful.

Uploading RECOVERY
100%
RECOVERY upload successful

Ending session...
Releasing device interface...

Nach dem erfolgreichen Flashen der Recovery steht ein weiterer Stolperstein im Weg: der Neustart. Das Wiki meint hierzu lediglich:

Manually reboot into recovery:
With the device powered off, hold Home + Volume Up + Power.

Leider lässt sich der Download-Modus nicht durch Drücken des “Power”-Buttons beenden, die einzige Möglichkeit bleibt, mittels “Power + Volume Down” einen Hard-Reset zu erzwingen um in dem Moment, in dem der Bildschirm dunkel wird, auf “Home + Volume Up + Power” zu wechseln, um so in der Recovery zu landen.

Ist dies geschafft, kann der Rest der Installation nach Fahrplan des Wikis erfolgen.