banner
Heim / Nachricht / Öffnen Sie die Firmware für das PinePhone LTE-Modem
Nachricht

Öffnen Sie die Firmware für das PinePhone LTE-Modem

Jan 18, 2024Jan 18, 2024

In ihrer monatlichen Ankündigung sprachen sie neben all den coolen Dingen von Pine64 auch über die offene Firmware für das LTE-Modem von PinePhone. Die Firmware ist nicht vollständig geöffnet – einige Teile bleiben geschlossen. Und Pine betont, dass sie diese Firmware weder vorinstallieren noch offiziell unterstützen und PinePhones stattdessen weiterhin mit dem vom Hersteller bereitgestellten Modem-Firmware-Image ausliefern.

Allerdings ist die neue Firmware viel funktionsreicher – sie weist weniger Fehler, mehr Funktionen, einen geringeren Stromverbrauch und nur wenige proprietäre Teile auf. Ich möchte anmerken, dass das Modem des PinePhone mit einem speziellen Build dieser Firmware Doom ausführen kann – denn, nun ja, natürlich.

Und mit all dem ist es viel einfacher geworden, diese Firmware zu installieren – es gibt jetzt fwupd-Hooks! Sie können sich fwupd als das Äquivalent von Windows Update für Firmware vorstellen, außer dass es nicht missbräuchlich ist und auf Linux ausgerichtet ist. Mit anderen Worten: Eine perfekte Lösung, um Ihre Open-Source-Geräte so funktionsfähig wie möglich zu halten.

Was ist das Problem? Wenn offene Firmware so viel cooler ist, warum sind dann nicht mehr unserer Telefone mit offenen Firmware-Optionen verfügbar?

Telefonmodems sind ziemlich komplex. Ihr Telefon, egal ob Nummernblock oder „Smart“, verfügt über einen Modemchip von jemandem wie Mediatek oder Qualcomm, und dieser Chip verfügt über einen einigermaßen leistungsstarken CPU-Kern. Wenn Sie beispielsweise das SIM800-Modem (ein reines 2G-Modemmodul) nehmen, verfügt es über den MT6260-Chipsatz, bei dem es sich um eine ARM7-Single-Core-CPU und ein GSM-Basisband in einem Chip handelt. Man kann es sich wie einen ESP8266 auf Steroiden vorstellen, allerdings für GSM.

Im SIM800-Modul fungiert diese CPU als Vermittler zum „Empfangen von AT-Befehlen und Erledigen von GSM-Aufgaben“, wird aber auch als Allround-Prozessor für GPS-Tracker, Smartwatches und andere mit GSM verbundene Geräte verwendet. Tatsächlich kann der MT6260 ein ganzes Nokia 3310 betreiben! Genauer gesagt die Version von 2017.

Beim PinePhone-Modem war die Situation dieselbe. Es stellte sich schnell heraus, dass das Quectel-Modem eine abgespeckte Version von Android auf seinem ARM-Kern ausführte und die ADB-Shell über die USB-Schnittstelle des Modems verfügbar war. Als ein paar abenteuerlustige Hacker begannen, es zu untersuchen und Shell-Zugriff erhielten, fanden sie Tools wie ffmpeg, vim, gdb und sendmail einkompiliert – sicherlich nicht etwas, das man auf einem Mobilfunkmodem brauchen würde, aber hey. Firmware-Images wurden entpackt, ein Teil des Codes wurde rückentwickelt und das Modem bekam ein neu kompiliertes Linux-Herz.

Der spezifische Chip, der das Quectel EC25-G LTE-Modem des PinePhone antreibt, ist ein MDM9207 von Qualcomm mit einer Single-Core-CPU und 256 MB RAM und Flash an seiner Seite – diese Pine64-Wiki-Seite bringt Sie mit den technischen Details auf den neuesten Stand. Wenn Sie darüber nachdenken, ist das PinePhone eigentlich kein Quad-Core-CPU-Gerät – es ist ein Penta-Core-Dual-CPU-Gerät, auf dem zwei Linux-Installationen nebeneinander ausgeführt werden. Und ja, es ist nicht unmöglich, dass das Gleiche auch für Ihr Android-Telefon gilt.

