Ouvrez le micrologiciel pour le modem PinePhone LTE – Qu’est-ce qui se passe avec ça?

Dans leur annonce mensuelle, parmi toutes les choses intéressantes Pine64, ils ont parlé du micrologiciel ouvert pour le modem LTE de PinePhone. Le firmware n’est pas complètement ouvert – quelques parties restent fermées. Et Pine souligne qu’ils ne préinstallent ni n’approuvent officiellement ce micrologiciel, et PinePhones continuera à être livré avec l’image du micrologiciel du modem fournie par le fournisseur à la place.

Cela dit, le nouveau micrologiciel est beaucoup plus fonctionnel – il a moins de bogues, plus de fonctionnalités, une consommation d’énergie réduite et ses composants propriétaires sont rares et espacés. J’aimerais noter qu’avec une version spéciale de ce micrologiciel, le modem du PinePhone peut exécuter Doom – parce que, bien sûr.

Et avec tout cela, il est devenu beaucoup plus facile d’installer ce firmware – il y a fwupd crochets maintenant! Vous pouvez penser à fwupd comme l’équivalent de Windows Update pour le firmware, sauf non abusif, et destiné à Linux. Un ajustement parfait pour garder vos appareils open source aussi fonctionnels que possible, en d’autres termes.

Quel est le problème? Si le micrologiciel ouvert est tellement plus cool, pourquoi n’y a-t-il pas plus d’options de micrologiciel ouvert disponibles sur nos téléphones ?

Les modems téléphoniques sont assez complexes. Votre téléphone, pavé numérique ou « intelligent », a une puce de modem de quelqu’un comme Mediatek ou Qualcomm, et cette puce a un cœur de processeur raisonnablement puissant à l’intérieur. Par exemple, si vous prenez le modem SIM800 (un module de modem 2G uniquement), il possède le chipset MT6260, qui est un processeur monocœur ARM7 et une bande de base GSM dans une seule puce. Vous pouvez le considérer comme un ESP8266 sous stéroïdes, mais pour le GSM.

Dans le module SIM800, ce processeur agit comme un intermédiaire « recevoir des commandes AT et faire des choses GSM », mais il a également été utilisé comme processeur polyvalent pour les trackers GPS, les montres intelligentes et d’autres appareils connectés au GSM. En fait, le MT6260 peut faire fonctionner un Nokia 3310 entier ! La version 2017, pour être exact.

Rendu de la puce du modem Quectel, rendu du haut superposé sur le rendu du bas, montrant certains des pads au bas du modem

Avec le modem PinePhone, la situation s’est avérée être la même. Il a été rapidement découvert que le modem Quectel exécutait une version simplifiée d’Android sur son cœur ARM, avec adb shell disponible sur l’interface USB du modem. Lorsque quelques pirates aventureux ont commencé à le sonder et ont obtenu un accès au shell, ils ont trouvé des outils comme ffmpeg, vim, gdb et sendmail compilé – certainement pas quelque chose dont vous auriez besoin sur un modem cellulaire, mais bon. Les images du micrologiciel ont été décompressées, certains codes ont fait l’objet d’une ingénierie inverse et le modem s’est doté d’un cœur Linux nouvellement compilé.

La puce spécifique alimentant le modem Quectel EC25-G LTE du PinePhone est un MDM9207 de Qualcomm, avec un processeur monocœur et 256 Mo de RAM et un flash à ses côtés – cette page Wiki Pine64 vous permettra de vous familiariser avec les détails techniques. Si vous y réfléchissez, le PinePhone n’est pas vraiment un périphérique CPU quad-core – c’est un périphérique penta-core dual-CPU, exécutant deux installations Linux côte à côte. Et oui, il n’est pas impossible qu’il en soit de même pour votre téléphone Android.

Pourquoi valoriser l’ouverture du micrologiciel du modem cellulaire, de toute façon ? Nous avons très bien vécu sans elle, diront certains. Il s’avère que le firmware ouvert pour les modems apporte beaucoup de bonnes choses !

L’un des plus remarquables est la possibilité de downclocker le cœur du processeur du modem PinePhone, le faisant passer de 400 MHz à 100 MHz. Cela permet au modem de consommer moins d’énergie et de chauffer moins le téléphone. La configuration du modem, par exemple les débits audio, est rendue plus dynamique – ne nécessitant plus de redémarrage du modem pour modifier les paramètres audio. Il existe toutes sortes de fonctionnalités conviviales pour les développeurs, telles que des capacités de journalisation et des installations de test. L’intégration de PinePhone peut également être améliorée – c’est-à-dire le débogage et l’amélioration de la gestion des appels pendant que le processeur du PinePhone est suspendu pour améliorer encore la durée de vie de la batterie.

Et, bien sûr, Doom.

