3 votes

Impossible de flasher Qualcomm avec une image d'origine (Lenovo Tab M10 TB-X605L LTE, Android 8 Oreo)

Contexte

J'ai acheté une toute nouvelle tablette Lenovo Tab M10 TB-X605L LTE. C'est pour ma grand-mère, afin qu'elle puisse passer des appels vidéo à ses arrière-petits-enfants pendant la crise du Corona, et j'ai appris que j'avais besoin d'avoir Android 8 Oreo dessus, car Teamviewer Host doit s'y exécuter et démarrer automatiquement (ma grand-mère a presque 90 ans et elle peut utiliser un grille-pain, mais pas une tablette). Malheureusement, j'ai mis à jour vers Android 9 Pie, qui par conception ne prend pas en charge Teamviewer Host.

Problème

Je dois revenir à Android 8 Oreo, mais j'ai presque briqué ma tablette Lenovo Tab M10 en essayant de le faire. J'ai déjà passé quelques jours et lu/essayé des tonnes d'instructions/suggestions/discussions de forum, et je suis complètement bloqué. J'apprécierais vraiment de l'aide ou le conseil décisif - et surtout ma grand-mère serait vraiment heureuse de voir ses quatre arrière-petits-enfants après trois semaines de quarantaine.

Fichiers de journal

indiquent que la puce Qualcomm n'accepte pas le téléchargement

LSMA: [LMSA_Recovery] Shell Resp: Status=status_flash_download_failed
QFIL: ERREUR : fonction : sahara_rx_data : 237 Impossible de lire l'en-tête du paquet. Seulement lu 0 octets.

Cela fonctionne

  • J'ai réussi à obtenir une ROM stock Android 8 Oreo pour la M10 TB-X605L : https://www.techswizz.com/lenovo-tab-tb-x605l-stock-rom-firmware-flash-file/
  • Les fichiers XML contenus : rawprogram_unsparse.xml, patch0.xml, rawprogram0.xml.bak,
  • Je peux redémarrer en mode fastflash (redémarrer et maintenir Volume-Bas), et je peux utiliser ADB et Fastboot.
  • Je peux installer le mode de récupération TWRP (en flashant recovery.img) et démarrer/utiliser TWRP (redémarrer et maintenir Volume-Haut+Bas).
  • J'ai déverrouillé le chargeur d'amorçage.
  • J'ai installé le pilote Qualcomm_USB_Driver_v1.0 et la tablette obtient un port COM (visible dans le Gestionnaire de périphériques).

Cela ne fonctionne pas

Général

  • Je ne peux pas démarrer en mode normal (le dispositif s'arrête ou se redémarre constamment lorsque j'essaie).
  • J'ai réussi à installer Magisk (dans TWRP), mais les dispositifs ne peuvent toujours pas démarrer en mode normal par la suite, donc je ne peux pas démarrer Magisk.

Assistant intelligent Lenovo Moto (LSMA)

  • Je peux le démarrer, télécharger l'image d'origine. Lorsque j'essaie de flasher le dispositif, la barre de progression saute immédiatement à 33 %, et après quelques secondes un bouton "ÉCHEC" apparaît sans aucune information supplémentaire. Fastboot
  • Je peux flasher boot.img et recovery.img, mais system.img est divisé en system_1.img, system_2.img, etc., et lorsque je connecte ces fichiers avec packsparseimg.exe, le system.img résultant semble être invalide (les dispositifs ne démarrent pas).

QFIL

  • Je peux voir les dispositifs sur le port COM. Je peux charger rawprogram_unsparse.xml et patch0.xml.
  • Lorsque le dispositif est en ligne, j'essaie de cliquer sur Télécharger immédiatement, et j'obtiens l'une des erreurs suivantes :
  • ERREUR : fonction : sahara_rx_data : 237 Impossible de lire l'en-tête du paquet. Seulement lu 0 octets.
  • ERREUR : fonction : sahara_main : 924 Erreur de protocole Sahara
  • ERREUR : fonction : principale : 303 L'envoi de l'image en utilisant le protocole Sahara a échoué
  • Téléchargement échoué : Échec de Sahara : Échec de QSaharaServer : Échec du processus
  • ou il indique que le dispositif n'est pas en mode EDL (ce qui est facile à corriger en démarrant en mode EDL depuis TWRP, mais ensuite l'erreur sahara apparaît).