Warum sollte man überhaupt Wert auf die Offenheit der Mobilfunkmodem-Firmware legen? Manche würden vielleicht sagen, dass wir ganz gut ohne leben können. Es stellt sich heraus, dass offene Firmware für Modems jede Menge Gutes mit sich bringt!

Eines der bemerkenswertesten ist die Möglichkeit, den CPU-Kern des PinePhone-Modems herunterzutakten – von 400 MHz auf 100 MHz. Dadurch verbraucht das Modem weniger Strom und erwärmt das Telefon nicht so stark. Die Konfiguration des Modems, beispielsweise die Audio-Bitraten, wird dynamischer gestaltet – ein Neustart des Modems ist nicht mehr erforderlich, um die Audioparameter zu ändern. Es gibt alle Arten von entwicklerfreundlichen Funktionen wie Protokollierungsfunktionen und Testmöglichkeiten; Auch die Integration von PinePhone kann verbessert werden – z. B. Fehlerbehebung und Verbesserung der Anrufabwicklung, während die CPU des PinePhone angehalten wird, um die Akkulaufzeit weiter zu verbessern.

Und natürlich Doom.

Es ist auch möglich, viele der Probleme zu beheben, die die Mobilfunkfunktionen von PinePhone beeinträchtigen – wie es bei Mobilfunkmodems üblich ist, gibt es zahlreiche Firmware-Probleme. Einige dieser Probleme können durch die Verwendung eines Firmware-Images eines anderen Anbieters behoben werden. Der Wechsel zwischen Binärimages und die Suche nach dem Bild mit den geringsten Fehlern ist jedoch frustrierend. Es ist auch möglich, Schwachstellen zu schließen, wie zum Beispiel die Funktion „Modem funktionsunfähig machen“, die vor einem halben Jahr von der seltsamen Malware, die es auf PinePhone abgesehen hat, ausgenutzt wurde.

Dies ist die Art von Kontrolle, die große Telefonhersteller bereits über die Modems erhalten, die sie in Telefone integrieren, um es klar zu sagen. Ein offenes Telefonprojekt muss über diese Art von Kontrolle verfügen – andernfalls wird es zwangsläufig benachteiligt, allein aufgrund der Abhängigkeit von proprietären Firmware-Images mit allen möglichen Störungen und Fehlfunktionen. Ohne Firmware-Modifizierbarkeit haben offene Telefone eine weitere Hürde in Richtung Funktionsparität, und unsere Technologie ist bereits ziemlich feindlich gegenüber offenen Telefonen in ihrer jetzigen Form.

In dieser Firmware ist nicht alles geöffnet. Die Basisband-Firmware, auch bekannt als ADSP-Firmware, bleibt geschlossen und wurde noch von niemandem rückentwickelt – Sie werden OpenBTS noch nicht auf diesem Modem ausführen.

Auch der TrustZone-Kernel bleibt geschlossen – soweit ich weiß, ist er von Qualcomm signiert. Allerdings ist die Linux-Installation frisch und stinkt nicht mehr, und der Anwendungsstapel von Qualcomm scheint durch einen leichteren ersetzt worden zu sein, wodurch auch die Notwendigkeit geschlossener Userspace-Tools oder -Treiber entfällt. Hierbei handelt es sich um eine Firmware, die Sie in vielerlei Hinsicht an Ihre Bedürfnisse anpassen und dann selbst kompilieren und flashen können.

Ich zähle immer wieder all diese Hintergründe und Vorteile auf – wenn man darüber nachdenkt, ist es ein bisschen unfair, dass ich die Einführungsfrage noch nicht beantwortet habe. Warum hatten wir nicht früher Modem-Open-Firmware? Nun sind wir endlich beim „Warum“ angelangt.

