PinePhone Modem-Firmware aktualisieren

15. Februar 2022

von Kevin Mandura

Inhaltsverzeichnis


Besitzt man das PinePhone in einer relativ frühen Hardware-Revision, sprich zum Beispiel die "PinePhone v1.2 Ubports Community Edition", ist höchstwahrscheinlich eine Software-Aktualisierung für die Firmware des verbauten Quectel-Modems verfügbar.

Diese Firmware-Aktualisierung zählt unbestreitbar zu jenen Updates, die man mit diesem Smartphone sehnlichst erwartet, denn das PinePhone ist auch im Februar 2022 noch immer in der frühen Entwicklungsphase und gerade das Modem ist, bei mir zumindest, so ziemlich das einzige Problem, was ich wirklich scharf bemängle.

Die Problematik mit der älteren, verbreiteten Firmware-Version ist vor allem, dass dieses sich im Suspend-, bzw. Standby-Modus sehr häufig und gerne vom hauptsächlichen Betriebssystem verabschiedet, sodass man eingehende Anrufe und SMSen zwar anhand des Aufleuchten des Bildschirms grob wahrnehmen kann, jedoch keinerlei Daten/Informationen angezeigt werden und das Interagieren mit dem Modem nicht mehr möglich ist, bis man das Smartphone herunterfährt und neu startet. Natürlich ist das für viele Leute ein nachvollziehbarer Grund, dort keine SIM-Karte hineinzustecken und stattdessen ein anderes Smartphone zu verwenden.

Das Lustige an der ganzen Sache ist übrigens, dass dieses wahnsinnig hilfreiche Update schon seit über 17 Monaten verfügbar ist und ich erst heute, am 14. Februar 2022 die entsprechenden Anweisungen im offiziellen PINE64-Wiki gefunden habe.
Über ein Jahr lang habe ich mir das PinePhone in diesem Zustand mit dem Modem gegeben und bis heute wundern sich wahrscheinlich immer noch die einen oder anderen Anrufer darüber, dass ich nicht reagiert habe (weil ich schlichtweg nicht reagieren konnte, bis das Gerät neu gestartet wurde und ich erraten musste, wer überhaupt angerufen hat 😆)

In dieser Anleitung zeige ich, wie man die Firmware-Version des Modems im PinePhone ermitteln kann und gegebenenfalls eine neuere Firmware-Version installieren kann. Dabei spielt es keine Rolle, welches Linux-Betriebssystem man auf dem PinePhone betreibt, wichtig ist nur, dass genügend Speicherplatz auf dem Gerät frei ist, da die Firmware-Dateien in etwa 512 Megabyte groß sind.

