După cum am povestit în articolul anterior, laptopul Dell Latitude 5490 genera erori recuperabile pe magistrala PCIe a SSD-ului NVMe, cel mai probabil din cauza unei probleme de firmware. Cum metoda clasică de actualizare a BIOS-ului din linia de comandă a eșuat, n-am avut de ales și a trebuit să trec la artileria grea: rescrierea manuală a cipului de pe placa de bază.
Știind că am la îndemână un programator de memorii CH341A și experiența unei operațiuni similare prin care am dezactivat Intel ME pe T440p, m-am înarmat cu răbdare și am purces la treabă. Procesul, deși riscant, era singura soluție rămasă înainte de a returna laptopul.
Citirea, ștergerea și rescrierea
Primul pas a fost izolarea completă a plăcii de bază prin deconectarea ambelor baterii, cea principală și cea de CMOS, urmată de o descărcare completă de electricitate. Apoi, am identificat și ales în NeoProgrammer cipul de BIOS, ajutat de o fotografie macro făcută acestuia cu telefonul.
Pentru a avea acces fizic la el cu cleștele programatorului, a trebuit să demontez heatsink-ul procesorului.
Folosind aplicația NeoProgrammer, am realizat două copii de siguranță ale conținutului original, am șters complet memoria cipului și am scris un fișier .bin
nou, extras direct din executabilul de update de pe site-ul oficial Dell.
Rezultatul? O cărămidă perfectă. Laptopul nu schița niciun gest, nu se aprindea niciun LED, ventilatorul rămânea inert. Era exact rezultatul la care mă așteptam; fără transferul datelor specifice plăcii de bază (Service Tag, adresa MAC a placi de rețea etc.), noul firmware era incomplet. Scopul acestui prim test a fost doar să confirm că cipul poate fi citit, șters și scris cu programatorul meu.
Am rescris imediat backup-ul original, iar laptopul a revenit la starea inițială, cu erorile lui cu tot.
Rezolvarea problemei
Pentru că analiza și modificarea unui fișier BIOS mă depășesc complet, am apelat la comunitatea de pe forumul de specialitate Badcaps. Am explicat problema în detaliu, am atașat copia de siguranță a BIOS-ului original și am așteptat. În mod surprinzător, la doar câteva minute distanță am primit o primă versiune modificată, gata de a fi scrisă pe cip.
Zis și făcut. Am demontat din nou laptopul, am deconectat bateriile, mi-am găurit degetul arătător (nu era în instrucțiuni, dar așa sunt eu, așa-i modelul ăsta de Cristi). Am conectat programatorul, am șters cipul și am scris noul fișier.
La pornire, semne bune: laptopul a trecut prin câteva cicluri de repornire, ventilatorul a pornit și s-a oprit de mai multe ori, semn că încerca să inițializeze noul firmware. Din păcate, s-a blocat într-o buclă de restarturi fără să afișeze nimic pe ecran.
După ce am informat autorul modificării despre bucla de restarturi, mi-a venit ideea să încerc ceva ce părea contra-intuitiv: pornirea laptopului direct pe baterie. Spre surprinderea mea, a funcționat! Laptopul a pornit, am intrat în BIOS, am setat data și ora, apoi am reușit să bootez în Windows.
Odată ajuns în sistemul de operare, am relansat utilitarul oficial de update de la Dell. Spre deosebire de situația inițială, când la repornire provoca o buclă de restarturi în loc să inițieze actualizarea, de data aceasta procesul a decurs perfect. La reboot, laptopul a intrat direct în interfața de flashing și a actualizat toate componentele la zi: BIOS, firmware-ul Intel ME, controller-ul Thunderbolt etc.
Avertismentul legat de erorile AER de pe magistrala PCIe, vizibil atât în Linux cât și în Event Viewer din Windows și menționat în articolul anterior, nu a mai apărut de la actualizare. Numai timpul va spune dacă problema a fost rezolvată definitiv, dar voi reveni cu detalii dacă situația se schimbă.
Concluzie
Ce am învățat din asta? Că rezolvarea unei probleme aparent fără ieșire stă adesea într-o combinație de factori. În acest caz, fișierul de BIOS modificat de comunitate a fost cheia care a deblocat starea de protecție a laptopului, în timp ce ideea de a porni sistemul doar pe baterie a fost pasul final care a permis inițializarea corectă. Fără BIOS-ul reparat, nicio secvență de pornire nu ar fi funcționat. A fost o aventură riscantă, dar care s-a încheiat cu bine, scutindu-mă de returul produsului și oferindu-mi satisfacția unei reparații reușite.