Ieri ho pubblicato un articolo che ad alcuni è sembrato di "rottura", mentre invece era solo la conferma della linea d'azione di SaggiaMente fin da principio è che si è consolidata ormai da diversi anni. La maggior parte dei SaggiUtenti lo hanno capito ed apprezzato, e questo ci ha fatto molto piacere. Alcuni hanno temuto che da oggi in poi ci saremmo messi a fare i generalisti, cosa che non succederà mai fintanto che io sarò al timone. Tuttavia la curiosità ci ha sempre spinto ad usare e provare tutti i prodotti e le piattaforme interessanti, senza limitarci solo a OS X ed iOS. Negli ultimi tempi ho ceduto alla tentazione degli smartphone "cinesi" e ne ho comprati diversi, alcuni dei quali già recensiti. Uno di questi, ovvero l'Asus Zenfone 2, è venduto anche in Italia con il firmware "adatto a noi", ma per risparmiare qualcosa l'ho preso su TinyDeal. Ho scelto il modello ZE551ML, ovvero il top di gamma con 4G di RAM e 32GB di memoria, che da noi si trova più o meno intorno ai 280€, pagandolo invece 200€.

asuse-zenfone2-view

Mi è arrivato un telefono che sembrava effettivamente italiano, ma la presenza di un caricabatterie diverso (più adattatore per le nostre reti aggiunto dal reseller), mi ha fatto capire che non era così. La conferma è arrivata iniziandolo ad usare, perché aveva un firmware instabile ma non faceva eseguire l'aggiornamento con le versioni firmware WW (codice per le internazionali) scaricate dal sito Asus. Prima di rivenderlo ho deciso di perdere qualche minuto su internet per capire meglio tutte quelle "cose strane" che gli smanettoni Android fanno da anni, ovvero root, sblocco di bootloader, custom ROM e così via. Ho scoperto che ci sono migliaia di guide che spiegano come eseguire queste operazioni su Windows ed ho provato a seguirne una qualsiasi partendo da una macchina virtuale in Parallels Desktop.

asus-zenfone2-bootloader

La procedura, che in realtà è strutturalmente più semplice dei vari jailbreak su iOS, presentava un problema nel momento in cui Windows 10 doveva "sentire" lo smartphone in modalità recovery, perché in questo stato non è ancora riconosciuto completamente come periferica su OS X e questo non riesce a trasferirla a Parallels. Ho specificato che tutti i dispositivi USB connessi dovevano immediatamente raggiunge la macchina virtuale attiva, ma non è stato sufficiente.

parallels-desktop-vm-usb

A questo punto avrei potuto fare il tutto con un computer Windows, ma è scattata la voglia di sperimentare ed ho deciso di eseguire la procedura direttamente sul Mac. Guide passo-passo di questo tipo non ne ho trovate e mi sembra che non ve ne sia nessuna in italiano. O forse c'è, ma non l'ho trovata. Inizialmente era una questione del tutto personale, quindi non ho fatto foto o screenshot dei vari passaggi (tranne quella superiore postata su Instagram), ma poi ho pensato che volendo pubblicare la recensione aveva senso spiegarvi anche come risolvere una situazione analoga alla mia. È bene precisare che sui modelli che sono già WW alla fonte il problema non sussiste e non c'è bisogno di far nulla, ma nel caso decidiate di acquistarlo in Cina per risparmiare qualche decina di euro (come ho fatto io), diventerà strettamente necessario. A me, infatti, avevano mandato un modello che veniva dichiarato WW dalle informazioni di sistema, ma in realtà era un CN (quindi cinese) su cui era stato installata una ROM pessima che non aveva neanche la possibilità di eseguire aggiornamenti tramite software (mancava proprio il pulsante!). Per fortuna ho segnato su una nota tutti i vari passaggi in modo sintetico, così ho modo di spiegarvi piuttosto chiaramente come procedere. Operazioni del genere sono sempre potenzialmente rischiose per il dispositivo, quindi qui ci va il classico disclaimer che recita più o meno così:

Qualora procuriate danni non potete ritenermi responsabile degli stessi e, soprattutto, ricordate che il produttore ed il venditore potrebbero rifiutarsi di fornirvi la garanzia in caso di problemi.

Tuttavia io non ho incontrato nessun intoppo e ritengo che chiunque abbia un minimo di competenze informatiche possa cimentarsi nell'impresa senza problemi. In realtà anche senza un background particolarmente tecnico ci si può riuscire, ma sono tenuto comunque a sconsigliarvi di armeggiare con queste cose senza possedere le opportune conoscenze, un po' come diciamo anche quando si eseguono operazioni da terminale sul Mac. Prima di proseguire dovete scaricare alcuni file immagine (recovery, boot e droidboot) da questo link, nonché anche l'ultimo firmware WW dal sito Asus (in questo momento è il 2.20.40.139).

Il primo passo fondamentale e che rende più semplici i successivi, è l'installazione del gestore di pacchetti homebrew. Tutto si traduce in una semplice riga che dovete incollare nel Terminale e poi premere invio:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Grazie a Brew sarà semplicissimo installare i tools Android, quindi aspettate che concluda le sue operazioni e poi digitate questo comando sempre sul Terminale:

brew install android-platform-tools