QPST

  • Je peux connecter le téléphone via la Configuration QPST (COM3, Q/QCPP-XXX (Sarah Download), USB)-
  • Lorsque j'ouvre l'application "Logiciel de téléchargement eMMC", je peux ouvrir le fichier XML Sahara rawprogram_unsparse.xml - j'espère que c'est le bon.
  • Lorsque je "Charge XML def...", je ne sais pas quel fichier XML ouvrir :
  • rawprogram_unsparse.xml et rawprogram0.xml.bak montrent une erreur "Erreur de document sur le type d'élément 'programme brut' et le nom/valeur 'true'.
  • Patch0.xml ne montre pas d'erreur, mais je pense que c'est le mauvais fichier pour "Charger XML def".
  • Le téléchargement avec "Patch0.xml" conduit à une erreur "Délai d'attente pour le dispositif" QcomDLoader.exe (1.3.2.0)
  • Je peux charger le répertoire de l'image d'origine (en appuyant sur le bouton "Charger" approprié), et régler les paramètres (programmeur eMMC : prog_emmc_firehose_8953_lite.mbn, Programme brut : rawprogram_unsparse.xml, patch0 : patch0.xml).
  • Lorsque je presse 'Démarrer', l'étape/le statut "Sahara/Flashing" apparaît pendant 5 secondes, suivi de messages "échec.

Toute aide ou suggestion est grandement appréciée.

0 votes

Avez-vous essayé de réinitialiser complètement votre appareil à ses paramètres d'usine ?

0 votes

Merci d'avoir posté! Oui, je l'ai fait avant de presque le briquer. Seul une réinitialisation d'usine permet de récupérer la version majeure d'Android qui était installée en dernier, donc cela m'a ramené à Android 9 Pie. Mais j'ai besoin de revenir à Android 8 Oreo.

0 votes

7voto

BogisW Points 121

Solution (pour le flashage des appareils Android basés sur Qualcomm)

Cela semble être une solution facile, rapide et reproductible pour flashage des appareils Android basés sur Qualcomm (tablettes, téléphones portables), donc il ne devrait pas être limité à mon type d'appareil. Vous devriez surtout lire la suite si vous avez des problèmes pour flasher un appareil Android basé sur Qualcomm avec des outils comme QcomDloader, QFIL, eMMC Software Download.

Comme j'avais des problèmes sous Windows, je suis passé à Linux, et ça a marché comme sur des roulettes. Le fait est que Windows, dans certaines circonstances, semble bloquer la communication de certains ports.

en résumé

Au lieu de Windows, utilisez un système Linux avec le programme Outil de flashage USB Qualcomm pour flasher votre appareil.

Exigences

Vous aurez besoin de

  • une image de stock du fabricant (ou toute autre image que vous aimez) pour votre appareil ; j'ai trouvé le mien aquí
  • un système basé sur Linux (par exemple, un Raspberry PI avec Rasbian installé)
  • Outil requis : ADB et Fastboot (téléchargement et instructions d'installation ci-dessous)
  • Outil requis : Qualcomm USB flashing tool for Linux par ndechesne, tonyMakkiel et ric96 (peut être téléchargé) aquí )
  • Outil recommandé : TWRP
  • votre appareil, un port USB libre et un câble USB approprié (pas de câble spécial de clignotement requis).

De plus, il est possible que vous deviez être capable de déverrouiller le bootloader de votre appareil. Je n'en suis pas sûr, car j'avais déverrouillé ma tablette avant de trouver la solution qui fonctionne.

Approche par étapes

Sauvegarde de votre appareil

Commencez par faire une sauvegarde complète et fiable de votre appareil Android.

Notez votre numéro de série

Mon appareil avait perdu son numéro de série après avoir été flashé. Je ne sais pas si cela a un impact supplémentaire - je ne l'ai pas reconnu. Vous devriez peut-être prendre note de votre numéro de série avant de flasher votre appareil.

Décompressez votre fichier image

Vous devez décompresser le fichier image. Vous devriez obtenir plusieurs fichiers, dont

  • un fichier *.mbn (le mien était `prog_emmc_firehose_8953_ddr.mbn`)
  • un fichier *.xml qui contient des informations sur la façon dont l'image doit être assemblée - le mien était `rawprogram_unsparse.xml`)
  • un fichier *.xml qui contient des informations sur la façon dont l'image doit être patchée - le mien était `patch0.xml`)

Tous ces fichiers sont adaptés au type de puce de votre appareil Android - je vous recommande vivement de ne pas essayer avec des fichiers qui ont été compilés pour d'autres puces.

Préparation sur votre dispositif Linux

J'ai configuré mon Raspberry PI 3B+ à partir de zéro avec Raspbian.

Installez ADB et Fastboot dessus :
sudo apt-get install android-tools-adb android-tools-fastboot

Téléchargez l'outil de flashage USB Qualcomm pour Linux :
git clone https://git.linaro.org/landing-teams/working/qualcomm/qdl.git

