Peaufiner son ZTE Open C en Firefox OS 2.5

J’avais équipé pas mal de monde en ZTE Open C autour de moi. Même si le projet Firefox OS est mort, les téléphones ne le sont pas : j’ai essayé de les configurer au mieux pour qu’ils soient utilisables au quotidien le plus longtemps possible.

Depuis le début, j’essaie de privilégier la stabilité du téléphone plutôt que les nouvelles fonctionnalités, ce qui explique que bon nombre d’entre eux soient encore en version 2.0 de Firefox OS. Mais j’ai pris le temps de tester des correctifs aux derniers bugs qui me posaient problème en 2.5.

Et puis il est temps d’upgrader avant que certaines ressources non libres ne disparaissent d’Internet…

Sommaire

Tout ce qui est écrit ci-dessous n’a été testé que sur des ZTE Open C version FR. Si vous n’êtes pas sûr de votre version (FR ou EU), allez voir le site des builds communautaires : http://builds.firefoxos.mozfr.org (édité le 21/11/2018 : le site est hors ligne, mais archivé sur https://web.archive.org/web/20160508084823/http://builds.firefoxos.mozfr.org/)

J’ai une copie locale de tous les éléments nécessaires aux étapes ci-dessous : si certaines URLs ou fichiers ne sont plus accessibles, contactez-moi.

Sauvegarder les données

Si votre appareil est déjà rooté, vous pouvez sauvegarder vos données avant les manipulations ci-dessous. C’est toujours une bonne précaution.

Il y a un script tout prêt qui le fait très bien : https://github.com/Mozilla-TWQA/B2G-flash-tool/

(utiliser backup_restore_profile.py -b)

Ça ne sauvegarde que les paramétrages qui sont dans le téléphone, pas ce qu’il y a sur la carte SD (qui peut être sauvegardée séparément).

Rooter l’appareil et installer le build communautaire 2.5

Les instructions détaillées se trouvent sur http://builds.firefoxos.mozfr.org (édité le 21/11/2018 : le site est hors ligne, mais archivé sur https://web.archive.org/web/20160508084823/http://builds.firefoxos.mozfr.org/)

Installer également la mise à jour du firmware du modem : http://builds.firefoxos.mozfr.org/doc/fr/maj-firmware-modem  (édité le 21/11/2018 : le site est hors ligne, mais archivé sur https://web.archive.org/web/20160324101704/http://builds.firefoxos.mozfr.org/doc/fr/maj-firmware-modem. Edité le 01/10/2021 : le repo de micgeri n’existant plus sur github, j’en ai mis une copie sur https://gitlab.com/mossroy/zte-openc-flash-modem)

Remettre le clavier français

Dans certains cas, la mise à jour en 2.5 repasse l’interface et le clavier en anglais. Il suffit d’aller dans les paramètres (« Settings »), puis Langue (« Language »). Ensuite, dans « Claviers », « Sélectionner des claviers », décocher « English » et cocher « Français ».

Edité le 21/11/2018 : si cela vous arrive, et que le clavier revient en anglais à chaque reboot, le seul contournement que j’ai trouvé est de refaire l’installation. Et de faire attention, après le rootage de l’appareil depuis l’application Windows de ZTE, de démarrer l’appareil une première fois, suivre les étapes de l’assistant de démarrage (notamment pour choisir la langue). Ce n’est qu’après cela qu’on peut installer le build communautaire.

Installer les patchs Bluetooth, Timekeep et LED

Il est probable que toutes les étapes ne soient pas nécessaires (je pense notamment à la seconde), mais je suis sûr que tout fonctionne si on fait ces 3 étapes dans cet ordre.

Contourner le bluetooth qui ne se connecte plus

Si on avait associé le téléphone avec des appareils bluetooth en version <2.5, et qu’on fait ensuite la mise à jour en 2.5 + patch bluedroid (comme décrit ci-dessus), il arrive que le téléphone ne se connecte plus aux appareils concernés, et qu’on ne puisse plus les dissocier non plus.

Je pense que c’est dû au changement de librairie bluetooth : certains fichiers de paramétrages sont probablement encore liés à l’ancienne version.

Dans ce cas, la solution que j’ai trouvée consiste à supprimer ces fichiers de paramétrage, pour repartir à zéro (il faudra bien sûr ré-associer les périphériques) :