Die offene Firmware für das PinePhone-Modem ist technologisch überlegen und in Bezug auf den Code ändern sich die Basisband- bzw. RF-Pfade nicht. Warum also diese Firmware nicht ab Werk versenden? Warum die Sache mit „nicht offiziell empfohlen oder empfohlen“? Die Antwort ist, dass Pine64 in bestimmten Ländern die behördliche Zulassung verlieren könnte, wenn diese Firmware empfohlen oder vorinstalliert wird – weshalb sie dies auch nicht tun.

So wie es aussieht, wäre es dumm zu erwarten, dass Pine64 diese Firmware unterstützt. Sie arbeiten hart daran, sicherzustellen, dass PinePhone in möglichst vielen Ländern zertifiziert bleibt – ohne vorab eingerichtete Vertretungsnetzwerke und Kompetenzen, von denen Telefonhersteller profitieren, ist das eine komplizierte Aufgabe. Wenn Sie rechtlich dazu in der Lage sind, diese Firmware auszuführen, Gott sei Dank – andernfalls liegt die gesamte mögliche Verantwortung, wie unwahrscheinlich sie auch sein mag, bei Ihnen. Hier bei Hackaday genießen wir die Freiheit, als Privatperson Dinge zu tun, die man mit zum Verkauf stehenden Geräten nicht tun könnte.

Und ein solcher Bereich ist die funkrelevante Firmware. Die Anweisung der US-amerikanischen FCC zur regulären WLAN-Router-Firmware führte dazu, dass Router-Hersteller versuchten, Sie an der Installation von OpenWRT zu hindern. Das heißt, es sollte möglich sein, dass Router weiterhin benutzerdefinierte Firmware unterstützen, aber ich bin nicht optimistisch. Als ich die Trends im Laufe der Jahre beobachte und feststelle, dass die Firmware immer mehr blockiert wird, habe ich viel über eine bestimmte Frage nachgedacht.

Es ist wichtig zu verstehen, dass die Hersteller von Mobilfunkmodems regulatorische Beschränkungen umgehen können. Jenseits aller Ausreden und Gesetze stellt sich die Frage der Anstrengung. Es ist nicht unmöglich, Modem-Firmware mit gewissen Einschränkungen als Open-Source-Software zu veröffentlichen. Die Hersteller sind jedoch nicht motiviert, sich die Mühe zu machen, sie zu öffnen. Gesetze können umgangen werden – wir wissen genau, dass es in Marketingabteilungen nicht an juristischer Kreativität mangelt. Die schiere Lobbymacht von Konzernen, die beträchtlich ist, wenn sie Gewinneinbußen hinnehmen müssen, kommt bei der Verabschiedung von Firmware-beschränkenden Gesetzen nicht zum Vorschein. Warum nicht hier?

Was ich als Ausrede gesehen habe, ist die schiere Komplexität der Mobilfunktechnologie – und sie ist durchaus stichhaltig. Diese Standards sind in der Tat komplex. Allerdings musste man sich nicht durch die Nuancen des Mobilfunkprotokolls wühlen, um die CPU-Frequenz des Modems herunterzutakten oder Schnittstellenfehler zu beheben. Einige Teile davon könnten offen oder zumindest Open Source sein, und doch sind sie es nicht.

Eine andere Ausrede ist die Einhaltung gesetzlicher Vorschriften, und das ist auch einigermaßen stichhaltig – allerdings wurde das Gespräch nie überhaupt erst begonnen, es gab nie eine Anerkennung unserer Bedürfnisse, Bedürfnisse, die besprochen werden können und sollten. Einige Modems verfügen über ein SDK, das Integratorunternehmen nutzen können, einige Modems stellen Ihnen sogar eine Art Code-Interpreter zur Verfügung – in den meisten Fällen erfordert der Zugriff auf die Dokumentation für diese eine etablierte Geschäftsbeziehung, und dann treten regulatorische Probleme auf nicht so sehr ein Blocker zu sein.

