[Tuto] Unbrick du LG G3

Mon premier cadeau de Noël était bien sympa. J’étais en route pour un petit village en région parisienne, je venais de quitter l’A5 et d’entrer dans cette jungle que les parisiens semblent affectionner : la Francilienne. La totale hein, N104, A104, A86, j’m’en cogne tous les bouts. Heureusement que mon téléphone, un LG G3 « International » (D855 pour les intimes), était là pour me guider.

C’est donc à ce moment précis que mon smartphone qui me guidait via GPS a subitement rendu l’âme. Extinction totale, impossible de le rallumer : bootloop de CyanogenMod 13, freeze de TWRP en essayant de reflasher rapidement CM, pour finir bloqué sur le logo LG.

Après des heures de recherches, de bricolages en tous genres… Mon téléphone est revenu à la vie. Et si on voyait comment régler ça, entre nous, pas-à-pas ?

 

Ça va que je suis persévérant. On parle tout de même de résurrection d’un smartphone. Le jour de la naissance supposée de Jésus, qui a lui-même fait son come-back quelques années après. Comme aurait dit le monsieur sur sa croix, « ne baissons pas les bras », il ne l’a pas fait, donc moi non plus. Voilà pour la vanne de Noël.

 

Bref. On s’y met ?

 

Étape 1 : pré-requis

 

 

Il y a un paquet de trucs à installer, je vous colle ça dans une archive, à l’exception du firmware original (il fait tout de même 2Go).

Il va vous falloir un PC sous Windows et :

  • les drivers LG pour le téléphone
  • les drivers Qualcomm HS-USB (pour le fameux « 9008 », on y reviendra plus tard)
  • DSEO, pour pouvoir utiliser des pilotes non-signés
  • BoardDiag par willcracker
  • 2-3 fichiers, genre des DLL propres au téléphone
  • le firmware de votre téléphone (format TOT)
  • LG Flash Tool v1.8
  • un bout de fil de fer pas trop gros
  • un petit tournevis

 

Le truc c’est que pour les pilotes Qualcomm, il faut que votre Windows soit en mode « test », car ils ne sont pas signés. Sinon, il n’en voudra pas. Pour s’y mettre, dans l’archive que vous aurez préalablement téléchargée et extraite, ouvrez le dossier « 1-DSEO », ouvrez l’exécutable en tant qu’administrateur, activez le mode test et redémarrez.

Au reboot, vous remarquerez près de l’horloge Windows qu’il affiche que vous êtes bien en test 😉

Ensuite, installez le contenu du dossier « 2-Drivers », avec évidemment le bon fichier (32 ou 64 bits selon votre système d’exploitation) pour le pilote Qualcomm, puis le driver LG (pour la suite, mais comme ça ce sera fait).

 

Étape 2 : le fameux mode 9008

Il paraît que les SoC Qualcomm sont indestructibles. (Non, c’est pas une pub pour Qualcomm façon Jules, non.)

En réalité, et selon les modèles de téléphone (parce que cette partie ne s’applique pas qu’au LG G3, mais à tout téléphone à base Qualcomm Snapdragon), il existe un mode de « récupération » qui permet de communiquer (ou d’essayer, du moins) avec la puce pour lui dire que ça va bien se passer et qu’elle peut se remettre au boulot. Un téléphone placé dans ce mode est reconnu comme QHSUSB__BULK par Windows s’il n’a pas les bons pilotes pour lui parler, et s’il les a comme « Qualcomm HS-USB QDLoader 9008 » (un port COM, en fait), et c’est ce qui nous permettra d’utiliser d’autres outils pour réparer tout ça.

Donc. Ou vous avez de la « chance » et votre téléphone a l’air de ne simplement plus s’allumer, et il est possible qu’il soit bloqué en mode 9008, auquel cas vous avez juste à le brancher pour vérifier… ou vous avez moins de chance et vous êtes bêtement coincés au logo LG de démarrage, qui peut éventuellement passer en mode fastboot au bout de 15-20min facile. Notez que ce mode fastboot ne vous sert à rien, puisqu’il ne donne que des erreurs si vous essayez d’écrire avec.

 

On démonte !

Si vous êtes bloqué sur le logo LG… Il va falloir mettre les mains dans le cambouis. Ouvrez votre G3, retirez la batterie et retirez les 8 vis qui tiennent le cache plastique qui couvre la partie supérieure du mobile. Laissez celle qui est juste à côté de l’appareil photo, elle ne gêne pas. Retirez carte SIM et carte SD s’il y en a.