Verwendet man als Betriebssystem Ubports/Ubuntu Touch, muss definitiv eine microSD-Karte her, da der interne eMMC-Speicher selbst bei einem frisch installierten System nicht ausreicht. Ich habe auf eine 32 Gigabyte microSD-Karte einfach das Ubports-Betriebssystem geschrieben (Offizielle Anweisungen hierzu: https://wiki.pine64.org/wiki/PinePhone_Software_Releases#Ubuntu_Touch), und auf dieser Systembasis dann das Firmware-Update durchgeführt. Wie ich dabei vorgegangen bin, stelle ich nun vor.

1. Firmware-Version ermitteln

Starte auf dem PinePhone zunächst einen Terminal-Emulator.

Unter Ubports/Ubuntu Touch mache dazu einen langen Wisch vom linken Bildschirmrand und tippe dann auf das Symbol für die Terminal-App, wie auf dem folgenden Foto gezeigt:

Foto vom Ubports App Drawer

Verwendest du ein anderes Betriebssystem als Ubports, wirst du eine Terminal-/Konsole-App sicher ohne große Sucherei im Homescreen finden.

Um die Firmware-Version des Modems auslesen zu können, muss ein systeminterner Befehl ausgeführt werden. Aus diesem Grund wechselt man zunächst mit folgendem Befehl zum administrativen Benutzer «root»:

sudo su

Daraufhin musst du im Regelfall dein Passwort eingeben, welches du für deine Anmeldung verwendest.
Dieses Passwort musst du blind eingeben. Das bedeutet einfach, dass du deine Eingabe aus Sicherheitsgründen nicht am Bildschirm siehst.

Führe anschließend den untenstehenden Befehl aus, der über mehrere Zeilen verläuft. Drücke nach jeder eingegebenen Zeile Enter:

atinout - /dev/EG25.AT out.txt << EOF
> AT+QGMR
> EOF

Anschließend kannst du die gerade ermittelte Firmware-Version mit folgendem Befehl auslesen:

cat ./out.txt

Die Ausgabe sieht dann ungefähr so aus:

Foto von der ermittelten Modem-Firmware-Version

Sollte dort, wie auf dem Foto, die Versionsnummer 01.002.01.002 angezeigt werden, verwendest du bereits die hochgelobte neue Firmware-Version mit all den Fehlerbehebungen.
Während ich diesen Artikel schreibe, gibt es keine neuere Version, jedoch könnte es zukünftig weitere Updates geben, die bekannte Fehler beheben oder die Leistung verbessern.

Die Vorgehensweise mit der Firmware-Aktualisierung ist aber soweit immer gleich, und auf diese gehe ich jetzt ein. Falls du die Firmware-Version 01.001.01.001 angezeigt bekommst, empfehle ich dir dringend, den folgenden Anweisungen zu folgen.

Die erzeugte Datei "out.txt" wird nicht länger benötigt und kann mit folgendem Befehl gelöscht werden:

rm ./out.txt

2. Vorbereitungen treffen

Damit das Modem durch Unterbrechungen des Aktualisierungsprozesses nicht in einen defekten Zustand gerät, stelle folgende Punkte sicher:

Nun muss noch sichergestellt werden, dass genügend freier Speicherplatz (etwa 512 Megabyte) vorhanden ist und dass git installiert ist.
Mit Git können die Firmware-Dateien nämlich auf einfachem Wege von GitHub heruntergeladen werden.

Bei Ubports/Ubuntu Touch muss Git zunächst nachinstalliert werden. Um dies zu tun, muss das Dateisystem temporär beschreibbar gemacht werden, dies geht mit folgendem Befehl (als «root»):

mount -o remount,rw /

Mit einer aktiven Internetverbindung führt man dann die folgenden beiden Befehle aus, um letztendlich Git zu installieren:

apt update
$ apt install git

Mit der älteren Firmware-Version kann es eben vorkommen, dass das mobile Internet manchmal nicht funktioniert, bis man das Gerät neu gestartet hat. Sollte dies jetzt gerade der Fall sein und die Befehle eine Fehlermeldung zurückgeben, führe einen Neustart des Gerätes durch und gebe die drei Befehle oben für die Vorbereitung erneut ein.

3. Firmware aktualisieren

Bevor man diese Schritte durchführt, vergewissert man sich bitte vor allem nochmal, dass der Akku des PinePhones ausreichend geladen ist und das Gerät zusätzlich an die externe Stromversorgung angeschlossen ist.

Im Terminal, immer noch als administrativer Benutzer «root», klont man sich mit folgendem Befehl das Git-Repository, in dem sich die nötigen Firmware-Dateien befinden:

git clone https://github.com/Biktorgj/quectel_eg25_recovery

Der Download beläuft sich, wie bereits erwähnt, auf etwa 512 Megabyte. Steht dieser Speicherplatz nicht zur Verfügung, bricht der ganze Download mitten drin mit einer entsprechenden Fehlermeldung ab.

Wenn alles problemlos heruntergeladen wurde, wechselt man mit folgendem Befehl in das neue Verzeichnis mit den heruntergeladenen Dateien:

cd quectel_eg25_recovery/

Nun folgt der entscheidende Befehl, dessen Ausführung auf keinen Fall unterbrochen werden sollte, da man sich sonst mit der Reparatur des Modems befassen darf.
Führe diesen Befehl aus und lasse das Pinephone in Ruhe, bis das Update abgeschlossen wurde (es dauert auch gar nicht lange). Falls noch nicht geschehen, stelle sicher, dass sich das Gerät nicht automatisch abschaltet oder sperrt, bzw. in den Ruhemodus wechselt.

Aufgrund der Instabilität der zurzeit noch aktiven Firmware des Modems, empfehle ich außerdem an dieser Stelle noch, die Funktion des Modems zu testen, indem man z. B. eine Test-SMS versendet. Sollte diese SMS nicht verschickt werden (das sieht man an dem permanenten Ladekreis und dem gräulichen Hintergrund bei der SMS), sollte das Gerät nochmal neu gestartet werden. In diesem Fall wird die SMS nach dem Neustart automatisch versandt und man öffnet einfach wieder die Terminal-App, wechselt mit dem Befehl oben in das Verzeichnis mit den Firmware-Dateien und gibt dann schließlich den Installationsbefehl unten ein.

Wichtiger Hinweis:
Um ganz auf Nummer sicher zu gehen, teste die Funktion des Modems nach dem frischen Neustart nochmal.
Ich selbst hatte es schon erlebt, dass ich das Gerät mehrmals hintereinander neustarten musste, bevor ich Anrufe tätigen und SMSen senden und empfangen konnte.

Der Befehl zum Flashen der aktualisierten Firmware:

./qfirehose -f ./

Nachdem das Update erfolgreich durchgelaufen ist, wird das Modem im Hintergrund automatisch neu gestartet. Dies dauert wiederum 30 bis 60 Sekunden.

Nach also etwa einer Minute nach dem Update-Vorgang, solltest du das PinePhone herunterfahren und neu starten.

Das war es dann tatsächlich gewesen. Du wirst die Fehlerbehebungen mit der aktualisierten Firmware auf jeden Fall bemerken! Bei mir kann ich jedenfalls wirklich behaupten, dass das Modem selbst durch die Firmware-Aktualisierung soweit einwandfrei funktioniert und außerdem spürbar weniger Wärme entwickelt.

4. Schlussbemerkung

Mit entsprechenden Kenntnissen und Fähigkeiten könnte man die Optimierung des Modems weitertreiben und einen entsperrten Bootloader auf das Modem flashen, um beliebige Linux-Kernel darauf zu installieren. Die offiziellen Anweisungen von PINE64, dem Hersteller des PinePhones, findet man hier: https://wiki.pine64.org/wiki/PineModems

Dies sollte man aber unterlassen, wenn man vor hat, das Telefon innerhalb der EU z. B. tatsächlich zu verwenden.
Denn nicht-offizielle Modem-Firmware mag die EU ganz und gar nicht, denn mit der Spyware bleibt alles so wie es hier ist, und da wird sich auch nichts dran rütteln — egal ob du ein Terrorist bist, und nicht.

Wenn wir aber ganz viel Glück haben, klaut sich der Modem-Hersteller eines Tages Teile des offenen Quellcodes der Community, der einige interessante Verbesserungen enthält, wie beispielsweise ein geringerer Stromverbrauch. Denn der Modem-Hersteller könnte dann wieder ein hoch-offizielles Firmware-Upgrade herausposaunen und wir in der EU dürfen das dann auch nutzen.


Hat dir dieser Artikel gefallen?

Dieser Artikel wurde von Kevin Mandura verfasst.

Für Rückmeldungen hat der Autor Kontaktdaten angegeben.

E-Mail Kontakt
kontakt@kantinen-lieferservice.de

PayPal
Der Autor dieses Artikels nimmt Spenden via PayPal entgegen.
https://paypal.me/ktlsde

Monero
Der Autor dieses Artikels nimmt Spenden über die Kryptowährung Monero (XMR) entgegen.
Gebe als Empfänger-Adresse folgende an:
kantinen-lieferservice.de