DISCLAIMER: Ne io ne Androidiani siamo responsabili di eventuali danni ai vostri device, ne tantomeno dell’utilizzo non consono di questa guida. Vi ricordo infatti che quanto scritto sotto è da effettuarsi SOLO su dispositivi di vostra proprietà dei quali avete il rispettivo IMEI scritto sulla scatola, qualsiasi applicazione al di fuori di questi parametri è da considerarsi nell’ILLEGALITÀ.
Siete li, col vostro nuovo Redmi Note 2 / Redmi Note 2 Prime, vi volete addentrare nel mondo del Modding e la prima cosa che vi consigliano di fare è flashare una recovery custom per fare il backup della preziosissima NVRAM, cioè dove vengono conservati parametri importanti quali l’IMEI del vostro dispositivo, cioè l’identificativo unico con il quale il dispositivo si interfaccia con i vari operatori. Scaricate l’immagine della recovery, non avete a disposizione un pc sotto mano, e quindi optate per la più pratica e veloce pratica di flasharla utilizzando una delle tante app che lo permettono, previa autorizzazione ROOT. Siete dei cretini, quindi togliete la spunta al check dell’MD5, tanto è una perdita di tempo, e via di flash. Come Murphy insegna, se qualcosa può andare storto lo farà, e nel download dell’immagine qualcosa si è corrotto e BAM: telefono bloccato e inutilizzabile su qualsiasi fronte, nessuna possibilità di utilizzare MIPhone per il ripristino perché non entra in Fastboot e tantomeno di backuppare la NVRAM perché la recovery non esiste più.
Cosa fare?
Se non è proprio possibile entrare nelle due modalità sopracitate, l’unica soluzione è utilizzare “SP_Flash_Tool” con l’ultima fastboot disponibile per il nostro dispositivo (ci sono molte guide online, non mi dilungherò sul come) e spuntando “Format All + Download”. Questa operazione riaccenderà il telefono, al quale dopo DOVRETE rimettere sempre la fastboot scaricata prima ma stavolta col tool ufficiale, cioè MIPhone, perché l’utilizzo di SP_Flash_Tool non è proprio ortodosso per il Redmi Note 2, va usato SOLO in caso di necessità estrema. Vi lascio un ottima guida di @AleBerlo + @DanieleGS qui —> (https://www.androidiani.com/forum/mo...danielegs.html ) nella quale troverete anche la ROM fastboot denominata “Hermes”.
Ora però, visto che per riaccendere il telefono avete formattato proprio tutto, sarà purtroppo sparita anche la NVRAM e noterete la fatidica scritta “Invalid IMEI” se proverete ad accendere il telefono.
Questo può accadere anche nel flash di ROM developer, ho letto di casi in cui l’aggiornamento ha wippato la NVRAM e si è presentato lo stesso problema.
Ed ora?
Ci sono alcune possibili soluzioni al problema ma sono purtroppo temporanee, nel senso che quando andrete a fare un aggiornamento o un Factory Reset per flashare una nuova ROM il problema di ripresenterà (per completezza qui —> [MIUI Device Team]How to Restore[Repair] IMEI for Redmi Note 2 - Redmi Note 2/Prime - Xiaomi MIUI Official Forum, è lo stesso della sezione Modding di Androidiani, ma vi dico anche che esiste un modo ancora più semplice utilizzando l’Engineering Mode preinstallata sul dispositivo, google vi è amico ).
Perché succede questo?
Perché in realtà la NVRAM è composta da 2 parti, una è quella che andate a modificare con qualsiasi File Manager dotato di permessi di root (come descritto nella guida sopra), cioè la cartella NVRAM dentro data e che a ogni wipe viene eliminata e poi ricreata dal sistema.
L’altra è la parte memorizzata nella flash del telefono e che, almeno teoricamente, non dovrebbe essere possibile intaccare e dalla quale il sistema ripesca il backup ad ogni installazione.
Per questo motivo chi dice che per fare il backup della NVRAM basta copiare la cartella nvram si sbaglia! Per fare un backup completo della NVRAM è necessario utilizzare alcuni tool esterni (nella sezione modding mi sembra ci sia qualche guida al riguardo) OPPURE la TWRP a partire dalla 2.8.7.0 che mette a disposizione, alla voce Backup, anche il backup della NVRAM (e qui si parla del blocco di memoria della NVRAM, quello nella flash). Teoricamente parlando infatti (e anche praticamente, grazie ad AleBerlo per il tentativo ma voi NON fatelo), se avete un amico con lo stesso identico dispositivo, potreste semplicemente prendere il suo backup, fatto con la TWRP >= 2.8.7.0, fare il Restore dal vostro dispositivo tramite TWRP di quel Backup e avreste ripristinato permanentemente l’IMEI, ma NON il vostro, avreste cioè due dispositivi con IMEI (e indirizzi Wi-FI/Bluetooth) identici, che è altamente ILLEGALE.
Come ripristinare permanentemente il VOSTRO IMEI:
Innanzitutto vi consiglio di partire da una base PERFETTAMENTE pulita, quindi se avete anche solo provato uno dei modi per il ripristino temporaneo dell’IMEI cancellate la cartella nvram, riavviate, e flashate nuovamente la fastboot come descritto nella guida di @AleBerlo e @DanieleGS. Riavviate per sicurezza e controllate di avere l’errore “Invalid IMEI”.
1) Controllate di avere tutti i driver necessari installati, vi allego nello zip contenente il tutto alcuni driver ma ne ho provate così tante che non ricordo sinceramente quali siano veramente necessari XD. Sicuramente dovrete installare quelli in “~ All MTK USB Driverv.9.2.PDanet.Adb 2015\SmartPhoneDriver\Driver_Auto_Installer_SP_MTK \Driver_Auto_Installer\SmartPhoneDriver\x64 oppure x86\spinstall.exe” con privilegi da amministratore.
2) Estraete ed installate “SP_META_exe_V1.1436.00”, cioè il tool che utilizzeremo per il ripristino (trovato su XDA)
3) Dopo aver spento completamente il dispositivo, lanciate SP_META precedentemente installato, selezionate “AP NVRAM Editor” dal menù a tendina, tornate sulla finestra principale del programma e cliccate su “Reconnect”. Se tutto va bene, il pallino comincerà a lampeggiare tra il rosso e il verde, segno che è stata avviata la ricerca del dispositivo. A questo punto, collegate il telefono spento al pc. Questa parte è un po’ odiosa, perché non sempre il telefono viene riconosciuto alla prima botta, ma dovrete perderci un po’ di tempo. Appena collegato il dispositivo mostrerà la batteria in ricarica. Tenete premuto il tasto power finché non scompare (normalmente compare sullo schermo del Redmi la classica scritta “MI” ma senza i pallini di caricamento del sistema sottostanti) e tenete d’occhio SP_META per vedere se il dispositivo viene riconosciuto, in questo caso il pallino diventerà giallo.
Allegato 155258
4) Quando il dispositivo viene riconosciuto, tornate sulla schermata dell’ AP NVRAM Editor e cliccate su “read from NVRAM”: a questo punto vi verrà chiesto un file (presente nello zip allegato), cioè “APDB_MT6795_S01_L0.MP6_W15.32”. Notate che questo file è lo stesso presente nella cartella hermes della rom fastboot utilizzata per il ripristino ed è importante che voi abbiate flashato da MIPhone la fastboot perché se proverete ad eseguire questa guida su una rom differente quando aprirete questo specifico file vi verrà restituito un errore di INCONSISTENZA tra la struttura presentata sul file e quella effettivamente sul dispositivo. Potrete proseguire la guida, cioè, ma non avrebbe alcun esisto positivo. Invece, se il dispositivo non fosse collegato correttamente, incapperete in un errore del tipo “Execution Failure”.
Quindi proseguite solo se, alla selezione del file “APDB_MT6795_S01_L0.MP6_W15.32”, verrà correttamente mostrato il filesystem sulla sinistre nell’editor aperto senza errori (infatti anche se ricevete l'errore di inconsistenza verrà mostrato il filesystem, ma, ripeto, sarò inutile modificarlo).
5) A questo punto abbiamo quasi fatto: dalla colonna a sinistra selezionate “Other LID” ed aprite la lista col + vicino, poi stessa cosa su “AP_CFG_REEB_PRODUCT_INFO_LID”, click su “1” e premete ancora su “read from NVRAM”. A destra compariranno varie cose, a voi interessa l’array “IMEI Array[4]” che aperto conterrà ulteriori valori (4 per la precisione). Visto che il nostro dispositivo è un dual sim, ci interessano i primi due, IMEI[0] e IMEI[1] che contengono a loro volta 8 array bidimensionali del tipo “imei[x]” e due ulteriori elementi “svn” e “pad”. Escludendo gli ultimi due elementi, per ripristinare l’IMEI dovrete modificare ogni singolo array bidimensionale, ognuno dei quali ora dovrebbe avere valore “0x00”, così: se il vostro IMEI è “123456780011229” dovrete modificare, a partire dal primo “imei[0]” i singoli valori con le coppie di numeri componenti il vostro IMEI ma A ROVESCIO, quindi imei[0] = “0x21”, imei[1]= “0x43” ecc ecc fino all’ultimo, imei[7] che, mancando una cifra, dovrà essere completato con “f”, quindi nel nostro caso “0xf9”.
Ripetete lo stesso procedimento anche per IMEI[1], cliccate su “save to NVRAM” e successivamente su “disconnect” dalla finestra principale del programma. Se tutto è andato bene, siete riusciti a ripristinare permanentemente il/i vostri IMEI.
Nel caso poi aveste problemi con l’indirizzo MAC del Wi-Fi, seguite lo stesso identico procedimento, ma trovate l’array specifico per il MAC Address in “RDEB LID/AP_CFG_RDEB_FILE_WIFI_LID/1” sotto il nome di “aucMacAddress”. Qui l’unica accortezza è che non dovete riempire i campi in modo inverso, ma seguendo l’ordine del vostro MAC Address (cioè se avete ab:cd:ef…. allora riempirete con “0xab”, “0xcd” ecc ecc).
Allegato 155259
Quando avete finito il tutto, riavviando dovreste essere ben contenti di notare che è sparito sia il problema dell’InvalidIMEI sia l’errore nella lista dei dispositivi WI-FI e digitando “*#06#” da tastierino potrete constatare la presenza del vostro IMEI. A questo punto, anche per controllare se tutto è stato fatto correttamente, vi consiglio nuovamente di flashare la fastboot col metodo solito, riavviare, installare la TWRP e flashare o la MIUI 7 Stabile oppure l’ultima developer disponibile. Se dopo tutto questo gli IMEI permangono, siete a cavallo.
A giusto, e questa volta riavviate in recovery e fate un bel backup di emergenza della NVRAM che fa sempre comodo
Mediafire - Zip con tutto il necessario
Voglio ringraziare tantissimo @AleBerlo e @DanieleGS che mi hanno consigliato e sostenuto durante tutto il processo di risoluzione, e anche Xmister da XDA che mi ha dato alcune dritte per arrivare alla fine.