LineageOS 14.1 pour le ZTE Open C / Kis 3

Une envie de Nougat ? Cela tombe bien car je viens de stabiliser LineageOS 14.1 (Android 7.1.2) pour le ZTE Open C (alias Kis 3). En effet, KonstaT nous avait offert un avant-goût de Nougat en guise d’adieu au projet en publiant une version anticipée avec pas mal de problèmes mineurs.

J’ai pour ma part optimisé les faibles ressources matérielles afin d’avoir une ROM réactive en utilisant le moins de mémoire possible. J’ai également corrigé pas mal de petits problèmes signalés par Mossroy et l’ensemble de mes magnifiques utilisateurs 🙂
C’est ainsi grâce à eux, que cette version est plus stable que ma précédente release.

Enfin, j’ai tâché de faire de mon mieux pour durcir l’ensemble, toujours avec les problèmes de ressource mais également à cause du noyau qui n’a jamais été modernisé à l’époque par le constructeur et par mozilla.

A cet effet, j’avais ajouté Grsec et j’ai notamment pu (grâce à PaX) augmenter l’ASLR :

JOURNAL DES MODIFICATIONS :
_Correction du problème du son (parfois le téléphone ne sonnait pas)
_Correction du partage de connexion wifi
_Correction du déplacement d’application sur la SD
_Ajout de F-Droid et Firefox Lite (mise à jour possible par l’utilisateur)
_Beaucoup de correction dans le noyau
_Divers changement dans la configuration de l’appareil

PROBLÈMES RESTANT A CORRIGER :
_Impossibilité d’ajouter un VPN depuis le menu paramètres
_Problème d’affichage de la mémoire de stockage restante depuis le menu paramètres

PRÉVISION POUR LA SUITE :
_LineageOS 15 voir 16 ? Peu probable et semble peu réalisable d’un point de vu technique.
_Upgrade du noyau ? Trop de travail et pas rentable pour un vieux smartphone.

REMERCIEMENT :
_KonstaT et l’équipe de LineageOS

LIEN DE TÉLÉCHARGEMENT : lineage-14.1-20181116-UNOFFICIAL-kis3_with_unofficial_grsec.zip
SOMME DE CONTRÔLE MD5: b6dd8357add9a8e401bec251d5fc2998
CODE SOURCE : disponible ici.

Vous aimez mon travail ? Un merci suffit 😉

49 réponses à “LineageOS 14.1 pour le ZTE Open C / Kis 3

  1. Bonjour,

    Merci pour votre travail, c’est sympa de continuer à faire vivre l’Open-C et c’est toujours appréciable de voir reculer l’obsolescence de ce smartphone qui commence à dater maintenant. J’ai bien envie de tester cette version 14 mais avant j’aurais une question à propos de la procédure d’installation, sachant que je suis actuellement sur la version 13 de KonstaT et que j’ai un peu oublié les détails de mon installation.

    – Est-ce que je peux directement installer votre ROM depuis ma carte SD en suivant cette procédure:

    1.boot into ClockWorkMod recovery
    2.backup and restore -> backup (create a nandroid backup of your current ROM)
    3.mounts and storage -> format /system
    4.wipe data and factory reset
    5.install lineage-14.1-20181116-UNOFFICIAL-kis3_with_unofficial_grsec.zip
    6.reboot now

    Où y-a-t-il d’autres instructions à suivre pour l’installation?

    Merci d’avance.

    • Bonjour Tallawah,

      Oui, c’est la bonne procédure (le point 2 est optionnel, à voir si besoin).
      Perso, je recommande également d’effacer le Dalvik (non sélectionné automatiquement dans le recorvery ClockWorkMod contrairement au recorvery TWRP).

      Perso, j’utilise TWRP car plus complet et puissant mais le ClockWorkMod est suffisant la plupart du temps.

      Le plus important étant d’avoir installé un des deux recovery (car ils peuvent être utilisés en mode live) afin de pouvoir réinstaller la partition system en cas de problème.

      • Merci pour votre réponse, je testerai cela ces jours-ci et je ferai un ptit retour. Pour le Dalvik je connaissais pas je viens de voir que l’option est bien présente sous ClockWorkMod dans « advanced », je ferai ça aussi.

        @Mossroy
        Merci pour votre tuto, je transmets à un ami à qui j’avais fait acheter un Open-C toujours sous FFOs et qui voulait passer à Lineage.

      • Normalement, il doit être vidé par le « wipe data » (effacer les données de data) car le dalvik-cache est dans /data mais j’ai pas vérifié le code pour confirmer (le dossier est peut-être épargné ?).
        Donc dans le doute, je le recommande car ça ne coûte rien ^^

    • Cool, avec ton Add_my_modifications_without_fork.patch, j’arrive à préinstaller F-Droid et Firefox Lite (en plaçant les .apk dans vendor/cm/prebuilt/common/apps/, et en commentant les autres apk dans vendor/cm/prebuilt/common/Android.mk)
      Et je retrouve bien l’info de statut grsec/pax dans les paramètres.

      La seule différence visible qui subsiste par rapport à ta ROM, c’est le bootanimation, qui est resté celui par défaut de LineageOS : c’est vraiment un détail.

      Question : dans ton patch sur Android.mk, tu désactives le def_lock_screen_allow_private_notifications : je comprends l’intérêt en termes de confidentialité pour les gens qui auraient un oeil sur ton téléphone, mais est-ce qu’il y aurait une autre raison?

      • Pour le bootanimation, cela peut venir du cache du dossier « out », regardes qu’il n’y a pas de fichier « bootanimation.zip » dedans.
        Concernant « def_lock_screen_allow_private_notifications », c’est juste pour la confidentialité.

  2. Bonjour.

    Petit retour après quelques jours d’utilisation de cette version 14.1 (sans gapps et sans l’addon su). Le système fonctionne parfaitement, aucun problème notable à signaler. Comparé à la version 13.1 de KonstaT que j’utilisais précédemment c’est tout aussi fluide, le système utilise moins de ram, d’espace de stockage et consomme aussi moins de batterie.
    J’avais aussi un problème après l’installation de certaines apps qui faisaient planter trebuchet, rendaient l’appareil inutilisable et m’obligeait à passer par adb pour désinstaller mais depuis résolu avec cette version.
    Pour le reste j’ai une utilisation assez basique de l’appareil, j’ai installé une vingtaine d’applications toutes fonctionnelles. Les réseaux mobile, wifi et le gps fonctionnent correctement.
    Voilà, de quoi permettre à l’OpenC de durer encore quelque temps.

    Merci encore.

    • Je n’ai pas réussi à mettre à jour Firefox Lite en version 1.0.3 (téléchargé depuis https://github.com/mozilla-tw/Rocket/releases). Lorsque j’essaie d’installer l’apk, il semble bien détecter que c’est une mise à jour puisqu’il dit « Voulez-vous installer une mise à jour pour cette application intégrée? ». Mais si je confirme l’installation, il échoue en disant : « Application non installée. Le package est en conflit avec un autre package ayant le même nom ».

      • Pas possible d’upgrader Firefox Lite en 1.0.6 non plus (depuis https://github.com/mozilla-tw/Rocket/releases). Même message d’erreur qu’avec la 1.0.3. Y aurait-il un contournement?

        J’ai adopté Firefox Lite : s’il a moins de fonctionnalités que le « vrai » Firefox, il a les principales, et m’a paru beaucoup plus rapide.

        Par contre, je me posais une questions en termes de mise à jour. J’ai vu que, contrairement au « vrai » Firefox, Firefox Lite utilise le moteur de Chromium (et non Gecko). Je suppose qu’il utilise le « WebView » d’AOSP. Donc s’il y avait une faille de sécurité dans le moteur de Chromium, je suppose qu’elle ne pourrait être comblée que par la génération d’une nouvelle ROM? Je suppose que les apk de Firefox Lite ne contiennent pas le WebView?

        Hackurx, peut-être cela vaudrait-il le coup que tu me (ou nous) transmettes les étapes que tu suis pour compiler cette ROM. De sorte que, si tu n’as plus le temps/l’envie de le faire, on puisse prendre la suite. J’ai bien vu que tes sources étaient sur github, mais c’est la « recette » pour compiler/assembler tout ça qui me manque. Pour info, je sais compiler un kernel linux, et j’avais déjà joué un peu avec de la compilation AOSP il y a longtemps (pour compiler Firefox OS, à l’époque, mais j’avais toujours des problèmes de dépendances donc n’avais pas réussi)

      • > Y aurait-il un contournement?

        Oui, il faut monter la partition system en écriture et supprimer l’apk avec la commande rm.

        > je suppose qu’elle ne pourrait être comblée que par la génération d’une nouvelle ROM?

        Oui, c’est l’inconvénient. L’avantage c’est la légèreté de l’APK du coup.

        > peut-être cela vaudrait-il le coup que tu me (ou nous) transmettes les étapes que tu suis pour compiler cette ROM.

        Oui c’est une bonne idée car j’aurai moins de temps. En effet, j’ai récupéré un autre téléphone (Samsung Galaxy J5) et j’ai eu un Raspberry pi et un Arduino pour Noël ^^
        Du coup, j’ai conçu un noyau durci pour le Pi 3, pour ceux que ça intéresse :
        https://github.com/HacKurx/linux-rpi_unofficial_grsec

        Bref, pour compiler la ROM du ZTE :
        1] Construire l’environnement de compilation sous Debian :
        https://redmine.replicant.us/projects/replicant/wiki/BuildDependenciesInstallation

        Il y a beaucoup de méthodes différentes notamment sous Ubuntu pour construire l’environnement nécessaire. La méthode utilisée par Replicant à l’avantage d’être 100% debian et propre.

        2] Renseigner git :
        git config –global user.name « your name »
        git config –global user.email « your_email@your_domain.com »

        3] Créer un dossier pour ne pas faire le chantier dans son home
        mkdir ~/zte
        cd ~/zte

        4] Télécharger les sources et construire la Rom :
        https://github.com/HacKurx/android_device_zte_kis3/blob/cm-14.1/README.md

      • Super, merci.

        Le contournement pour Firefox Lite a fonctionné (après reboot de l’appareil).
        J’ai préparé l’environnement de compilation suivant tes instructions (je l’ai fait sous Docker). Tout se passe bien jusqu’à l’étape de compilation (brunch kis3), qui s’arrête sur :
        ninja: error: ‘/zte/android_device_zte_kis3/out/host/linux-x86/bin/mkbootimg’, needed by ‘/zte/android_device_zte_kis3/out/target/product/kis3/boot.img’, missing and no known rule to make it

        Log complète : https://framabin.org/p/?d51cc832ed36346c#y1o9N1HNJDBgFqA4O5R746GfkyuwivnS6lrJXf1Yoyc=

      • Attention, si tu utilises Docker tu dois certainement avoir une manipulation à faire en plus pour la cross-compilation 😉
        A voir du coté de dockcross (non testé).

        Perso, j’ai un debian en « hard install » avec disque dur dédié juste pour ce genre de manip. Ce qui me donne de mon coté :
        OUT_DIR=/home/loic/zte/out

        Je vais mettre à jour le README.md sur github pour ajouter des détailles.

      • Ca y est, j’ai réussi à fabriquer une ROM!
        Merci pour les dernières mises à jour que tu as faites sur tes instructions sur github : en les suivant, je n’ai plus le message d’erreur (ça n’avait rien à voir avec Docker).

        J’en profite pour lister quelques compléments d’information qui mériteraient peut-être d’y être ajoutés :
        – il faut installer le package imagemagick
        – j’ai eu besoin d’augmenter un paramètre xmx de compilation java pour Jack. Cf https://stackoverflow.com/questions/35579646/android-source-code-compile-error-try-increasing-heap-size-with-java-option. Un simple export JACK_SERVER_VM_ARGUMENTS= »-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g »
        – il m’a fallu rajouter « export DISABLE_PAX_PLUGINS=y »
        dans kernel/zte/msm8610/Makefile sinon la compilation réclame des gcc-*-plugin-dev que je n’ai pas réussi à lui faire utiliser (mais ce n’est qu’un contournement, voir plus bas)
        – pour que la compilation marche sous Docker, j’ai dû setter la variable d’environnement USER, et appliquer le contournement décrit dans https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199

        Au final, ça m’a généré une ROM qui fonctionne, mais à laquelle il manque quelques trucs par rapport à la tienne :
        – Le hardening Grsec/Pax, mais je suppose que c’est à cause du DISABLE_PAX_PLUGINS ci-dessus
        – Les applications préinstallées (F-Droid et Firefox Lite) : comment les ajoutes-tu?

        J’espérais que cette nouvelle ROM résolve les plantages lors de l’ajout d’un VPN ou pour lancer le chiffrement du téléphone (grâce à d’éventuels correctifs issus de LineageOS), mais ce n’est hélas pas le cas.

      • @mossroy Salut,

        1] imagemagick est seulement installé en fonction du choix de l’utilisateur (dans tasksel) au moment de l’installation dans Debian. Je valide.

        2] Pour « export JACK_SERVER_VM_ARGUMENTS », je valide l’aide mais je n’ai pas rencontré le problème.

        Merci !

        Hors sujet du présent pull requests :
        _Je ne prendrai pas l’export DISABLE_PAX_PLUGINS dans le Makefile du noyau car le message lors de la compilation est simplement un avertissement (j’ai désactivé le coté bloquant) qui est dû à la chaîne de compilation utilisé avec « brunch kis3 ». L’ajout de gcc-*-plugin-dev n’aura aucun effet car tu n’utilises pas le GCC de debian lors de la construction de la ROM.
        Le hardening Grsec/Pax fonctionne mais du coup sans les plugins… (FIX ME).
        Sinon, c’est à toi d’ajouter d’une ligne indiquant le statut de Grsec/Pax dans le menu « Paramètres –> A propos » (dans packages/apps/Settings/res/values/strings.xml).

        _Pour l’intégration d’application, c’est dans project vendor/cm/prebuilt/common/Android.mk

        _Pour les problèmes restant, il faut trouver le fichier qui pose problème, corriger ou annuler des commits de LineageOS…

        Merci. (Copie de la réponse de https://github.com/HacKurx/android_device_zte_kis3/pull/1#issuecomment-453193611)

    • Ah zut, personne n’a dû l’utiliser auparavant.

      Le GPS (gps.msm8610) utilise les fichiers propriétaires suivants:
      etc/flp.conf
      etc/izat.conf
      etc/quipc.conf
      etc/sap.conf
      lib/libloc_api_v02.so
      lib/libloc_ds_api.so
      vendor/lib/hw/flp.default.so
      vendor/lib/libgeofence.so
      vendor/lib/libizat_core.so
      vendor/lib/liblbs_core.so

      Avec pour paramétrage dans system.prop:
      ro.gps.agps_provider=1

      Il faut donc étudier les fichiers ci-dessus et voir si le problème était présent dans les précédentes ROM (LineageOS 13).
      Enfin, il faut obtenir les détails bien identifiés du problème (erreur SELinux, dmesg, logcat etc…)

      Par contre, merci de comprendre que je ne peux pas consacrer encore trop de temps sûr ce projet, car je suis bénévole et j’ai actuellement d’autres projets/priorités 😉

      • Le GPS fonctionne très bien sur mes différents ZTE Open C (modèles FR), avec tes différentes ROMs.

        Une hypothèse serait qu’il ait un modèle dit EU (avec des composants légèrement différents, mais je croyais que ça ne concernait que l’appareil photo), mais ce n’est qu’une hypothèse.

      • Ok c’est rassurant, merci. La grosse différence était en la présence d’un capteur de luminosité/proximité sur la version FR.
        Idéalement, il faut les sources FFOS_FR_ZTE_OPENCV1.0.0B01 et FFOS_EU_EBAY_OPENCV1.0.0B06 pour voir toutes les différences HW.

      • Oui c’est un modèle EU, c’est marqué à côté de la batterie sous la coque.
        Je souhaite me servir du ZTE que comme GPS, ça tombe mal.
        Comment porter la partie GPS pour les modèles EU ?

      • Les journaux du adb logcat lorsque je tente de me localiser :

        02-18 18:29:26.942 619 2613 I GnssLocationProvider: WakeLock acquired by sendMessage(3, 0, com.android.server.location.GnssLocationProvider$GpsRequest@812344b)
        02-18 18:29:26.943 619 645 E LocSvc_eng: I/===> int loc_eng_stop(loc_eng_data_s_type &) line 1723
        02-18 18:29:26.943 619 645 I GnssLocationProvider: WakeLock released by handleMessage(3, 0, com.android.server.location.GnssLocationProvider$GpsRequest@812344b)
        02-18 18:29:26.958 2780 2780 I LocationUtils: Available location providers: passive gps
        02-18 18:29:26.965 619 637 I GnssLocationProvider: WakeLock acquired by sendMessage(3, 0, com.android.server.location.GnssLocationProvider$GpsRequest@43ea741)
        02-18 18:29:26.977 619 645 E LocSvc_eng: I/===> int loc_eng_set_position_mode(loc_eng_data_s_type &, LocPosMode &) line 1797
        02-18 18:29:26.977 619 645 E LocSvc_eng: I/===> int loc_eng_start(loc_eng_data_s_type &) line 1673
        02-18 18:29:26.981 619 645 I GnssLocationProvider: WakeLock released by handleMessage(3, 0, com.android.server.location.GnssLocationProvider$GpsRequest@43ea741)
        02-18 18:29:33.439 261 261 I libmdmdetect: ESOC framework not supported
        02-18 18:29:33.445 261 261 E libmdmdetect: Found internal modem: modem
        02-18 18:29:39.571 619 998 E QMI_FW : QMUXD: WARNING qmi_qmux_if_pwr_up_init failed! rc=-1
        02-18 18:29:39.572 619 998 I libmdmdetect: ESOC framework not supported
        02-18 18:29:39.573 619 998 E libmdmdetect: Found internal modem: modem
        02-18 18:29:54.189 261 261 I libmdmdetect: ESOC framework not supported
        02-18 18:29:54.191 261 261 E libmdmdetect: Found internal modem: modem
        02-18 18:30:02.173 619 796 I GnssLocationProvider: WakeLock acquired by sendMessage(3, 0, com.android.server.location.GnssLocationProvider$GpsRequest@4e124d4)
        02-18 18:30:02.174 619 645 E LocSvc_eng: I/===> int loc_eng_stop(loc_eng_data_s_type &) line 1723
        02-18 18:30:02.181 619 645 I GnssLocationProvider: WakeLock released by handleMessage(3, 0, com.android.server.location.GnssLocationProvider$GpsRequest@4e124d4)
        02-18 18:30:03.951 205 286 E QMI_FW : QMUXD: WARNING qmi_qmux_if_pwr_up_init failed! rc=-1
        02-18 18:30:04.130 205 286 I libmdmdetect: ESOC framework not supported
        02-18 18:30:04.131 205 286 E libmdmdetect: Found internal modem: modem
        02-18 18:30:06.036 231 372 E QMI_FW : QMUXD: WARNING qmi_qmux_if_pwr_up_init failed! rc=-1
        02-18 18:30:07.246 231 372 I libmdmdetect: ESOC framework not supported
        02-18 18:30:07.247 231 372 E libmdmdetect: Found internal modem: modem

      • > LocationUtils: Available location providers: passive gps

        Le gps n’a pas été trouvé ici, l’application a bien les droits d’accès au gps (ACCESS_FINE_LOCATION) ?
        Dans le menu Paramètre –> Localisation –> forcer le mode « Appareil uniquement » et vérifier les droits d’accès au GPS des applications.

        Est-ce que ça fonctionne avec « GPS Status » et « GPS Essentials » ?
        https://apkpure.com/fr/gps-status-toolbox/com.eclipsim.gpsstatus2
        https://apkpure.com/gps-essentials/com.mictale.gpsessentials

        Car pour moi cela fonctionne (ZTE Open C acheté chez Cdiscount).

        > libmdmdetect: ESOC framework not supported

        Ce n’est pas le point bloquant, mais il est éventuellement possible de rajouter le framework ESOC dans le noyau :
        https://github.com/LineageOS/android_kernel_motorola_msm8960dt-common/commit/f9cd4d307af34203ec10978f01f700266bbbcbcf

        > J’ai testé LineageOS et j’ai le même résultat.

        Sinon, il faudra tester avec la version de KonstaT pour voir (ancienne version sans durcissement du noyau)
        https://konstakang.com/devices/kis3/CM13/

    • Salut !

      Je n’arrive pas a faire fonctionner le GPS, j’ai acheté mon ZTE Open C chez Leclerc (je ne sais pas si c’est un FR ou un EU ?)
      Je n’ai réussi ni avec Lineage 14.1, ni avec le 13 ( en suivant https://konstakang.com/devices/kis3/CM13/ mais je n’ai pas fait exactement les mêmes manœuvres car j’utilisais TWRP plutôt que ClockWorkMod, peut-être la différence est-elle là ?)

      Quelqu’un a une idée ?

      Merci d’avance

      • Salut,

        J’ai utilisé TWRP dans mon cas.
        Pour savoir le type du téléphone il faut enlever le cache devant la batterie dans le cas d’une version EU, c’est écrit EU 🙂
        Quand tu dis pas exactement, c’est à dire ? Juste au niveau de TWRP ?
        TWRP c’est juste un recovery.

      • Salut !

        J’ai bien un téléphone EU. Et oui, je parlais juste des manipulations avec TWRP qui ne sont sans doute pas exactement les même qu’avec ClockWorkMod.

        Je n’ai toujours pas réussi a faire fonctionner ce damné GPS ! Dommage..

        Merci en tout cas pour ta réponse ! 🙂

      • Quand le téléphone démarre sous LineageOS tu as bien le logo d’Android ?
        Si tu as encore le logo de FirefoxOS c’est que les « Important. Prerequisites!!! » ne se sont pas bien passé.
        Sous KitKat tu peux bien utiliser le GPS ?

      • J’ai bien le logo d’Android ! Je n’ai pas testé sous Kitkat directement, c’est vrai que je peux faire l’essai (si ca se trouve je me prend la tête alors que le problème est matériel…)

        Je reviens ici dès que j’ai eu le temps de tester ça !

  3. Bonjour,
    merci pour tout ce travail
    j’ai mis Android sur mon ZTE(ok) je voudrais passer à lineage
    j’ai charger le lien (ci dessus) sur ma carte sd et je redémarrage le ZTE (en appuyant sur les 2 touches)
    j’essaye d’installer lineage et j’ai le message suivant:
    E: failed to verify whole-file signature
    E: signature verification failed
    update failed, package corrupt.
    installation aborted.
    le zte est en mode debug et dévérouillé il me semble.
    J’ai du certainement publié une étape.
    pouvez-vous m’aider.
    Je ne suis pas expert en informatique, mais j’arrive à me débrouiller.
    je suis sur mac
    Bonne journée
    Pierre

    • Il n’est pas impossible que le fichier soit effectivement corrompu, comme le message d’erreur le laisse entendre. Ca m’est déjà arrivé en transférant des ROMs sur des téléphones (en débranchant trop tôt, par exemple).

      Une manière de vérifier est de contrôler le MD5 du fichier (ou tout simplement de le re-transférer)

  4. Bonjour,
    je n’arrive toujours pas à installer lineage.
    Firefox vers Android ça fonctionne
    Android vers firefox (restauration de firefox) ça fonctionne aussi
    le md5 de lineage est bon, je l’ai vérifié sur mac et sur « md5 check » du zte

    j’ai toujours :

    E: footer is wrong
    E: signature verification failed
    update failed, package corrupt
    installation aborted

    je ne passe pas par recovery, je charge directement le fichier zip de lineage sur la sdcard
    je sèche vraiment
    merci si vous avez une solution
    Bonne journée

  5. Bonjour,
    je suis allé sur le blog
    j’ai passé toutes les étapes sans encombre, installationTWRP
    jusqu’à « fastboot reboot », effectivement le téléphone redémarre sous firefox
    je fait « adb reboot recovery » et la le téléphone redémarre et se bloque sur le logo android
    en enlevant la batterie (et la remettant) et en allumant le zte après le logo android je reviens sur firefox (sinon le téléphone ne rdémarre pas)
    en lisant la carte sd, twrp est bien installé avec fichiers backups.
    je pourrais mettre une copie de tous les fichiers qu’il y a dedans?
    je bloque ici
    merci
    Pierre

    • Rebonjour,
      j’ai tout effacé, et refait la procédure correctement plusieurs fois; cela semble fonctionner.

      j’en suis à l’affichage du logo de lineage et je vais patienter.
      je renvoie un message de remerciement si tout se passe bien
      salutations
      Pierre

      • Tout a bien fonctionné cette fois ci. je n’ai plus qu’à changer la vitre du zte.
        merci beaucoup pour le tutoriel, j’ai appris beaucoup en faisant toutes ces manips.
        je n’ai plus qu’à me familiariser avec Lineage
        encore merci
        Pierre

  6. Bonjour,
    Merci pour tout le travail fourni… Est-ce bien la dernière version disponible de votre image pour le ZTE open c ?
    Si j’en crois vos « prévisions pour la suite », il est peu probable que vous puissiez aller plus loin.
    Merci en tous cas et que l’enthousiasme vous accompagne.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s