Ora passiamo allo smartphone, dove è necessario abilitare la modalità Developer andando in Impostazioni / Informazioni su / Informazioni sul software e tappando 7 volte di seguito sulla voce "Numero di build". Tornando indietro alle Impostazioni, apparirà in Sistema il nuovo menu "Opzioni sviluppatore". Bisogna semplicemente entrarci ed abilitare la modalità "Debug USB". Un gioco da ragazzi.

asus-zenfone2-developer

A questo punto va collegato lo smartphone ad una porta USB Mac (sconsiglio vivamente di usare un HUB) e bisogna digitare sul Terminale il seguente comando:

adb shell

Se tutto è stato fatto correttamente, apparirà un popup sullo schermo dello ZenFone 2. Bisogna accettare l'autorizzazione facendo attenzione di spuntare l'opzione per memorizzare questa scelta anche in futuro, altrimenti si interromperanno dei processi cruciali più avanti. A questo punto possono succedere due cose diverse, che descrivo per i meno esperti. Se il prompt del terminale diventa qualcosa tipo "shell@Z00A_1:/" vuol dire che si è all'interno della shell di adb e si può eseguire il prossimo comando senza scrivere adb prima. Se invece si è ritornati sulla shell bash (il prompt è quello classico, che dovrebbe terminale col vostro nome utente seguito da uno $) allora bisogna usare la forma completa:

adb reboot bootloader

Il comando riavvierà lo smartphone facendolo fermare al bootloader. Dopo aver atteso la comparsa dell'immagine con il robottino verde, inizia la fase più importante di sblocco del dispositivo. Il file Bootloader-AsusZenfone2.zip (che dovreste aver già scaricato secondo mie indicazioni) va decompresso ed al suo interno si troveranno i file recovery.img, boot.img e droidboot.img. Bisogna ora flashare tutti questi file immagine sullo smartphone tramite il Terminale con fastboot flash. Sono tre i comandi da eseguire e per ognuno di essi bisogna specificare il percorso completo del file img di riferimento. Si può fare in modo semplicissimo: basta digitare la prima parte del comando (senza dimenticare uno spazio alla fine) e poi trascinare sulla finestra del Terminale il file indicato, cosa che verrà immediatamente interpretata e trascritta con il suo path completo.

fastboot flash recovery [trascinare qui l'icona del file recovery.img]
fastboot flash boot [trascinare qui l'icona del file boot.img]
fastboot flash fastboot [trascinare qui l'icona del file droidboot.img]

Ognuna di queste operazioni richiede un po' di tempo (molto poco per la verità), ma è necessario attendere il completamento di ogni fase prima di passare alla successiva. Terminato il tutto, con i tasti volume sul retro dello Zenfone 2 si naviga nel menu fino a che appare la voce "Recovery mode", che va confermata con la pressione del tasto di accensione. Si riavvierà nuovamente lo smartphone e al termine dell'operazione (apparirà sempre il simbolo di Android) bisogna premere contemporaneamente i tasti volume up e power per entrare nel menu. Ma non è una cosa facile, anzi è piuttosto estenuante. Non si devono tenere premuti a lungo ma neanche troppo poco e non è chiaro se la pressione deve avvenire esattamente in contemporanea oppure con uno dei due qualche millesimo di secondo prima dell'altro. Io ci ho messo un paio di minuti abbondanti in cui avrò provato almeno 30 volte, quindi ci si deve rassegnare ed andare per tentativi: prima con pressioni simultanee, poi leggermente asincrone, più lunghe, più veloci, insomma, provate. Quando finalmente apparirà il menu si deve selezionare la voce "apply update from ADB" usando i tasti volume per muoversi e quello power per confermare. Sul Mac, che ovviamente deve essere sempre collegato allo smartphone e con il Terminale attivo, si può dunque avviare l'installazione del firmware precedentemente scaricato con il comando adb sideload. Anche in questo caso la cosa più semplice per digitare il nome esatto del file zip contenente la ROM comprensivo del percorso completo, è quella di scrivere la prima parte del comando, lasciare uno spazio vuoto e poi trascinare l'icona del file dal Finder sul Terminale.

adb sideload [trascinare qui l'icona del file update.zip]

L'operazione richiederà un bel po' di tempo questa volta, più o meno una ventina di minuti andando a memoria, al termine dei quali si potrà riavviare lo smartphone confermando il comando "reboot system now" con una pressione del tasto power. Fine.

Nella prossima recensione dell'Asus Zenfone 2, darò per scontato che si abbia a che fare con un modello WW o che uno CN sia stato "sbloccato" per installare il firmware internazionale. La procedura, che può sembrare lunga e macchinosa, in realtà è piuttosto semplice ed è anche sostanzialmente comune a tutti gli smartphone Android, con qualche piccola differenza in alcuni passaggi. Con questo smartphone è un "extra", nel senso che è facile acquistarlo anche da noi nella versione WW (e inoltre Asus ha anche rilasciato un'app per uno sblocco semplificato), ma con altri provenienti dalla Cina, tipo quelli di Xiaomi, diventa quasi una necessità. Ho ritenuto quindi potenzialmente utile parlarvene e metterlo nero su bianco, sia per non ripetere queste cose nella recensione del prodotto che per dimostrare come il tutto sia piuttosto accessibile alla fine dei conti e, soprattutto, perfettamente fattibile anche da Mac.