Vous arrivez donc face à la carte mère du téléphone. Et vous voyez un « gros » bloc en alu. Déclipsez-le gentiment, ça vient tout seul, et vous voyez maintenant tout ce qu’on va tripoter.

shortme

Voilà voilà. Il va vous falloir un petit bout de fil de fer, pas trop épais, pour faire contact entre les deux points rouges. Si si. Donc maintenez le contact entre ces 2 points, et avec votre 3e main, branchez le téléphone à l’ordinateur en USB. Windows devrait détecter quasi-instantanément qu’un truc a été branché, comptez en gros 5 secondes puis relâchez le contact avec le fil de fer.

Le gestionnaire de périphériques Windows est votre ami, vérifiez bien que vous voyez apparaître le port COM dont on parlait juste au-dessus.

 

On debug comme on peut

Récupérez par ici le fichier TOT qui correspond à votre téléphone. J’ai fait pointer le lien sur le G3 international qu’on a en Europe, le D855. A priori vous avez besoin du firmware V10E EUR, en 16 ou 32Go selon votre modèle.

Une fois que c’est fait, ouvrez le dossier « 3-BoardDiag by willcracker » de l’archive du début et lancez l’outil. Remplissez-le comme ci-dessous :

Capture2

BIN correspond à votre fichier TOT, et DIR à l’endroit où vous voulez l’extraire. Cliquez sur Extract, et laissez la magie faire son oeuvre. Non, c’est pas planté même si ça en a l’air… ça peut bien prendre 10min ! 😉

  1. AP Check : on vérifie l’AP
  2. EMMC Test : on vérifie l’état de la mémoire interne… on ne sélectionne aucune partition pour tester l’ensemble !
  3. AP chipset : B2 correspond au chip du G3
  4. Com port : celui indiqué par le gestionnaire de périphériques 😉

Une fois que c’est fait, indiquez bien le même dossier que celui d’extraction dans « Target dir », vérifiez le port COM et cliquez sur START.

Si vous avez (encore) de la chance, tout se passe bien et les 2 tests sont OK. Si comme moi vous avez un gros FAIL sur l’EMMC, remplacez dans le menu Options « Read/Write » par « Erase », débranchez/rebranchez le G3 (toujours avec le bout de fil de fer hein, c’est chiant mais c’est comme ça) et refaites START. Il devrait tout effacer. Refaites un Read/Write. Vous devriez avoir deux PASS ! :mrgreen:

 

Une fois que c’est le cas, décochez EMMC Test et cochez « RESTORE BOOT IMG ». Choisissez et restaurez, un par un et dans l’ordre : aboot, BackupGPT, boot, dbi, laf, PrimaryGPT, recovery, rpm, tz. Vérifiez bien que ça se passe sans erreurs !

Une fois que tout est bon et SEULEMENT à ce moment-là, remettez la batterie dans le téléphone toujours connecté en USB, et flashez de la même façon la partition sbl1. Cela va forcer le téléphone à redémarrer. Si vous flashez sbl1 en premier, vous êtes sacrément mal barrés.

 

Boooon. Si par hasard le fichier TOT est le même que celui de la ROM qui était sur votre portable au moment du crash, il va peut-être démarrer normalement, sinon non. Enlevez la batterie, remettez-la, maintenez le bouton Volume+ enfoncé et branchez votre G3 à l’ordinateur. Vous devriez voir affiché sur le mobile « Download Mode », puis « Firmware Update ». On a récupéré un mode normal pour le flasher, et ça, c’était pas gagné.

 

Étape 3 : retour à la ROM Stock

Plus qu’à la flasher, donc.

Installez le logiciel de « 4-LG Flash Tool v1.8 » mais ne le lancez pas encore, même s’il propose à la fin de l’installation. Remplacez le fichier MegaLock.dll dans C:\LG\LGFlashTool . Vous pouvez maintenant lancer l’outil.

Dans le gestionnaire de périphériques, faites un clic droit sur « LGE AndroidNet USB Serial Port » et cliquez sur Propriétés > Paramètres de port > Avancé, et changez le numéro du port COM en 41, puis validez.

 

