Originariamente inviato da
LC74
_____________________________
Unbricking - flashing firmware tramite modalità Service Mode e tool MiFlash.
Mentre i tool Qualcomm (QPST, QFIL, ecc.) richiedono la presenza della modalità Diagnostica 9006 e successivamente della modalità Emergency Download 9008, il tool MiFlash è in grado di sfruttare tutti protocolli esposti dalla modalità Service Mode (che, pertanto, non si limita alle funzionalità presenti nel menù a schermo).
La modalità Service mode, accessibile con la combinazione di tasti (Volume -) + (Power), espone tutti i protocolli disponibili: ADB, Fastboot, Diag-9006, EDL-9008, USB-eMMC Download, ecc.. Per nostra fortuna, il tool MiFlash riesce a sfruttare egregiamente quest'ultima, senza i capricci dell'emulazione seriale dei protocolli proprietari Qualcomm (9006, 9008).
Cosa serve:
- Ambiente Windows 7 32 bit, avviato premendo F8 e selezionando 'Disabilita enforcement firma driver', senza alcun antivirus installato (non è sufficiente che sia disabilitato, va completamente disinstallato perché spesso le funzionalità di sandboxing o HIPS restano comunque attive).
- Cavo USB di qualità, ovvero spesso (ossia schermato) e dai connettori con un innesto saldo (nessun gioco in nessuna delle due estremità) e senza tracce di ossidazione.
- Preferibilmente una porta USB con driver stabili e che fornisca sufficiente alimentazione, meglio se USB3.0 (assolutamente, no hub USB!).
- Aver installato i driver USB Lenovo disponibili nel CD emulato che compare in Risorse del computer una volta collegato il telefono via USB.
- Tool MiFlash versione v20140509 https://docs.google.com/uc?authuser=...xport=download.
- Un'immagine firmware scompattata (non archivio .qsb) https://docs.google.com/uc?id=0B9J_8...xport=download.
Cosa Fare:
- Portare il terminale nella modalità Service Mode: 1. Togliere la batteria per 10 secondi. 2. Tenendo premuto per primo (Volume -), tenere premuto anche (Power) per almeno un paio di secondi sino a che lo schermo non si illumina (non rilasciarlo alla vibrazione). 3. Rilasciare (Volume -) solo dopo che la prima schermata di boot è scomparsa o che lo schermo abbia lampeggiato ritornando nero.
- Collegare il terminale al computer via cavo USB e attendere l'installazione di tutti i driver. Se non si è avuto modo di installare i driver Lenovo, andranno bene anche quelli reperiti automaticamente via Windows Update (non far caso ai nomi di OEM strani che compaiono quali provider del driver).
- Terminata l'installazione dei driver, installare il tool MiFlash. Una guida per i terminali Xiaomi suggerisce di rifiutare l'installazione dei driver Qualcomm e Google lanciata durante la routine di setup, ma da mia esperienza posso dire che la cosa è sostanzialmente irrilevante; al limite potete provare prima rifiutando e, in caso di problemi, reinstallare MiFlash accettando l'installazione dei driver a corredo.
- Spostare la cartella contenente il Firmware nel volume di sistema, eliminando tutti i caratteri non standard e abbreviando il più possibile il percorso (es. C:\S856\*.*).
- Lanciare MiFlash e selezionare la directory contenente il nuovo firmware tramite il pulsante a sinistra [Browse...] --> [Browse...]. Aprire la finestra di configurazione dal pulsante [Browse...] --> [Advanced...] cancellando il contenuto dei primi due campi (flash_all_except_storage.bat, nvflash_all.bat) e selezionando (se si usa il firmware linkato nel presente post), i file C:\S856\MPRG8926.mbn, C:\S856\8926_msimage.mbn, C:\S856\rawprogram0.xml, C:\S856\patch0.xml rispettivamente nel terzo, quarto, quinto e sesto campo.
- Premere in sequenza il pulsante [Refresh] e poi il pulsante [Flash], verificando che si attivi la modalità di download USB-eMMC e non una modalità di comunicazione emulata seriale (es. EDL 9008); in tal caso, ripetere la procedura di attivazione della modalità Service Mode.
- Godersi la barra di progresso che scorre, possibilmente scofanandosi di patatine e birra nel mentre.
- Avviare il terminale in modalità Android Recovery [(Volume + & Volume -) + (Power)] ed eseguire un Factory Reset (delete Data, delete Cache); <--- tip: selezionare la voce [Riavvia dispositivo] tenendo già premuto il tasto (Volume -).
- Avviare il terminale in modalità Service Mode [(Volume -) + (Power)] ed eseguire sia il Factory Reset sia il Delete Userdata (per questo sarà necessario rientrare in modalità Service Mode una seconda volta, dopo lo spegnimento del terminale successivo al Factory Reset).
- Avviare il terminale verificando che compaiano entrambe le schermate di boot; la prima in bianco e nero e la seconda con l'animazione con banda rossa. Attenzione: questa seconda animazione può richiedere alcuni minuti, in quanto il terminale in questa fase esegue l'installazione degli .apk presenti in /system e la creazione della relativa Dalvik cache. Non è normale, invece, che il terminale resti bloccato per più di 30-40 secondi sulla prima schermata di boot, quella avviene il caricamento del kernel e il montaggio del filesystem; in tal caso, togliere la batteria per 10 secondi e ripetere le operazioni di pulizia ai punti precedenti o, estrema ratio, la procedura di flashing tramite MiFlash.
Scusate la presenza di refusi, imprecisioni od omissioni. Questa è una prima bozza scritta in fretta per dare risposta a chi l'attendeva. Mi riservo di migliorare il post ovvero creare un thread apposito (che descriva anche altri aspetti come le differenze HW legate alla regionalità dei terminali, la questione Custom Recovery e Rooting, le differenze fra i vari firmware, ecc.). Spero di essere stato di aiuto a qualcuno.
L.