Inleiding
De firmware van smartphones en andere 'slimme' aparraten die door fabrikanten wordt meegeleverd, is vaak verouderd, biedt niet de nieuwste functionaliteit en zit bovendien vaak vol beveiligingslekken. Zij is dan kwetsbaar voor een veelvoud van aanvallen van buitenaf.
Om deze problemen op te lossen kan de firmware van zo'n apparaat soms worden vervangen. Dit document beschrijft de voorbereiding en de procedure van het updaten van de Huawei Ascend Y550 smartphone naar de nieuwste firmware die op dat moment beschikbaar is. Over de afgelopen jaren heb ik mijn eigen toestellen op deze manier met succes geüpdatet.
Update
In september 2017 heb ik een vervolgpost geschreven, met actuele links naar downloads en documentatie. De instructies en download links in onderstaande post zijn op moment van schrijven eveneens actueel. In augustus 2018 heb ik een artikel geschreven met de instructies om de firmware zelf samen te stellen. In april 2019 heb ik dat artikel in het Engels opnieuw gepubliceerd als losstaande handleiding.
Opbouw firmware
Het geheugen van een tegenwoordige Android-smartphone is opgebouwd uit drie delen of partities:
- Boot: bevat de minimale instructies die de telefoon laten opstarten
- Recovery: bevat een mini-besturingssysteem dat gebruikt wordt om de rest van het systeem in te richten, te updaten, schoon te vegen of te bewerken
- Systeem: bevat het daadwerkelijke Android-besturingssysteem, de kernel, apps en instellingen
Deze onderdelen kunnen worden vervangen door uitgebreidere en/of veiligere alternatieven.
Voorbereidingen
Voordat met het daadwerkelijke vervangen van de firmware kan worden begonnen, moeten een aantal handelingen worden uitgevoerd.
Backups maken
Voordat je begint met het vervangen van de firmware, is het zeer verstandig om backups te maken van de bestanden en gegevens die je lief zijn, bijvoorbeeld:
- WhatsApp berichten en media
- SMS- en belgeschiedenis
- inhoud van SD kaart
Ontgrendelcode
Om een alternatieve firmware te kunnen installeren, moet de telefoon worden 'ontgrendeld'. Het toestel moet als het ware ‘vrij’ worden gemaakt van de alleenheerschappij van de fabrikant. Het opvragen van de ontgrendelcode kon vroeger op twee manieren: per online formulier en via e-mail naar Huawei. Op dit moment (april 2019) lijkt de betaalde software DC-Unlocker nog de enige mogelijkheid om de bootloader te ontgrendelen. Zonder deze code kan er geen CustomROM of Custom Recovery worden geïnstalleerd.
Installeren software (PC)
Onder GNU/Linux (Ubuntu) is de installatie van de programma’s fastboot
en
adb
eenvoudig:
sudo apt update;
sudo apt install -y android-tools-fastboot android-tools-adb;
Downloaden nieuwe firmware
- TeamWin Recovery Project (TWRP) - kies bij voorkeur versie
3.2.3-0
;
met versie3.3.0-0
kwam mijn telefoon niet verder dan het boot-logo. - Modem stuurprogramma (MD5-bestand)
- CustomROM - kies bij voorkeur het meest recente bestand
- Open GApps - kies processor architectuur (ARM), Android versie (7.1)
Procedure
Het ontgrendelen van de bootloader en installeren van een CustomROM is niet moeilijk, maar heeft één belangrijke bijwerking: het toestel wordt teruggezet naar fabrieksinstellingen, oftewel volledig gewist.
Bootloader ontgrendelen
- Zet de telefoon uit.
- Druk Power + Volume-down totdat het toestel start
(de melding ‘Device in fastboot mode’ verschijnt) - Sluit de telefoon aan via USB.
- Voer het volgende commando uit op de computer (in plaats van 123… vul je de unlock code in):
fastboot oem unlock 1234567812345678
- Het toestel wordt teruggezet naar fabrieksinstellingen.
Nieuwe Recovery
- Schakel het toestel uit.
- Druk Power + Volume-down totdat het toestel start
(de melding ‘Device in fastboot mode’ verschijnt). - Sluit de telefoon aan via USB.
- Voer het volgende commando uit op de computer:
fastboot flash recovery twrp-3.2.3-0-y550.img
- Schakel het toestel uit.
Nieuwe firmware flashen
- Schakel het toestel uit.
- Druk Power + Volume-up totdat het toestel start - het bedieiningspaneel van TWRP verschijnt.
- Sluit de telefoon aan via USB. Op de computer zijn nu het interne geheugen en eventuele SD-kaart via MTP te benaderen.
- Kies in TWRP voor
Wipe
, danAdvanced wipe
(alles behalve External SD). - Kopieer vanaf de computer de volgende bestanden naar het interne geheugen:
4xqwt_lp_modem-signed.zip
met bijbehorend.md5
-bestandlineage-14.1-20190410-UNOFFICIAL-y550.zip
met bijbehorend.md5
-bestandopen_gapps-arm-7.1-micro-20190423.zip
met bijbehorend.md5
-bestand
- Kies in TWRP voor
Install
, selecteer de drie zip bestanden in de bovenstaande volgorde. - Start het flashen.
- Kies er voor om zowel het cache- als ook het Dalvik-cache geheugen te wissen.
- Herstart het toestel. Dit kan de eerste keer behoorlijk lang duren.
Problemen oplossen
Als het toestel niet meer normaal opstart, of je ondanks alles de originele firmware terug wil installeren, kan dat met behulp van de volgende procedure.
Downloaden
- Download de originele firmware van Huawei. Dit zip-bestand bevat een bestand genaamd UPDATE.APP (ongeveer 1,5 Gbyte groot).
- Download de Huawei Firmware Extractor en installeer dit programma op een Windows-PC.
- Open hiermee het UPDATE.APP bestand en exporteer de bestanden BOOT.img, RECOVERY.img en SYSTEM.img.
Firmware flashen
- Schakel het toestel uit.
- Druk Power + Volume-down totdat het toestel start. De melding ‘Device in fastboot mode’ verschijnt.
- Sluit de telefoon aan via USB.
- Navigeer op de computer naar de map met uitgepakte
.img
bestanden en voer de volgende commando's uit:
fastboot flash boot BOOT.img;
fastboot flash recovery RECOVERY.img;
fastboot flash system SYSTEM.img;
fastboot reboot;
Het toestel start opnieuw op en is weer als nieuw (behalve dat de bootloader ontgrendeld is).