Changez pour le nouveau répertoire qdl
cd qdl

et compiler le logiciel :
make

Retourner au répertoire précédent :
cd ..

Arrêtez le gestionnaire de modem (j'ai trouvé cela dans une instruction - cela n'a rien fait car je ne l'avais pas installé).
sudo systemctl stop ModemManager

Préparez-vous à redémarrer votre appareil en mode EDL.

Option 1 : vous pouvez toujours accéder à votre système Android

Connectez vos appareils Android à votre système Linux à l'aide du câble USB.

Démarrez votre appareil Android normalement. Activez les options du développeur :

  • Ouvrez l'écran Paramètres, faites défiler l'écran jusqu'en bas, puis appuyez sur À propos du téléphone ou À propos de la tablette.
  • Faites défiler vers le bas de l'écran À propos et trouvez le numéro de construction.
  • Appuyez sept fois sur le champ du numéro de construction pour activer les options du développeur. Touchez plusieurs fois et vous verrez une notification de toast avec un compte à rebours qui indique "Vous êtes maintenant à X étapes de devenir un développeur".
  • Lorsque vous aurez terminé, vous verrez apparaître le message "Vous êtes maintenant un développeur !".
  • Appuyez sur le bouton Retour et vous verrez le menu des options du développeur juste au-dessus de la section " À propos du téléphone " dans Paramètres.
  • Pour activer le débogage USB, vous devez accéder au menu des options du développeur, faire défiler l'écran jusqu'à la section Débogage et activer le curseur " Débogage USB ".
  • Android vous demandera d'autoriser le débogage USB (à moins que vous n'ayez déjà accordé l'accès à votre système Linux auparavant). Cochez "Toujours autoriser depuis cet ordinateur" et cliquez sur "OK".

Retournez sur votre système Linux, et vérifiez la connexion :
adb devices

Si le démon n'est pas en cours d'exécution, il sera démarré.

Vous devriez voir votre appareil comme une entrée (unique) dans la liste des appareils. Sinon, vérifiez à nouveau l'appareil, la connexion et les paramètres.

Passez à Déverrouiller le bootloader ci-dessous.

Option 2 : Vous ne pouvez pas accéder à votre système Android (presque "bricked").

Les appareils Android possèdent des combinaisons de touches qui vous permettent de les démarrer dans différents modes. Veuillez vérifier sur Internet comment démarrer votre appareil en mode Mode EDL (Mode de téléchargement d'urgence). Pour mon appareil, c'est

  • appuyez sur la touche "marche-arrêt" et maintenez-la enfoncée pendant environ 20 secondes, puis relâchez-la.
  • Appuyez et maintenez la touche "Voltage vers le haut".
  • Appuyez sur la touche "on-off" et maintenez-la enfoncée (tout en maintenant la touche "vol up").
  • attendre une courte vibration
  • relâchez d'abord la touche "vol up".
  • relâchez la touche "on-off".

Attention, cela fait une différence qu'un câble USB soit connecté ou non. Connecter le câble USB peut avoir le même effet que d'appuyer sur la touche d'alimentation.

Se mettre dans le bon mode de démarrage peut vraiment être un désordre. C'est pourquoi c'est le moyen le plus simple de travailler avec TWRP (Team Win Recovery Project).

Pour ce faire, téléchargez la dernière version de TWRP . Vous avez besoin d'un fichier img approprié pour votre appareil (pour mon appareil : twrp_x605f.img ).

Redémarrez votre appareil en mode fastboot (comme décrit par le fabricant de votre appareil). Pour mon appareil, c'est

  • appuyez sur la touche "marche-arrêt" et maintenez-la enfoncée pendant environ 20 secondes, puis relâchez-la.
  • appuyez et maintenez la touche "vol down".
  • Appuyez sur la touche "on-off" et maintenez-la enfoncée (tout en maintenant la touche "vol up").
  • attendre une courte vibration
  • relâchez d'abord la touche "vol up".
  • relâchez la touche "on-off".

Si vous réussissez, l'appareil affichera "fastboot mode" dans le coin.

Connectez votre appareil avec le câble USB et vérifiez la connexion :
fastboot devices

Vous devriez voir votre appareil comme une entrée (unique) dans la liste des appareils. Sinon, vérifiez le périphérique, la connexion et essayez de redémarrer en mode fastboot.

Assurez-vous que votre fichier image TWRP est dans le répertoire courant. Installez-le en tapant
fastboot flash recovery <TWRP image file> (remplacer par le nom réel du fichier)

Redémarrez votre appareil en mode de récupération (comme décrit par le fabricant de votre appareil). Pour mon appareil, c'est

  • appuyez sur la touche "marche-arrêt" et maintenez-la enfoncée pendant environ 20 secondes, puis relâchez-la.
  • appuyez et maintenez les touches "vol up+down".
  • Appuyez sur la touche "on-off" et maintenez-la enfoncée (tout en maintenant la touche "vol up").
  • attendre une courte vibration
  • relâchez d'abord les touches "vol up+down".
  • relâchez la touche "marche-arrêt".

Si vous réussissez, TWRP démarrera. OK, il m'a fallu deux à trois tentatives pour y arriver, mais cela aide beaucoup car vous pouvez redémarrer précisément dans le mode dont vous avez besoin à partir du menu TWRP Reboot.

  • Le système démarre sur votre système.
  • La restauration revient à TWRP (ou votre menu de restauration).
  • Le chargeur de démarrage démarre en mode fastboot.
  • Les bottes EDL à EDL.

Déverrouiller le bootloader (pas sûr que ce soit nécessaire - vous pouvez essayer et sauter cette étape)

Après avoir fait cela, déverrouillez votre bootloader. Pour ce faire, démarrez votre appareil en mode fastboot

  • en utilisant la combinaison de touches, voir ci-dessus OU
  • en tapant `adb reboot bootloader` (lorsque l'appareil est connecté et que le système Android est lancé ou que TWRP est lancé), voir ci-dessus

Type
fastboot flashing unlock
et
fastboot oem unlock-go

Flashez votre appareil

Redémarrez votre appareil avec le système Android ou avec TWRP.

Préparez la commande de clignotement (en une seule ligne) et n'appuyez pas encore sur la touche entrée
./qdl --debug --storage emmc --include '<path to the unzipped firmware files>' '<path to the unzipped firmware files>/<mbn file>' '<path to the unzipped firmware files>/rawprogram_unsparse.xml' '<path to the unzipped firmware files>/patch0.xml'

Pour moi, c'était (en une ligne) et n'appuyez pas encore sur la touche entrée
./qdl --debug --storage emmc --include 'TB-X605L_USER_S000020_20180921_Q00020_ROW' 'TB-X605L_USER_S000020_20180921_Q00020_ROW/prog_emmc_firehose_8953_ddr.mbn' 'TB-X605L_USER_S000020_20180921_Q00020_ROW/rawprogram_unsparse.xml' '/TB-X605L_USER_S000020_20180921_Q00020_ROW/patch0.xml'

Ouvrez une autre invite de commande, et préparez la commande EDL de redémarrage adb reboot edl

Maintenant, profitez de ce qui suit :

  1. Exécutez la commande de flashage (comme préparé ci-dessus), elle devrait s'arrêter avec le message 'Waiting for EDL device'.
  2. Exécutez la commande reboot à partir de la deuxième invite de commande (comme préparé ci-dessus).

Notez que vous pouvez bien sûr entrer dans le mode EDL de n'importe quelle autre manière - mais certaines instructions indiquent que vous ne disposez que de quelques secondes pour lancer le mode EDL, avant que le clignotement ne soit interrompu.

L'option --debug n'est évidemment pas nécessaire, mais vous voyez beaucoup plus d'action, et le flashage prend environ 10 à 20 minutes.

Profitez de vos appareils non bloqués !

PS : La documentation de la solution a pris beaucoup de temps, et je suis un débutant ici. Je suis presque sûr que la description et la mise en forme pourraient être améliorées. Je trouverais utile que vous me donniez des conseils sous forme de commentaires sur la façon dont je pourrais améliorer la description de la réponse (au lieu de la déclasser). Merci.

0 votes

C'est une excellente réponse. Merci. J'ai essayé de mettre mon téléphone en mode EDL en court-circuitant les fils bleu et vert sur le câble USB (il y a plein de vidéos sur Youtube). Comme le téléphone ne démarre pas du tout, il n'y avait pas beaucoup d'options (il affiche "Chiffrage non réussi" et le bouton "Réinitialiser le téléphone" ne fonctionne pas). Cependant, il semble que le qdl soit bloqué. Il a seulement signalé /dev/bus/usb/001/016 et /dev/bus/usb/001/016. Avez-vous une idée si c'est normal et combien de temps cela prend pour flasher le firmware?

0 votes

@egelev Je pense honnêtement que vous devriez ouvrir une nouvelle question pour votre problème. Tout le meilleur!

1 votes

Merci! En fait, j'ai rencontré ce problème en essayant de flasher ROM avec QFIL dans un hôte Ubuntu et une machine virtuelle VirtualBox Windows 10 invité. Avec qdl de Linaro, je me débarrasse complètement de la VM, haha

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X