Tolino Shine 1.3 Root

Pinbelegung

Pinbelegung

Leider ist momentan keine Möglichkeit bekannt den Tolino Shine mit aktueller Software zu Rooten, ohne das Gehäuse zu öffnen.

Mit ein bisschen Technischem Verständnis und ein wenig Fingerspitzengefühl kann man Root realisieren ohne das Gerät ganz auseinander zu bauen.

Benötigt wird hierfür ein 3,3V UART zu Seriell Wandler, FTDI, MAX3232 oder ähnliches. Ein starker Fingernagel oder ein Gitarrenplektrum (Tipp von Vaske). Die Plattform-Tools aus dem Google Android Developer Toolkit. Und die SU Binary aus dem ALLESebook.de Tolino Shine Root Kit.

Zunächst öffnet man das Gehäuse und Schließt die Console an, wie in meinem Artikel Analyse des Tolino Shine beschrieben.

Nun öffnet man ein Terminal Programm (Putty) und verbindet sich mit der seriellen Schnittstelle und der Geschwindigkeit 115200 Mode 8n1.

Danach muss der eingeschaltet werden, im Sleep Modus wird das ganze System tatsächlich in den Ruhezustand versetzt und es passiert Garnichts.

Es kann sein, dass man die Kabelverbindung ein bisschen justieren muss, bis es geht.

Nach dem drücken der Enter Taste, sollte man einen Prompt bekommen und mit dem Befehl id sieht man auch gleich, dass man schon root ist.

bash-3.2# id
uid=0(root) gid=1007(log)

Jetzt startet man den ADB wie folgt.

bash-3.2# start adbd
warning: 'adbd' uses 32-bit capabilities (legacy support in use)
enabling adb

Schließt man das Gerät nun über USB an den PC, wird man feststellen, dass ein neues Device hinzugekommen ist, in der Regel wird er dafür keinen Treiber finden, da die ADB Device ID vom Tolino Shine dem Treiber unbekannt ist.

Nun muss man noch die Datei android_winusb.inf aus dem Android ADB USB Driver editieren und die folgende Zeile in den beiden Abschnitten [Google.NTx86] und [Google.NTamd64] einfügen.

%CompositeAdbInterface%     = USB_Install, USB\VID_1F85&PID_1689&MI_01

Der Treiber kann nun für das neue Device ausgewählt und installiert werden.

Jetzt muss man nur noch dem adb client die USB ID übermitteln. Dazu muss die Datei %USERPROFILE%\.android\adb_usb.ini angelegt oder editiert werden, mit dem Inhalt 0x1f85 .

Der Befehl auf dem PC adb devices sollte nun den Tolio auflisten.

D:\adt-bundle-windows-x86_64-20131030\sdk\platform-tools>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
2041****        device

Die SU Binary kann man bequem über den Explorer auf den Tolino kopieren, danach die Freigabe wieder deaktivieren.

Installation der SU Binary wie folgt über die serielle Console:

bash-3.2# mount -o rw,remount /dev/block/mmcblk0p2 /system
bash-3.2# ln /system/bin/busybox /system/bin/cp
bash-3.2# ln /system/bin/busybox /system/bin/vi
bash-3.2# cp /sdcard/su /system/xbin/su
bash-3.2# ln -s /system/xbin/su /system/bin/su
bash-3.2# chmod 6755 /system/xbin/su

Zeile 1: System Partition schreibbar mounten
Zeile 2: cp Kommando aktivieren
Zeile 3: vi Kommando aktivieren
Zeile 4: su Binary kopieren
Zeile 5: Symlink der su Binary anlegen
Zeile 6: Berechtigung der su Binary anpassen

Jetzt kann man über den PC die funktion der SU Binary testen:

D:\adt-bundle-windows-x86_64-20131030\sdk\platform-tools>adb shell
$ su
su
# id
id
uid=0(root) gid=0(root) groups=1003(graphics),1004(input),1007(log),1009(mount),1011(adb),1015(sdcard_rw),3001(net_bt_admin),3002(net_bt),3003(inet)

Damit nun der ADB bei einem Neustart des Tolino wieder mit gestartet wird, kann man in der Datei /system/bin/hw_check.sh den Befehl start adbd einfügen.

Höchstwahrscheinlich ist die ganze Prozedur nicht Updatesicher, da bei einem Update des Tolio die gesamte System Partition überschrieben wird. Mich persönlich stört das nicht, da ich meinen Tolino nicht ins WLan eingebunden habe und die Bücher nur über USB ablege.

Analyse des Tolino Shine

Nachdem der Tolino Shine bei uns zu Hause eingetrudelt ist, habe ich mich damit ein wenig beschäftigt.

Im Internet habe ich auch gleich ein paar Informationen gefunden, bezüglich root etc., leider ist das rooten ohne das Gerät zu öffnen seit dem Update 1.2 nicht mehr möglich, zumindest bis jetzt.

Wenn man doch dazu kommt und das Gerät öffnet, findet man dort, netter weise eine Micro SD die in einem Sockel Steckt, was natürlich das Verwandeln zu einem Ziegelstein nahezu unmöglich macht.

Nachdem ich ein paar Bilder eines geöffneten Shine angeschaut hatte und die Position der Seriellen Console gesehen habe, dachte ich mir, da müsste man doch ran kommen ohne das Gerät ganz aus einander zu bauen.

Mit einem starken Daumennagel konnte ich den Tolino, ohne das Gehäuse zu beschädigen, an der Seite öffnen. Bingo da lässt sich mit einer kleinen Kabelbrücke ran kommen.

Serielle Console

Serielle Console

Nun denn habe ich meinen 3,3V Seriell Wandler ausgepackt und ein Stück Flachbandkabel mit dem Rastermaß von 2,54mm, die Litze besteht aus jeweils einem Draht, sodass das ganze schön formstabil bleibt.

Die Enden habe ich ca. 2mm ab-isoliert und 45° nach unten gebogen. Länger als 2mm dürfen die Enden nicht sein, da es sonst nicht zwischen Platine und Display passt.

Adapterkabel

Adapterkabel

Ein bisschen fummelig stellte sich dann das richtige Platzieren der Kabelbrücke heraus, danach tat dann das Gehäuse sein Übriges um das Kabel in Position zu halten.

Alles in allem war ich in 5 Minuten damit fertig und hatte die Root Console des Tolino vor mir.

Anschluss

Anschluss

Der Rest war Fleißarbeit, einfach start adbd eingeben und schon startete der ADB. Dann noch schnell die su Binary installieren.

Schon konnte man das ganze wieder entfernen und das Gehäuse zu machen. Keine Schramme, kein Garnichts, sieht aus wie neu.

So konnte ich dann auf dem Tolino mit der Version 1.3.0 alle schönen Apps (Launcher, Button, …) wieder installieren und das alles ohne das Gerät auseinander bauen zu müssen.

Man sollte sich dann noch in einem der Startskripte eine ADB Backdoor einbauen, damit dieser auch nach einem Neustart wieder da ist.

Ach ja, bevor ich irgendetwas gemacht habe, habe ich mir erst mal die eingebaute SD Karte per dd auf eine Externe gesichert (Sicher ist sicher!).