Viele Probleme, die durch die Einhaltung gesetzlicher Vorschriften entschuldigt werden, kommen den Herstellern tatsächlich finanziell zugute – sei es durch den Verkauf neuer Hardware aufgrund geplanter Obsoleszenz oder durch Geld, das nicht für Anstrengungen aufgewendet wird, zu denen sie technisch gesehen nicht gezwungen sind. Die Firmware-Anpassung bleibt hinter NDAs und Geschäftsbeziehungen zurück. im Gegensatz dazu, zumindest teilweise offen und wettbewerbsfähig zu sein. Was monopolistischen Spielern sehr entgegenkommt.

Firmware-Offenheit ist eine Frage des Engagements und des Überwindens von Hürden – und wenn die Hersteller diese Anstrengungen nicht unternehmen, können wir Hacker zumindest hier und da einen Ausgleich schaffen. Wenn wir vorerst Funktionsparität für offene Telefone wollen, müssen wir unsere Reverse-Engineering-Tools an einigen Stellen tief in der proprietären Firmware verankern.

Sie fragen sich vielleicht – warum gerade jetzt und warum Pine64? Es gab bereits Open-Source-Basisband-Projekte, aber nicht viele davon haben es so weit gebracht. Nun, es spielten einige Faktoren zu ihren Gunsten, und ich möchte über den wichtigsten sprechen.

Der Schlüssel zu Durchbrüchen wie diesen ist es, Hardware in die Hände von Hackern zu bekommen – genau das ist Pine64 gut gelungen. PinePhones werden nun schon seit über zwei Jahren ausgeliefert, und praktisch jeder, der eines haben möchte, kann eines bekommen, was dazu führt, dass nicht wenige Hacker ein offenes Gerät mit einem Quectel-Modem besitzen.

Von da an war es nur noch eine Frage der Zeit, bis Hacker anfingen, das Modem anzugreifen! Auch der niedrige Preis hilft – obwohl das PinePhone im Vergleich zu Flaggschiff-Telefonen nichts Besonderes ist, kostet es auch nur einen Bruchteil des Preises, und wenn Sie Linux darauf haben, können Sie in puncto Leistung mehr herausholen, was den Nachteil, den es mit sich bringt, zunichte macht. Wäre es aussagekräftiger, wenn es mit Android laufen würde.

Ich möchte auch hinzufügen, dass ein hackerfreundliches Telefon zu einem so niedrigen Preis bedeutet, dass man es speziell für die Art von Hackern zugänglich macht, die es ohnehin schon gewohnt sind, immer mehr aus den Geräten herauszuholen, die sie besitzen – unter anderem aus finanziellen Gründen. Manchmal werden unsere Fähigkeiten durch die Notwendigkeit geschärft, was einer der Gründe dafür ist, dass die Arbeit von Pine64 umso wertvoller ist – sie hilft einer neuen Generation von Hackern, Zugang zu Tools und Spielplätzen zu erhalten, von denen sie zuvor finanziell ausgeschlossen waren.

Es könnte sehr gut sein, dass eines Ihrer Privattelefone auf die gleiche Weise gehackt werden kann: Entfernen Sie den minderwertigen Linux-Build, auf dem das Modem Ihres Telefons läuft, und ersetzen Sie ihn durch einen Linux-Build, über den Sie mehr Kontrolle haben. Die Verfügbarkeit von PinePhone hat uns geholfen, diese Hürde zu überwinden, und nun werden zukünftige Projekte davon profitieren. Tatsächlich können Sie eines dieser Quectel-Modems als mPCIe-Karte erwerben und ganz einfach ein Modem mit offener Firmware in Ihre eigenen Geräte einbauen!

Diese Firmware ist nicht vollständig offen, aber ein großer Teil davon – der Teil, der für die Verbesserung der Mobilfunkfunktionen von PinePhone am nützlichsten ist. Was werden wir mit einer solchen Modifizierbarkeit als nächstes erreichen? Und welchen Herausforderungen werden wir angesichts dieser Fähigkeiten in Zukunft gegenüberstehen? Wir wissen noch nicht alles, was passieren wird, aber diese Arbeit ist eine gute Nachricht für uns.