Il est également possible de résoudre de nombreux problèmes qui entravent les capacités cellulaires de PinePhone – comme c’est généralement le cas avec les modems cellulaires, il existe de nombreux problèmes de micrologiciel. Certains d’entre eux peuvent être corrigés en utilisant une image de micrologiciel de fournisseur différent, mais passer d’une image binaire à l’autre et rechercher celle qui présente le moins de problèmes est un exercice frustrant. Il est également possible de corriger des vulnérabilités, comme celle de « rendre le modem inutilisable » qui a été exploitée par le malware étrange ciblant PinePhone il y a six mois.

Une carte mini-PCIe avec ce modem Quectel soudé dessus
Vous pouvez obtenir un de ces modems autonome sur une carte mPCIe !

C’est le genre de contrôle que les fabricants de téléphones à grande échelle obtiennent déjà sur les modems qu’ils intègrent dans les téléphones, pour être clair. Un projet de téléphone ouvert a d’avoir ce type de contrôle – sinon, il est forcément désavantagé, uniquement en raison de la dépendance à des images de micrologiciels propriétaires avec toutes sortes de problèmes et de fonctionnalités erronées. Sans possibilité de modification du micrologiciel, les téléphones ouverts ont un obstacle de plus vers la parité des fonctionnalités, et notre technologie est déjà assez hostile aux téléphones ouverts tels quels.

Tout n’est pas ouvert dans ce firmware. Le micrologiciel de la bande de base, alias les bits RF connus sous le nom de micrologiciel ADSP, reste fermé et n’a encore été rétro-conçu par personne – vous n’allez pas encore exécuter OpenBTS sur ce modem.

Le noyau TrustZone reste également fermé – je crois comprendre qu’il est signé par Qualcomm. Cependant, l’installation Linux est fraîche et ne pue plus, et la pile d’applications de Qualcomm semble avoir été remplacée par une pile plus légère, supprimant également tout besoin d’outils ou de pilotes d’espace utilisateur fermé. Il s’agit d’un firmware que vous pouvez modifier selon vos besoins sous de nombreux aspects, puis compiler et flasher vous-même.

Je continue d’énumérer tous ces antécédents et avantages – pour y penser, c’est un peu injuste que je n’aie pas encore répondu à la question d’introduction. Pourquoi n’avons-nous pas eu de firmware ouvert pour le modem plus tôt ? Eh bien, nous arrivons enfin au « pourquoi ».

Le micrologiciel ouvert du modem PinePhone est technologiquement supérieur et, du point de vue du code, la bande de base, c’est-à-dire les chemins RF, ne change pas. Alors, pourquoi ne pas expédier ce firmware depuis l’usine ? Pourquoi la chose « non officiellement approuvée ou recommandée » ? La réponse est que Pine64 pourrait perdre l’approbation réglementaire dans certains pays s’il approuvait ou préinstallait ce micrologiciel – c’est pourquoi ils ne le font pas non plus.

Un PCB bleu avec un Pi Pico et le modem Quectel dessus, un écran IPS au-dessus du modem et quelques autres morceaux comme des connecteurs
Vous pouvez même obtenir l’un de ces modems sur un shield Pi Pico !

Dans l’état actuel des choses, il serait insensé de s’attendre à l’approbation par Pine64 de ce firmware. Ils travaillent dur pour s’assurer que PinePhone reste certifié dans autant de pays que possible – sans réseaux préétablis de représentation et de compétences dont bénéficient les fabricants de téléphones, c’est une tâche compliquée. Si vous êtes légalement en mesure d’exécuter ce micrologiciel, bon vent – sinon, toute responsabilité possible, même improbable, vous incombera. Ici, sur Hackaday, nous nous délectons de la liberté de faire des choses en tant que particulier que vous ne pourriez pas faire avec du matériel à vendre.

Et l’un de ces domaines est le micrologiciel radio. Les instructions de la FCC américaine sur le micrologiciel du routeur WiFi standard ont conduit les fabricants de routeurs à tenter de vous empêcher d’installer OpenWRT. C’est-à-dire qu’il devrait être possible pour les routeurs de rester compatibles avec les micrologiciels personnalisés, mais je ne suis pas optimiste. En observant les tendances au fil des ans, en remarquant que les micrologiciels sont de plus en plus verrouillés, j’ai beaucoup réfléchi à une certaine question.

Il est important de comprendre que les restrictions réglementaires peuvent être contournées par les fabricants de modems cellulaires. Au-delà de toutes les excuses et de toutes les lois, il y a la question de l’effort. Il n’est pas impossible d’ouvrir le firmware du modem avec certaines mises en garde, c’est que les fabricants ne sont pas motivés à s’embêter à le rendre ouvert. Les lois peuvent être contournées – nous savons très bien que la créativité juridique ne manque pas dans les départements marketing. Le simple pouvoir de lobbying des entreprises, considérable lorsqu’elles risquent de perdre des bénéfices, n’est pas mis en évidence lorsque les lois limitant les micrologiciels sont adoptées. Pourquoi pas ici?

