[Anleitung]SP_Flash_Tool_Linux (für MediaTek-SoC) einrichten

Miss Montage

Miss Montage

Ehrenmitglied
21.550
Das Flash-Tool funktioniert leider nur auf Linux 64-bit Systemen!
DISCLAIMER! Flashen ist immer riskant, ich übernehme keinerlei Verantwortung für etwaige Bootloops oder Bricks.
Achtet darauf, dass Ihr eine ROM / Recovery flasht, die auf Euer Handy zugeschnitten ist. Außerdem muss sie für das SP_Flash_Tool geeignet sein.

Erfolgreich getested habe ich das SP_Flash_Tool_exe_Linux_64Bit_v5.1520.00.100.zip und spätere Versionen mit meinem Umi Hammer, einem Zopo 980+ und einem Cubot H1.
Weitere Geräte stehen mir nicht zur Verfügung, es ist auch keine Anschaffung geplant.
Tausend Dank an Sergio Rivero für sein exzellentes Tutorial auf mibqyyo.com!!!!!!!!!!!!!!!!!
(Ich habe nur übersetzt und etwas modifiziert)

Und los geht's:


1. Lade die aktuelle Version des SP_Flash_Tool_Linux herunter:
Download Smart Phone Flash Tool (Latest Version)
Für 32-bit-Systeme habe ich leider keine Version gefunden.

Falls noch nicht geschehen, installiere die Bibliothek mit generischen USB-Treibern für Linux:
Code:
sudo apt-get install libusb-dev

2. Entpacke die herunter geladene Datei (Rechtsklick, „Öffnen mit Archivverwaltung“ und Entpacken“).

Verschiebe den Ordner sp_flash_tool in ein Verzeichnis Deiner Wahl.
Code:
mv /home/username/Downloads/sp_flash_tool /home/username/...

Nur für Ubuntu 16.10 und spätere Versionen:
Installiere libpng12-0. Diese Bibliothek wurde in neueren Ubuntu-Versionen gestrichen, das Flash Tool ist aber noch darauf angewiesen.

http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

3. Wechsle in den neu erstellten Ordner und liste die darin enthaltenen Dateien und Ordner auf:
Code:
cd /sp_flash_tool
Die Ausgabe von
Code:
ls
sollte so aussehen:

upload_2015-7-16_15-53-16.png


Jetzt machen wir eine dieser Dateien ausführbar

Code:
chmod +x flash_tool

Um zu vermeiden, das Tool als root-Benutzer auszuführen, müssen wir einen Standardbenutzer der Gruppe "dialout" hinzfügen (Vielen Dank @egalus für diesen Hinweis!)

Code:
sudo adduser benutzername dialout
und aktivieren die neue Zugehörigkeit
Code:
newgrp - dialout


4. Das Tool kannst Du jetzt mit dem Befehl
Code:
./flash_tool
öffnen.

An dieser Stelle kannst Du testen, ob das Flash-Tool eine Verbindung zu Deinem Handy bekommt. Wähle den Reiter „Download“. Schalte Dein Handy aus. Klicke auf das Schaltfeld "Scatter-loading", navigiere zu einem Ordner mit passender Firmware für Dein Gerät, wähle die Scatter-Datei aus.
Für Testzwecke kannst Du das Kreuz vor "name" entfernen und aus der Liste unten ein kleineres File auszwählen, z.B. "logo". Dann klickst Du auf die Schaltfläche "Download". Schließe nun Dein Handy an den Rechner an: bei manchen Handys muss man die Batterie für ca. 10 Sekunden entnehmen und wahlweise vor oder nach dem Verbinden wieder einlegen Bei anderen muss beim Anschließen Vol+ oder Vol- gedrückt werden. Schau im passenden Geräteforum nach und probiere verschiedene Varianten aus, wenn es nicht gleich funktioniert.

Falls gar nichts passiert, schau in einem zweiten Terminal nach, ob Du unter der Ausgabe von
Code:
dmesg | grep usb
einen MediaTek-Eintrag findest:

upload_2015-7-16_16-5-10.png

Falls nein, prüfe Schritt 1.: Ist libusb-dev installiert?
Danach hilft es, einen dauerhaften Eintrag unter /etc/udev/rules.d anzulegen:
Code:
sudo gedit /etc/udev/rules.d/80-persistent-usb.rules
oder
Code:
gksu gedit /etc/udev/rules.d/80-persistent-usb.rules
Dort fügst Du folgende Zeile ein:
Code:
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="*"
Du kannst die Datei speichern und schließen.

Die udev-Regeln müssen erneut geladen werden:
Code:
sudo service udev restart