Retour à LG Flash Tool, cochez « Manual Mode », renseignez le champ DLL pour pointer sur le fichier « LGD855_20140526_LGFLASHv160.dll » qui correspond au G3 International. Prenez la bonne DLL si vous n’avez pas le D855 ! Elles sont sur StorageCow, avec les fichiers TOT.

Cliquez sur le bouton « Add » en regard de S/W et pointez votre fichier TOT.

Capture

Cliquez sur OK, puis sur la grosse flèche jaune de la fenêtre principale. Il se peut que vous deviez déconnecter et reconnecter votre G3 en mode Download pour que le transfert se lance. Ça peut être un peu long à démarrer.

Le transfert devrait se faire rapidement (moins de 5min) et Flash Tool devrait mettre une erreur quelque part après 85% (c’est quand le téléphone redémarre, aucune importance).

Note : personnellement, je n’ai pas pu transférer ma ROM, suite à une erreur douteuse qui venait en fait de l’USB3, pas/mal supporté. Essayez sur un port USB2 si besoin.

Capture

(oui, l’interface a changé, j’ai dû passer sur mon vieux PC portable sous Windows 7 pour avoir de l’USB2…)

 

Une fois que c’est terminé, vous devriez pouvoir configurer votre G3 !! 😀

 

J’ai aussi inclus dans l’archive une version de LG Flash Tool 2014, pour flasher les fichiers KDZ, si vous préférez.

 

Bonus : anapu l’IMEI du G3

Ben oui : on a tout effacé. Il y a peut-être moyen de faire ça plus « subtil » au moment de l’effacement, je ne sais pas. Toujours est-il que là, notre IMEI, c’est « 000 ». Pas évident de se connecter au réseau d’un opérateur avec ça.

Mais comme on est tous des gens sérieux, on a chacun un backup de l’EFS réalisé avec notre recovery préféré (TWRP dans mon cas).

 

C’est le plus simple : rooter la ROM fraîchement flashée (Android 4.4.2 : facile), installer TWRP, mettre le backup sur une carte SD et le restaurer.

 

Root

Il faut aller dans les options du téléphone, tapoter 7 fois sur le numéro de build pour activer les options Développer, s’y rendre et activer le débogage USB (ADB). Ensuite, il faut lancer l’installateur dans « 5-Root » et lancer le logiciel, brancher le portable au PC, et cliquer sur « Start ». Le téléphone demandera à approuver l’ordinateur, cochez de toujours l’autoriser. Ça va bidouiller un peu, on ne s’en occupe pas.

TWRP

J’ai inclus TWRP 2.8.7.0 avec support du modem, F2FS et toute la clique (merci 777jon). Reste à le flasher. Une fois que vous êtes root, allez dans le dossier « 6-TWRP », maintenez la touche majuscule enfoncée et faites un clic droit, ce qui vous proposera d’ouvrir une invite de commande. Idem, c’est le recovery du d855, pour une aure variante, récupérez-le ici.

Entrez-y : adb.exe push recovery.img /sdcard/, adb.exe shell, puis su. Autorisez le shell sur le téléphone. Vous êtes maintenant root. Entrez : dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/recovery, puis dd if=/sdcard/recovery.img of=/dev/block/platform/msm_sdcc.1/by-name/recovery.

Entrez maintenant 2 fois exit, puis finalement adb.exe reboot recovery. Votre téléphone devrait redémarrer sous TWRP !

Libre à vous de flasher un backup EFS, un backup intégral…

 

Et moi j’ai pas de backup ?

C’est dommage. Je n’ai pas testé, mais plusieurs utilisateurs du forum XDA indiquent que la méthode du G2 fonctionne sur le G3. Elle est disponible (en anglais) chez DroidViews.

 

C’est fini !

Voilà voilà. Une grosse peur, 3 jours sans téléphone (j’ai survécu), et une démonstration (s’il en fallait une) que pour un bidouilleur, tout ou presque se répare. 0 côté de ça, déverrouiller le bootloader de mon premier smartphone via testpoint, c’était de la rigolade. Je suis donc revenu sous CyanogenMod 13, et tout va bien pour le moment.

Remerciements (vraiment !) à 777jon, la team codefire, l33tlinuxh4x0r, hacklockx, hyelton et xian2786 du forum XDA-developers pour leurs guides et outils qui, mis bout à bout, m’ont permis de m’en sortir.