Ce que j’ai vu utilisé comme excuse, c’est la complexité même de la technologie cellulaire – et elle retient de l’eau. Ces normes sont en effet complexes. Cependant, il n’a pas fallu parcourir les nuances du protocole cellulaire pour réduire la fréquence du processeur du modem ou corriger les bogues d’interface. Certaines parties pourraient être ouvertes, ou du moins open-source, et pourtant elles ne le sont pas.

Un routeur TP-Link avec son couvercle retiré, des fils de liaison allant de son PCB à une planche à pain, qu'un PCB de décalage de niveau logique est branché. Un autre ensemble de fils du levier de vitesses semble alors aller dans un adaptateur USB-UART.
Nous nous éloignons des routeurs flashés OpenWRT capables d’une disponibilité de plusieurs années

Une autre excuse est la conformité réglementaire, et cela tient aussi de l’eau – cependant, la conversation n’a jamais commencé, il n’y a jamais eu de reconnaissance de nos besoins, des besoins qui peuvent et doivent être discutés. Certains modems ont un SDK que les entreprises intégratrices peuvent utiliser, quelques modems vous fourniront une sorte d’interpréteur de code, même – le plus souvent, l’accès à la documentation de ceux-ci nécessite une relation commerciale établie, et puis, des problèmes réglementaires semblent pour ne pas être autant un bloqueur.

De nombreux problèmes excusés par la conformité réglementaire profitent financièrement aux fabricants – que ce soit par le biais de nouveaux matériels vendus en raison de l’obsolescence planifiée ou de l’argent non dépensé pour des efforts qu’ils ne sont techniquement pas obligés de fournir. La personnalisation du micrologiciel reste derrière les NDA et les relations commerciales, au lieu d’être au moins partiellement ouvert et compétitif. Ce qui convient parfaitement aux joueurs monopolistiques.

L’ouverture du micrologiciel est une question d’engagement et de franchissement des obstacles – et si les fabricants ne font pas cet effort, au moins nous, les pirates, pouvons compenser ici et là. Pour l’instant, si nous voulons la parité des fonctionnalités pour les téléphones ouverts, nous devrons obtenir nos outils de rétro-ingénierie en profondeur dans le micrologiciel propriétaire à certains moments.

Vous vous demandez peut-être – pourquoi spécifiquement maintenant, et pourquoi Pine64 ? Il y a eu des projets de bande de base open source auparavant, mais peu d’entre eux sont allés aussi loin. Eh bien, bon nombre de facteurs ont joué en leur faveur, et j’aimerais parler du principal.

Capture d'écran de la liste des produits PinePhone du magasin Pine64, montrant qu'elle se vend actuellement à 150 $
Il est difficile de ne pas apprécier un smartphone ouvert à 150 $

Mettre le matériel entre les mains des pirates est la clé de percées comme celles-ci – c’est ce que Pine64 a bien réussi à faire. Les PinePhones sont expédiés depuis plus de deux ans maintenant, et pratiquement tous ceux qui en veulent un peuvent en obtenir un, ce qui fait que quelques pirates possèdent un appareil ouvert avec un modem Quectel.

À partir de là, ce n’était qu’une question de temps jusqu’à ce que les pirates commencent à fouiller le modem ! Le prix bas aide également – alors que PinePhone n’a rien d’émerveillant par rapport aux téléphones phares, il ne coûte également qu’une fraction du prix, et le fait d’avoir Linux dessus vous aide à en tirer plus en matière de performances, annulant l’inconvénient qui ‘ d serait plus appréciable s’il devait tourner sous Android.

J’ajouterais également qu’avoir un téléphone ami pirate à un prix aussi bas signifie que vous le rendez accessible spécifiquement au type de pirates déjà habitués à extraire de plus en plus les appareils qu’ils possèdent – pour des raisons financières, entre autres. Parfois, nos compétences sont aiguisées par les besoins, ce qui est l’une des raisons pour lesquelles le travail effectué par Pine64 est d’autant plus précieux – aider une nouvelle génération de pirates informatiques à accéder à des outils et à des terrains de jeux dont ils étaient auparavant financièrement exclus.

Il se peut très bien que l’un de vos téléphones personnels soit piratable de la même manière – en supprimant la version Linux de qualité inférieure exécutant le modem de votre téléphone et en la remplaçant par une version Linux sur laquelle vous avez plus de contrôle. La disponibilité de PinePhone nous a aidés à surmonter cet obstacle, et maintenant de futurs projets en bénéficieront. En fait, vous pouvez obtenir l’un de ces modems Quectel sous forme de carte mPCIe et intégrer facilement un modem à micrologiciel ouvert dans vos propres appareils !

Ce micrologiciel n’est pas entièrement ouvert, mais une grande partie l’est – ce qui se trouve être la partie la plus utile pour améliorer les capacités cellulaires de PinePhone. Avec une telle modifiabilité, qu’allons-nous accomplir ensuite ? Et compte tenu de ces capacités, à quels défis serons-nous confrontés à l’avenir ? Nous ne savons pas encore tout ce qui va se passer, mais ce travail est une bonne nouvelle pour nous.