Trenne das Kabel vom Rechner und Handy. Starte es neu, Fastboot Mode reicht aus. Dann wiederhole den ersten Absatz unter 4.

Wenn eine Verbindung zustande kommt, sollte nach einer kurzen Verzögerung ein roter Balken erscheinen. Leider ging dieser erste Erfolg bei mir immer mit folgender Fehlermeldung einher:

S_BROM_CMD_JUMP_DA_FAIL (2035):

upload_2015-7-16_16-7-43.png


Eine Verbindung ist da, aber irgendwo klemmt es noch...


5. Jetzt kommen wir zum interessanten Teil, der mich zwei Wochen meines Lebens gekostet hat. Tausend Dank an Sergio Rivero für sein exzellentes Tutorial auf mibqyyo.com!!!!!!!!!!!!!!!!!
Vielen Dank auch an @N2k1 für weitere Hintergrunderklärungen!

Das Linux-Paket "modemmanager" - wenn ich es recht verstehe, handelt es sich dabei um eine Art USB-Firewall - kontrolliert den Port /dev/ttyACM0 und behindert das SP_Flash_Tool. Deshalb setzen wir für ihn die zwei Vendor-IDs des Flash_Tools auf die schwarze Liste:
Code:
sudo gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules
oder
Code:
gksu gedit /etc/udev/rules.d/20-mm-blacklist-mtk.rules
Dort fügen wir folgende Zeilen ein:
Code:
ATTRS{idVendor}=="0e8d", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="6000", ENV{ID_MM_DEVICE_IGNORE}="1"
Dann starten wir erneut udev mit den geänderten Regeln:
Code:
sudo service udev restart