adb shell rm -rf /data/misc/bluetoothd/*
adb shell rm -rf /data/misc/bluedroid/*
adb reboot

Mise à jour le 04/11/2016 : même avec ces patchs, il semblerait que le bluetooth soit moins stable qu’il ne l’était en versions <=2.2. En tous cas, j’ai rencontré des cas où il n’envoyait pas le son vers un périphérique audio connecté, de manière assez aléatoire.

Installer le correctif sur l’agenda

Un bug m’a posé problème pendant très longtemps : certains mois, tous les événements disparaissaient de l’agenda : https://bugzilla.mozilla.org/show_bug.cgi?id=1258193.

J’ai mis longtemps avant d’y trouver une solution. Finalement, j’ai mis au point un correctif, et ai fait le Pull Request correspondant : https://github.com/mozilla-b2g/gaia/pull/34424. Je me doute bien que ce correctif ne sera jamais fusionné puisque le projet est arrêté. Peu importe, l’idée était surtout de le mettre à disposition des personnes à qui ça pourrait rendre service.

Pour simplifier l’installation, je mets également à disposition le fichier application.zip correspondant. Pour l’installer, il faut lancer quelques commandes adb :

adb shell stop b2g
adb shell mount -o remount,rw /system
adb push application.zip /system/b2g/webapps/calendar.gaiamobile.org
adb shell start b2g

Par contre, il arrive qu’il y ait un effet de bord : quand l’application est restée ouverte pendant longtemps, et qu’on va dans le détail d’un événement (que ce soit en création, mise à jour, ou simplement lecture), tout est écrit très petit et on ne peut rien enregistrer. Dans ce cas, un redémarrage de l’appli suffit à tout remettre d’aplomb.

Installer la radio FM

Cette application manque dans le build communautaire 2.5. Mais on peut la remettre facilement : https://forums.mozfr.org/viewtopic.php?f=33&t=127146&p=807373&hilit=radio#p807094

En résumé :

  • récupérer le code source de Gaia depuis https://github.com/mozilla-b2g/gaia
  • passer sur la branche 2.5 (git checkout v2.5)
  • compiler avec un make
  • lancer WebIDE depuis Firefox, et brancher le téléphone
  • Dans WebIDE, ouvrir une application empaquetée, choisir le répertoire build_stage/fm et l’installer sur le téléphone

Seul bémol : de cette manière, l’application est en anglais. il y a sûrement moyen de la mettre en français, mais je n’ai pas cherché. Vu la simplicité de l’application, ça ne m’a pas paru prioritaire.

Supprimer les applications inutiles

La build communautaire 2.5 est fournie avec quelques applications plutôt orientées développement, qui sont pour certaines obsolètes. Pour un usage quotidien, on peut donc supprimer :

  • WebMaker
  • Bugzilla Lite
  • RunWhatsApp (Preview), qui ne semble pas fonctionner
  • BuddyUp
  • Foxfooding
  • Firesea IRC

J’aurais également aimé supprimé les applications ci-dessous, mais apparemment ce n’est pas possible :

  • Customizer
  • Hackerplace
  • Studio
  • Sharing
  • MozSpeech

Tant pis, on peut toujours les déplacer à un endroit qui ne gêne pas trop…

Les problèmes (mineurs) qui subsistent

Je n’ai pas réussi à faire fonctionner https://github.com/john-hu/kill-all-active-apps avec cette version : dommage, je trouvais ça très pratique.

Par rapport aux versions 2.0 et 2.1, il y a un ralentissement dans la prise en compte des « frappes » clavier (dans les messages ou emails, notamment). Les caractères s’affichent avec un peu de retard quand on tape un peu vite, et donc l’auto-complétion ne se déclenche pas toujours. C’est parfois un peu gênant, mais pas très grave de mon point de vue.

Edité le 15/10/2017 : j’ai trouvé un contournement pour le ralentissement des frappes clavier dans les messages. Il suffit de faire du ménage dans l’historique des messages, et on retrouve un clavier réactif. Dans la version 2.5 de Firefox OS, il y a tout ce qu’il faut pour que l’utilisateur le fasse lui-même : soit en supprimant des messages, ou carrément tous les messages échangés avec une personne donnée. A noter qu’il est possible de sauvegarder ces messages (dans un format HTML pas parfait, mais c’est toujours mieux que rien), en installant https://github.com/elninosi/BackupApp-FXOS.

Bilan

Avec tout ça, j’ai des téléphones qui marchent tout à fait bien, dont je suis vraiment satisfait.

Certes, l’appareil photo de ce modèle est vraiment médiocre. Mais quelle chance d’avoir une plateforme (presque) entièrement libre et un téléphone aussi fonctionnel et complet.

Quel dommage que Firefox OS ait été arrêté. A chaque fois que je regarde ce qu’il se fait d’autre, que je liste les critères qui m’importent, c’est à chaque fois sur Firefox OS que je retombe. Mais bon, il faudra certainement que je me fasse une raison un jour…

3 réflexions sur « Peaufiner son ZTE Open C en Firefox OS 2.5 »

  1. Bonjour

    Serait-il possible s’il vous plait, de mettre à disposition un zip de votre installation de FFOS 2.5 sur ZTE Open C telle que présentée ici, afin de l’installer via recovery ?

    Merci.

  2. Bonjour

    Pour la réinstallation de la radio, qu’entendez-vous par « passer sur la branche 2.5 (git checkout v2.5) » ?

    Merci

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *