Table des matières
Prendre le contrôle d'un Honor 5X
Cette fiche détaille les 4 étapes par lesquelles il faut passez pour en reprendre le contrôle, en partant d'un smartphone acheté en magasin, dans sa configuration d'origine.
- Établir un connexion “développeur” entre un ordi et le smartphone
- Déverrouiller le bootloader
- Installer un recovery custom
- Installer une ROM rootée
Heureusement, on n'est pas obligée d'enchaîner les 4 d'un seul coup. Si l'on n'est pas spécialiste du rootage des smarphones sous Android, il est conseillé de faire une pause (de 10 minutes à plusieurs jours) entre chaque étape. Avant l'étape 4, l'utilisation quotidienne de votre smartphone n'est en rien modifiée.
Dans cette fiche, j'ai privilégié la fiabilité des sources. En effet, le but étant de prendre le contrôle de son smartphone, il faut être certaine que la qualité du logiciel que l'on va installer dessus. Si vous télécharger n'importe quoi, juste parce que quelqu'un⋅e, dans un forum, dit que c'est bien, ayez conscience des risques que vous prenez : blocage du smartphone, installation de virus, intrusions, etc. Bien sûr, vous n'allez pas contrôler vous-même le code informatique ni le packaging de ce que vous utilisez. Mais en ne téléchargeant que depuis des sources fiables, où le logiciel est exposé au contrôle public de la communauté open source, vous minimiserez les risques1) et vous rapprocher autant que possible de l'objectif initial.
Établir une connexion ordi-smartphone
Préalable
On aura pris soin d'avoir configuré UDEV afin d'avoir les droits nécessaires sur le smartphone. Ce dernier sera vu comme un périphérique !
Logiciel à installer
S'agissant d'opérations de maintenance évoluée mais non de développement, on n'est pas obligées d'installer sur son ordi la totalité du kit de développement d'Android (SDK). On peut se contenter des deux seuls composants que nous utiliserons :
sudo apt-get install android-tools-adb sudo apt-get install android-tools-fastboot
Connexion
Prérequis côté Honor 5X
Pour que la connexion puisse se faire, il faut :
- activer les Options pour développeurs
- dans Paramètres > À propos du téléphone
- taper rapidement 7 fois sur le Numéro de build (ça ne s'invente pas !), un message vous signale que vous devenez développeurs
- dans Paramètres > Options pour développeurs (qui s'affiche désormais)
- activer les Options pour développeur
- autoriser le deboggage USB
- déverrouiller OEM2)
Établissement
- relier le smartphone allumé à l'ordi par un câble USB3)
- ouvrir un terminal sur l'ordi et passer la commande “adb devices” qui doit déclencher quelque chose de similaire à ce qui suit, tout en surveillant l'écran de votre smartphone :
$ adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached IMTP1F2JDYJK02051 offline
où “IMTP1F2JDYJK02051” est le numéro de série de votre Honor 5X. Votre smartphone a du vous demander d'autoriser votre ordi à se connecter… Bien sûr, vous accordez cette autorisation en prenant soin d'autoriser pour toujours (cocher la case) !
List of devices attached ???????????? no permissions
c'est probablement parce que vous avez négligé le préalable concernant la configuration UDEV, mentionné précédemment.
Une fois l'autorisation accordée, on relance la commande précédente :
$ adb devices List of devices attached IMTP1F2JDYJK02051 device
pour constater que offline s'est mué en device, indiquant que la connexion est établie.
Déverrouiller le bootloader d'origine
Pour y parvenir, il faut :
- collecter des informations sur smartphone
- demander au fabricant de vous fournir un code de déverrouillage (via un formulaire Web)
- déverrouiller l'appareil à l'aide du code obtenu
Prérequis
Pour aller au bout du déverrouillage vous aurez besoin de disposer d'un compte Huawei. Si vous avez eu la sagesse de décliner les propositions hasardeuses d'inscriptions diverses que vous a fait votre Honor 5X5) vous ne disposez probablement pas d'un tel compte. Il va pourtant falloir le créer Pour limiter les intrusions, faites-le depuis votre ordi et non depuis le smartphone 6).
Collecter
On prendra soin de réunir toutes les informations dans un fichier texte ce qui permettra de vérifier les informations et d'éviter les erreurs de saisie lorsqu'on remplira le formulaire Web. Il faut réunir :
- le Numéro de modèle de votre appareil
- le Numéro de série
- le premier IMEI (puisque votre appareil en a 2)
- l'ID produit
Vous trouverez ces informations comme indiqué ci-après :
- Le numéro de modèle et l'IMEI se récupèrent simplement dans Paramètres > A propos du téléphone.
- Le numéro de série se récupère aussi simplement dans Paramètres > A propos du téléphone > État
- Pour obtenir l'ID produit, passez sur le clavier du téléphone et composez la suite de caractères : *#*#1357946#*#*
Récupérer le code de déverrouillage
Techniquement, la récupération du code de déverrouillage devrait être une opération banale :
- créer un compte sur un site web
- remplir un formulaire en ligne
On a toutes fait ça des dizaines, voire des centaines de fois… Dans ce cas, il va falloir être extrêmement vigilante sur la manière dont on va s'y prendre.
Précautions techniques
Voici les précautions recommandées8) :
- naviguer sur le site en chinois
- utiliser Google Chrome sous Android
- définir l'anglais-US comme langue du terminal Android sur lequel tourne Chrome
- paramètrer Chrome pour qu'il demande le site Desktop (et pas la version mobile)
- paramétrer Chrome pour qu'il traduise le contenu
- réinitialiser tout l'historique du navigateur (cookies, mot de passe, etc. Tout !)
- dérouler l'intégralité de la procédure dans la même fenêtre de navigateur, sans la fermer !
- attendre le chargement complet de chaque page9) (ça peut être long)
Obtention du code de déverrouillage
- lancer le navigateur
- pointer le navigateur sur l'URL : https://www.emui.com/cn/plugin.php?id=unlock&mod=detail
- valider le formulaire des conditions de déverrouillage (unlock conditions)
- à l'affichage du formulaire d'authentification, choisir de créer un compte
- remplir le formulaire de création de compte pour une inscription par email
- récupérer le code de validation de compte, envoyé par mail à l'adresse fournie
- saisir ce code et valider le formulaire de création de compte
- ressaisir l'URL du début
- re-valider le formulaire des conditions de déverouillage
- à l'affichage du formulaire d'authentification, saisir les identifiants (email, mot de passe) créés précédemment ainsi que le Captcha et valider
- le formulaire de déverrouillage doit s'afficher10)
- remplir le formulaire de déverrouillage et le valider
- en réponse, le site affiche le code numérique de déverrouillage du bootloader de votre smartphone (enfin !)
- noter ce code par le moyen que vous maîtriser le mieux11).
Munie de ce code, vous allez enfin pouvoir déverrouiller votre Honor 5X
"Alternatives"
Malgré sa simplicité théorique, on constate que la récupération du code s'avère, en pratique, particulièrement délicate, voire aléatoire. Cette difficulté explique le fleurissement de “solutions” dites alternatives à la démarche présentée ici12).
Toutes ces alternatives ont en commun de vous proposer de faire un saut dans l'inconnu. Qu'il s'agisse d'installer un programme incontrôlable sur votre ordi, de lui donner un accès incontrôlé à votre smartphone, de l'autoriser à communiquer avec un serveur incontrôlable, de transmettre vos codes à un prestataire ou un internaute inconnu, à chaque fois, vous prenez un risque incalculable13).
Sources :
- Unlock Honor 5X Bootloader (official method from Huawei) Un tutoriel vidéo complet et clair (en).
- How To ROOT The Honor 5X! EASIEST METHOD - Un tutoriel vidéo complet, mené tambour battant, qui nous conduit du déverrouillage du recovery jusqu'au rootage du smartphone (en).
Déverrouiller l'appareil
Pour mémoire, il est indispensable que Paramètres > Options développeurs > deverouillage OEM soit activé. Si vous aviez basculé votre Honor 5X en anglais-US, vous pouvez revenir à votre langue préférée ;)
- vérifier la charge de votre appareil (15% mais pas moins)
- s'il y a un câble USB, l'enlever
- redémarrer l'appareil
- attendre qu'Android ait fini de se charger
- comme vu précédemment, ouvrir un terminal sur l'ordi
- relier le Honor 5X à l'ordi par le cable USB
Partant de là, vous allez concrètement déverrouiller le bootloader en tapant les commandes suivantes :
- adb devices
- adb reboot bootloader
- fastboot oem unlock <le_code_de_deverouillage>
pour les raisons suivantes :
- vise à s'assurer que la connexion ordi/smarphone fonctionne
- place le smartphone en position d'écoute des commandes “fastboot” envoyées par l'ordi; votre smartphone redémarre et affiche le robot Android
- déverouille le bootloader ; cela provoquera le redémarrage du smartphone ainsi que la perte de tous les réglages et de toutes les données
Concrètement, voilà ce qui devrait apparaître dans la fenêtre du terminal, sur votre ordi :
$ adb devices List of devices attached IMTP1F2JDYJK02051 device $ adb reboot bootloader $ fastboot oem unlock 6816658007779137 ... (bootloader) Unlock success , the device will reboot and factory reset OKAY [ 0.015s] finished. total time: 0.015s $
Bien sûr, les codes alphanumériques14) seront ceux qui correspondent à votre smartphone.
Comme le montre la trace de déverrouillage, l'opération doit être instantanée. Si tel n'est pas le cas c'est le signe d'un dysfonctionnement15).
Installer un custom recovery
Préparation
Installer une ROM officielle récente
L'installation est décrite sur la page consacrée à la mise à jour du Honor 5X. Comme indiqué dans cette page, j'ai choisi d'installer la ROM KIW-L21 B330 disponible sur les serveurs de Huawei.
Se procurer un custom recovery
Le recovery custom est un mini-système de dépannage que l'on installe sur le smartphone. Il existe plusieurs systèmes et chaque système est disponible en plusieurs versions.
Concernant le système, mon choix s'est porté sur TWRP car c'est un projet open source, il existe une version officielle pour le Honor 5X, TWRP jouit d'une excellente réputation et le développement est très actif.
Procédure (depuis votre ordi) :
- pointer votre navigateur web sur le site officiel de TWRP
- dans le champs de recherche, taper “honor” (la page se met à jour dynamiquement)
- suivre le lien Huawei Honor 5X (kiwi)
- suivre le lien vers la page de téléchargement consacrée au Honor 5X (plusieurs versions sont proposées)
- suivre le lien sur la version la plus récente
- cliquer sur le lien de téléchargement et enregistrer le fichier
- cliquer également sur le lien (un peu avant dans la page) “md5 for …” et enregistrer le fichier
Implantation
Source : TWRP for Huawei Honor 5X (TWRP (en)
Le fichier .img va maintenant pouvoir être implanté sur le Honor 5X. Il remplacera le recovery d'origine et vous permettra ensuite d'installer la ROM de votre choix. L'implantation se fait nécessairement en utilisant la connexion ordi-smartphone17) vue précédemment.
La procédure d'implantation est la suivante :
- allumer le Honor 5X comme pour une utilisation ordinaire
- le relier à l'ordi par le câble USB
- établir la connexion, puis grâce à cette connexion (donc, depuis l'ordi)
- redémarrer le smarphone en mode spécial (fastboot)
- implanter le fichier .img du nouveau recovery
- redémarrer le smartphone en mode ordinaire
Les commandes à passer (dans un terminal) à partir de l'étape 3 seront :
adb devices adb reboot bootloader fastboot flash recovery mon_recovery.img fastboot reboot
où “mon_recovery.img” sera remplacé par le nom du fichier .img correspondant au recovery que vous aurez téléchargé. N'hésitez pas à renommer le fichier avant de taper la commande, par exemple en “twrp.img”.
Concrètement, voilà ce qui devrait apparaître dans la fenêtre du terminal, sur votre ordi :
$ adb devices List of devices attached IMTP1F2JDYJK02051 device $ adb reboot bootloader $ fastboot flash recovery twrp.img target reported max download size of 266338304 bytes sending 'recovery' (45202 KB)... OKAY [ 1.419s] writing 'recovery'... OKAY [ 0.645s] finished. total time: 2.064s $ fastboot reboot rebooting... finished. total time: 0.001s $
On note que :
- la connexion est établie puisque le mot “device” est renvoyé par adb devices
- adb reboot bootloader ne renvoie rien dans le terminal, en revanche votre smartphone va redémarrer et vous afficher un écran inhabituel
- l'implantation est immédiate (2 secondes), si n'est pas le cas c'est qu'il y a un problème
- le lancement du redémarrage final est instantané (le redémarrage se fait à vitesse normale)
Vérification
Le smartphone ayant été redémarré en mode ordinaire, il faut l'arrêter pour pouvoir le démarrer en mode recovery :
- arrêter le smartphone (attendre de sentir la vibration d'arrêt)
- débrancher le câble USB du smartphone (impératif18) si ce n'est pas déjà le cas)
- appuyer sur Vol+ puis, sans le relâcher, sur Power (marche-arrêt)
- maintenir les deux boutons enfoncés jusqu'au moment où vous ressentez la vibration de démarrage
- si l'implantation a réussi, l'écran d'accueil de votre recovery s'affiche (dans mon cas TWRP)
- redémarrer le smartphone en mode ordinaire en suivant les indication de votre nouveau recovery (dans le cas de TWRP : Reboot > System)
Installer une ROM rootée
On va enfin pouvoir remplacer le système pré-installé sur le smartphone19) par un système respectueux des utilisatrices/teurs. J'ai choisi d'installer la ROM Cyanogenmod20) car c'est un projet open source, les fonctionnalités proposées me conviennent, le Honor 5X est officiellement maintenu21).
Se procurer la ROM
In fine, le fichier contenant la nouvelle ROM devra être transféré sur une carte SD insérée22) dans le Honor 5X. On peut donc télécharger ce fichier depuis le smartphone connecté à internet ou depuis l'ordi. Dans les deux cas, la carte SD doit disposer d'un espace libre conséquent (~ 700Mo auxquels vous ajouterez la taille de votre système actuel si vous souhaitez en faire une sauvegarde). Pour des tas de raisons, je préfère passer par l'ordi et vous suggère de faire de même.
Procédure :
- pointer le navigateur sur la page du projet CyanogenMod dédiée au Honor 5X
- suivre le lien “Release channel”
- télécharger la version la plus récente disponible ; le lien ne doit pas contenir le mot “recovery”23)
Compléments
CyanogentMod ne contient aucune application Google. Et oui, c'est possible ! Si on souhaite disposer ne serait-ce que de l'app Google Play Store24), il faut pré-installer un ensemble minimum d'applications Google. D'autre part, le système que l'on va installer étant rooté (déverrouillé) il est recommandé d'installer un utilitaire facilitant la gestions de droits sur un tel système 25).
Open GApps
On va donc se procurer une version open source des applications Google. Le site Open GApps permet de télécharger le cocktail d'applications que l'on souhaite pré-installer sur son Honor 5X. Le cocktail “pico” contient le minimum vital. Vous pourrez toujours compléter ultérieurement, via Google Play Store.
Procédure :
- pointer le navigateur sur la page de téléchargement du projet Open GApps
- selectionner ARM64 + Android 6.0 + nano (ou le cocktail qui vous convient)
- télécharger le fichier zip correspondant
SuperSU
SuperSu permet de choisir quelle application a accès aux droits étendus ouverts par le déverrouillage du système. Comme pour les autres téléchargements, le plus sûr est de télécharger à la source, au lieu de récupérer un fichier “gentiment” proposé par un site douteux ou par une internaute inconnue26).
Procédure :
- pointer son navigateur sur la page de téléchargement officielle de SuperSU
- télécharger le fichier zip proposé (bien qu'il soit nommé UPDATE…, ce n'est pas un fichier de mise à jour)
Installer le nouveau système
Copier les zip sur la carte SD
Les fichiers contenant les morceaux de notre futur système doivent être transférés sur la carte mémoire. Il doivent être placés à la racine du système de fichiers de la carte. Ne pas hésiter à renommer les fichiers pour leur donner des noms courts et parlants.
Pour réaliser ce transfert, chacune utilisera la technique de son choix. Je préfère passer par la connexion ordi-smartphone puisqu'elle fonctionne :
$ adb push cm13.zip /storage/sdcard1/ 1618 KB/s (511379618 bytes in 308.529s) $ adb push gapps.zip /storage/sdcard1/ 1635 KB/s (140399286 bytes in 83.855s) $ adb push SuperSU.zip /storage/sdcard1/ 1302 KB/s (4973493 bytes in 3.727s) $
Les temps indiqués montrent que les deux premiers transferts sont loin d'être instantanés. Donc, pas de panique…
Flasher les zips récoltés
Source : How to Install CyanogenMod on the Huawei Honor 5X (CynogenMod) (en)
Le Honor 5X dispose de tout ce qu'il lui faut pour installer le nouveau système, de manière autonome.
Les opérations doivent impérativement être réalisées dans l'ordre indiqué, y compris le flashage des zips :
- charger le smartphone (mini 60%)
- débrancher le smartphone (impératif !)
- arrêter le smartphone
- démarrer le smartphone en mode recovery (Vol+ et Power)
- effectuer une sauvegarde, bouton Backup (cette sauvegarde vous permettra de revenir en arrière si vous rencontrez un problème ou n'êtes pas satisfaites par le nouveau système)
- sélection de la carte mémoire externe, bouton Select Storage > sélection dans la liste de choix
- enregistrer en conservant les réglages par défaut
- revenir aux réglages d'usine, bouton Wipe > Swipe to Factory Reset
- installer le nouveau système, bouton Install
- naviguer jusqu'à afficher le contenu de la carte mémoire
- flasher CynogenMod, sélection du fichiers zip + bouton Install Image
- flasher Open GApps, sélection du fichiers zip + bouton Install Image
- flasher SuperSU, sélection du fichiers zip + bouton Install Image
- redémarrer sur le nouveau système, bouton Reboot > bouton System
Le premier démarrage peut vous sembler long. C'est normal…
- Paramètres > À propos du téléphone, taper sur Numéro de build jusqu'à affichage du message de déverrouillage des Options développeurs
- Paramètres > Options pour les développeurs, activer Débogage Android</note>