6. Jetzt sollte alles klappen. Schalte das Handy aus (ggf. Batterie für 10 Sekunden entfernen und wieder einlegen.
Code:
./flash_tool
Überprüfe die Firmware, Download-Variante und die Optionen, klicke auf "Download", schließ' das Handy an. Tutorials für die Benutzung des Flash-Tools gibt es wie Sand am Meer. Happy flashing!

upload_2015-7-16_15-46-36.png

7. Wenn nach dem gelben Ladebalken ein großer grüner Haken in der Mitte der Anwendung erscheint, hast Du es geschafft. Du kannst die Anwendung schließen und Dein Handy neu starten. Gegebenfalls musst Du dazu nochmals für 10 Sekunden die Batterie entfernen und wieder einlegen.

Nochmals mil gracias an sergio@mibqyyo und an @N2k1!!!!
 

Anhänge

  • upload_2015-7-16_15-48-35.png
    upload_2015-7-16_15-48-35.png
    9,1 KB · Aufrufe: 642
  • upload_2015-7-16_16-7-8.png
    upload_2015-7-16_16-7-8.png
    20,8 KB · Aufrufe: 680
Zuletzt bearbeitet:
  • Danke
Reaktionen: lastmichinruh, Blaze1984, moidept und 6 andere
Für Ergänzungen reserviert...
 
Zuletzt bearbeitet:
Danke, hab mit diesem Tutorial mein P6000 wieder zum laufen gebracht!
Top!
 
  • Danke
Reaktionen: Miss Montage
Hier und dort kommen Rückfragen wegen der udev-Regeln:

Das Flash-Tool nutzt andere Vendor IDs als ADB, Fastboot, MTP oder der USB-Massenspeicher. Diese Vendor IDs stehen in der Datei usb_settings.xml im SP_Flash_Tool-Ordner und sind nicht vom speziellen Gerät abhängig.
Mit den Einträgen unter
Code:
  /etc/udev/rules.d/20-mm-blacklist-mtk.rules
teilen wir dem Modemmanager mit, die zwei Vendor IDs des Flash-Tools zu ignorieren. Der Modemmanager bleibt also weiterhin auf allen anderen Netzwerk-relevanten USB-Ports aktiv.
 
  • Danke
Reaktionen: Jiayu_ba
Hallöchen,

ich habe das genau nach Anleitung oben gemacht, bekomme :
/sp_flash_tool$ sudo ./flash_tool
./flash_tool: 1: ./flash_tool: Syntax error: "(" unexpected

bin auf Ubuntu 14.04.3 LTS.
Danke im vorraus für die Hilfe!
 
Welche Flash-Tool-Version benutzt Du?
Versuch es bitte nochmal mit
Code:
chmod +x flash_tool.sh
und
Code:
sudo ./flash_tool.sh
 
/sp_flash_tool$ chmod +x flash_tool.sh
tommeletbone@tommeletbone-1005HA:/sp_flash_tool$ sudo ./flash_tool.sh
/sp_flash_tool/./flash_tool: 1: /sp_flash_tool/./flash_tool: Syntax error: "(" unexpected
tommeletbone@tommeletbone-10

rechte sollten stimmen:
ls -l | grep flash_tool
-rwxrwxrwx 1 tommeletbone tommeletbone 9029757 Jun 17 10:31 flash_tool
-rwxrwxrwx 1 tommeletbone tommeletbone 272 Jun 17 10:31 flash_tool.sh
tommeletbone@tommeletbone-1005HA:/sp_flash_tool$

ich nutze SP_Flash_Tool_Linux_32Bit_v5.1520.00.100
 
  • Danke
Reaktionen: Miss Montage
Mich hat bei xda ein User mit dem selben Problem angeschrieben, möglicherweise ist es ein 32bit-Problem.
Meistens hat die "unexpected syntax" aber mit dem Shell Interpreter zu tun (so las ich es zumindest).
Aber es ist einen Versuch wert. Was passiert also, wenn Du
Code:
sudo bash ./flash_tool.sh
tippst?
 
root@tommeletbone-1005HA:/sp_flash_tool# sudo bash ./flash_tool.sh
./flash_tool.sh: Zeile 14: /sp_flash_tool/./flash_tool: cannot execute binary file: Fehler im Format der Programmdatei
 
Hmm... Kannst Du bitte mal die Datei "flash_tool.sh" hochladen? Einfach als .zip komprimieren... In die eigentliche Programmdatei habe ich leider keinen Einblick...
Es wäre noch eine Möglichkeit, eine andere Version auszuprobieren...
 
#!/bin/sh
appname=`basename $0 | sed s/.sh$//g`

dirname=`dirname $0`
tmp="${dirname#?}"

if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname:$dirname/lib
export LD_LIBRARY_PATH

$dirname/$appname "$@"
 
Sieht bei den Versionen vor v_5.1532 bei mir genauso aus. Kannst Du die flash_tool Datei per Rechtsklick öffnen?
 
nope, rechter mausklick--->ausführen, tut sich nix
 
Ich befürchte, dann liegt es wirklich an einem Programmfehler für 32-bit-Systeme. Versuch' es bitte mal mit einer früheren Version, zum Beispiel dieser hier SP_Flash_Tool_Linux_v-5.1452.00.100
 
Zuletzt bearbeitet:
habe ich probiert, selbe fehlermeldung.....hmmm puuuh
[DOUBLEPOST=1442780428,1442779600][/DOUBLEPOST]vielleicht ist da irgendwie eine "verknüpfung" falsch, weil er versucht es ja immer irgendwie als binary zu installieren?!
 
Schade... im Moment fällt mir nicht mehr dazu ein, als noch weiter rückwärts die Versionen durchzutesten. Es wäre auch eine Idee, hanuma50 bei Needrom anzuschreiben.
edit: Es ist eine Binary!
 
Zuletzt bearbeitet:
ich habe das selbe problem beim rechner meiner frau, auch ubuntu, ich habe mal die frage bei xda gepostet und den hanuma angtickert, mal schauen...
mir ist so, als würde da irgendwie noch ein package fehlen oder sowas...
 
Ist auf beiden Rechnern Ubuntu 32-bit installiert? (System Settings -> Informationen)
Sehen die Datei-Eigenschaften von flash_tool bei Dir genau so aus?
 

Anhänge

  • Bildschirmfoto vom 2015-09-21 09:05:19.png
    Bildschirmfoto vom 2015-09-21 09:05:19.png
    10,4 KB · Aufrufe: 484
Zuletzt bearbeitet:
jup ist auch 32-bit.

ich habe die eigenschaften von dem .sh file schon gechecked "rechter mausklick eigenschauften" da steht das häckchen bei "ausführen"...


ich habe noch mal gegoogled für x-executables und ubuntu, da hab ich sowas gefunden : "
the mounted file system / partition must allow to run an executable.
Eg. the file system must be mounted with exec parameter instead of noexec. Look at the file /etc/fstab or check the mounted partition with mount command"

hmm..da das verzeichnis im root liegt, könnte es sein, dass ich vielleicht hier noch was erlauben muss?!
(bin kein linuxguru)
 
x-executable steht also bereits in den Datei-Eigenschaften?
 

Ähnliche Themen

H
  • hkais
Antworten
11
Aufrufe
226
swa00
swa00
Miss Montage
Antworten
212
Aufrufe
139.283
Wattsolls
Wattsolls
Miss Montage
Antworten
71
Aufrufe
48.741
DocMAX
D
Zurück
Oben Unten